Sebagian besar resource Google Cloud mengekspos metode testIamPermissions()
, yang
memungkinkan Anda secara terprogram memeriksa apakah pemanggil yang saat ini terautentikasi
telah diberi satu atau beberapa izin IAM tertentu pada
resource. MetodetestIamPermissions()
ini mengambil URL resource dan
sekumpulan izin sebagai parameter input, serta menampilkan kumpulan izin yang
diizinkan oleh pemanggil.
Anda dapat menggunakan metode testIamPermissions()
untuk menentukan apakah pengguna harus
memiliki akses ke alat administratif di aplikasi web. Misalnya, Anda dapat
menggunakan metode ini untuk memutuskan apakah akan menampilkan
informasi mendetail tentang resource Google Cloud, berdasarkan izin pengguna.
Misalnya, untuk menentukan apakah pengguna yang saat ini terautentikasi memiliki izin
untuk menghapus project, panggil metode
projects.testIamPermissions()
dengan memberikan project ID (seperti foo-project
) dan izin
resourcemanager.projects.delete
sebagai parameter input. Jika pemanggil
telah diberi izin resourcemanager.projects.delete
, izin tersebut akan
tercantum dalam isi respons. Jika pemanggil tidak memiliki izin ini,
isi respons akan mencantumkan tidak ada izin.
Metode testIamPermissions()
ditujukan untuk antarmuka pengguna grafis (GUI) pihak ketiga
yang perlu menampilkan resource Google Cloud berdasarkan
hal yang dapat dilihat oleh pengguna terautentikasi. Misalnya,
Google Cloud Console secara internal menggunakan metode testIamPermissions()
untuk
menentukan resource dan fungsionalitas yang terlihat oleh Anda setelah
autentikasi. Pengguna yang berbeda biasanya diberi izin yang berbeda,
dan Google Cloud Console menyembunyikan atau mengekspos item sebagaimana mestinya.
Sebelum memulai
Enable the Resource Manager API.
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
C#
Untuk menggunakan contoh .NET di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
C++
Untuk menggunakan contoh C++ di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Java
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Python
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Peran yang diperlukan
Tidak diperlukan peran IAM untuk menguji izin.
Cara menguji izin
Contoh ini menunjukkan cara menguji izin
resourcemanager.projects.get
danresourcemanager.projects.delete
untuk project Google Cloud. Untuk menguji izin resource Google Cloud lainnya, gunakan metodetestIamPermissions()
yang diekspos oleh setiap resource. Misalnya, Anda dapat menguji izin IAM untuk bucket Cloud Storage.C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mengautentikasi ke Resource Manager, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Resource Manager, lihat library klien Resource Manager.
IAM menguji izin akun layanan yang Anda gunakan untuk membuat kredensial.
Java
Untuk mengautentikasi ke Resource Manager, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Resource Manager, lihat library klien Resource Manager.
IAM menguji izin akun layanan yang Anda gunakan untuk membuat kredensial.
Python
Untuk mengautentikasi ke Resource Manager, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Resource Manager, lihat library klien Resource Manager.
IAM menguji izin akun layanan yang Anda gunakan untuk membuat kredensial.
REST
Dalam contoh ini, pengguna memiliki peran IAM yang memungkinkan mereka untuk mendapatkan informasi tentang suatu project, tetapi tidak untuk menghapus project.
Metode
projects.testIamPermissions
Resource Manager API menerima daftar izin dan menguji izin yang dimiliki akun utama.Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google Cloud Anda Project ID adalah string alfanumerik, sepertimy-project
.
Metode HTTP dan URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Meminta isi JSON:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "permissions": [ "resourcemanager.projects.get" ] }
Langkah selanjutnya
Pelajari cara memberikan, mengubah, dan mencabut akses ke akun utama.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.