Sebelum memberikan peran Identity and Access Management (IAM) kepada pengguna untuk suatu resource, Anda mungkin ingin mengetahui peran apa saja yang tersedia untuk diberikan pada resource tertentu.
Sebelum memulai
Aktifkan IAM API.
Siapkan autentikasi.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
Anda dapat menggunakan sampel gcloud CLI di halaman ini dari salah satu lingkungan pengembangan berikut:
-
Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell.
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
-
Shell lokal: Untuk menggunakan gcloud CLI di lingkungan pengembangan lokal, instal dan initialize gcloud CLI.
C++
Untuk menggunakan contoh C++ di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
C#
Untuk menggunakan contoh .NET di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Go
Untuk menggunakan contoh Go di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Java
Untuk menggunakan contoh Java di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Python
Untuk menggunakan contoh Python di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
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.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mencantumkan peran yang dapat diberikan,
mintalah administrator untuk memberi Anda
peran IAM Security Reviewer (roles/iam.securityReviewer
) pada resource yang ingin Anda cantumkan peran yang dapat diberikan.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin
getIamPolicy
untuk semua jenis resource. Untuk mencantumkan peran yang dapat diberikan, Anda memerlukan izin getIamPolicy
untuk resource tempat Anda ingin mencantumkan peran yang dapat diberikan—misalnya, untuk mencantumkan peran yang dapat diberikan untuk sebuah project, Anda memerlukan izin resourcemanager.projects.getIamPolicy
.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Memahami peran yang dapat diberikan
Suatu Peran dapat diberikan pada atau di atas resource jika berisi izin apa pun untuk
jenis resource tersebut. Misalnya, peran storage.admin
memberikan izin ke
API storage.buckets.get
dan storage.objects.get
, sehingga dapat diberikan pada
jenis resource Buket Penyimpanan dan Objek Penyimpanan.
Peran juga dapat diberikan "di atas" jenis resource yang izinnya
ditentukan. Dengan kata lain, peran untuk resource level lebih rendah dapat diberikan
pada resource yang lebih tinggi dalam hierarki resource Google Cloud. Misalnya, peran storage.admin
juga dapat diberikan pada level project atau
organisasi, selain Bucket Penyimpanan.
Izin yang diberikan oleh peran hanya memengaruhi resource pada level yang ditentukan atau
di bawahnya; tidak memengaruhi resource tingkat yang lebih tinggi atau sejajar. Selain itu, jika suatu
peran diberikan pada suatu resource, hanya izin yang berlaku untuk resource tersebut
yang akan diberikan, terlepas dari nama, deskripsi, atau izin peran lainnya yang
dimilikinya. Misalnya, menetapkan peran resourcemanager.organizationAdmin
(yang memberikan izin resourcemanager.projects.list
) kepada pengguna di
level project hanya akan memberinya izin untuk project tertentu tersebut. Tindakan ini
tidak akan mengizinkan mereka mencantumkan atau mengelola semua project di organisasi.
Demikian pula, menetapkan peran compute.admin
pada instance Compute Engine
tertentu hanya akan memberikan izin untuk instance tersebut, bukan instance lain dalam project tersebut.
Mencantumkan peran yang dapat diberikan
Anda dapat mencantumkan peran yang dapat diberikan menggunakan konsol Google Cloud, Google Cloud CLI, IAM API, atau library klien IAM.
Konsol Google Cloud selalu mencantumkan semua peran yang dapat diberikan untuk resource yang Anda lihat. Google Cloud CLI, IAM API, dan library klien hanya mencantumkan peran yang dapat diberikan untuk API yang diaktifkan.
Konsol
Untuk melihat peran yang dapat diberikan untuk project, folder, atau organisasi, lakukan hal berikut:
Di konsol Google Cloud, buka halaman IAM.
Klik Pilih project di bagian atas halaman.
Pilih project, folder, atau organisasi tempat Anda ingin melihat peran yang dapat diberikan.
Klik
Grant access.Klik Pilih peran. Menu ini menampilkan semua peran, termasuk peran khusus, yang dapat Anda berikan pada resource ini.
Untuk melihat peran yang dapat diberikan untuk jenis resource lainnya, lakukan hal berikut:
Di konsol Google Cloud, buka halaman yang mencantumkan resource tempat Anda ingin melihat peran yang dapat diberikan.
Misalnya, untuk mengelola akses ke instance Compute Engine, buka halaman Instance VM.
Pilih kotak centang di samping resource yang ingin Anda lihat peran yang dapat diberikan.
Pastikan panel info terlihat. Jika tidak terlihat, klik Tampilkan panel info.
Klik
Tambahkan akun utama.Klik Pilih peran. Menu ini menampilkan semua peran, termasuk peran khusus, yang dapat Anda berikan pada resource ini.
gcloud
Gunakan perintah gcloud iam list-grantable-roles
untuk menampilkan daftar semua peran yang dapat diterapkan ke resource
tertentu.
gcloud iam list-grantable-roles full-resource-name
Bergantung pada resource yang diinginkan, sejumlah besar peran dapat ditampilkan. Untuk membatasi hasil, Anda dapat menentukan ekspresi filter.
Outputnya akan terlihat seperti ini:
description: Full control of all Compute Engine resources.
name: roles/compute.admin
title: Compute Admin
---
description: Full control of Compute Engine instance resources.
name: roles/compute.instanceAdmin
title: Compute Instance Admin
# Additional results here...
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 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.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.queryGrantableRoles
menampilkan daftar semua peran yang dapat diberikan pada resource.
Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:
FULL_RESOURCE_NAME
: URI yang terdiri dari nama layanan dan jalur ke resource. Misalnya, lihat Nama resource lengkap.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Meminta isi JSON:
{ "fullResourceName": "FULL_RESOURCE_NAME" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
Pada contoh di atas, nama resource lengkap adalah URI tanpa skema yang terdiri dari nama layanan API yang kompatibel dengan DNS dan jalur resource.
Misalnya, untuk menampilkan semua peran yang dapat diberikan pada suatu project, gunakan:
//cloudresourcemanager.googleapis.com/projects/project-id
Resource dengan level lebih rendah memiliki nama yang sepenuhnya memenuhi syarat dan lebih mendetail. Misalnya, gunakan perintah berikut untuk menampilkan semua peran yang dapat diberikan pada instance Compute Engine:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Langkah selanjutnya
- Baca tentang peran IAM yang tersedia.
- Cari tahu cara memilih peran bawaan yang paling sesuai.
- Pelajari cara memberikan, mengubah, dan mencabut akses akun utama.
- Lihat contoh nama resource untuk berbagai jenis resource.