Di IAM, kebijakan efektif menjelaskan cara semua kebijakan induk dan ancestor dalam hierarki resource diwariskan untuk suatu resource.
Hanya izinkan kebijakan yang didukung untuk pengambilan melalui Inventaris Aset Cloud. Bentuk kontrol akses berikut tidak didukung:
Sebelum memulai
Aktifkan Cloud Asset Inventory API di project yang Anda jalankan perintah Inventaris Aset Cloud dari mereka.
Pastikan akun Anda memiliki peran yang benar untuk memanggil Cloud Asset Inventory API. Untuk masing-masing izin bagi setiap jenis panggilan, lihat Izin.
Melihat kebijakan yang efektif terkait resource
gcloud
gcloud asset get-effective-iam-policy \ --scope=SCOPE_PATH \ --names=ASSET_NAME_1,ASSET_NAME_2,...
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah project ID yang merupakan level teratas untuk memeriksa kebijakan IAM yang efektif. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah jumlah project yang merupakan level teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Welcome di Konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat judul Selamat Datang.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang dicari, buka halaman Kelola resource dan filter daftar menggunakan nama project tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tingkat teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang merupakan tingkat teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: Daftar nama lengkap aset yang dipisahkan koma.
Anda dapat mengambil kebijakan untuk maksimal 20 aset dalam satu batch.
Baca referensi gcloud CLI untuk mengetahui semua opsi.
Contoh
Jalankan perintah berikut untuk melihat kebijakan IAM yang efektif di
my-instance
instance Compute Engine yang diwarisi dari
organisasi dengan ID my-organization-id
.
Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud asset get-effective-iam-policy \ --scope=organizations/my-organization-id \ --names=//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance
Contoh respons
policyResults: - fullResourceName: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance policies: - attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project policy: bindings: - members: - user:alex@example.com - user:bola@example.com role: roles/cloudkms.admin - members: - serviceAccount:000000000000-compute@developer.gserviceaccount.com role: roles/editor - attachedResource: //cloudresourcemanager.googleapis.com/folders/000000000000 policy: bindings: - members: - user:cruz@example.com role: roles/resourcemanager.folderAdmin - members: - user:dani@example.com role: roles/resourcemanager.folderEditor - attachedResource: //cloudresourcemanager.googleapis.com/organizations/0000000000000 policy: bindings: - members: - user:hao@example.com role: organizations/0000000000000/roles/CustomProjectAdmin - members: - serviceAccount:000000000000@cloudservices.gserviceaccount.com - user:ira@example.com - user:jie@example.com role: roles/accesscontextmanager.policyAdmin
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/effectiveIamPolicies:batchGet
Meminta isi JSON:
{ "names": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ] }
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah project ID yang merupakan level teratas untuk memeriksa kebijakan IAM yang efektif. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah jumlah project yang merupakan level teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Welcome di Konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat judul Selamat Datang.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang Anda cari, pergi ke Halaman Mengelola resource dan memfilter daftar menggunakan nama proyek tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tingkat teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang merupakan tingkat teratas untuk memeriksa kebijakan IAM yang efektif.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: Array nama lengkap aset.
Anda dapat mengambil kebijakan untuk maksimum 20 aset dalam satu batch.
Lihat referensi REST untuk semua opsi.
Contoh perintah
Jalankan salah satu perintah berikut untuk melihat kebijakan IAM yang efektif di
instance Compute Engine my-instance
yang diwariskan dari
organisasi dengan ID my-organization-id
.
Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
curl (Linux, macOS, atau Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "names": [ "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" ] }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id/effectiveIamPolicies:batchGet
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "names": [ "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" ] } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id/effectiveIamPolicies:batchGet" | Select-Object -Expand Content
Contoh respons
{ "policyResults": [ { "fullResourceName": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "policies": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/my-project", "policy": { "bindings": [ { "role": "roles/cloudkms.admin", "members": [ "user:alex@example.com", "user:bola@example.com" ] }, { "role": "roles/editor", "members": [ "serviceAccount:000000000000-compute@developer.gserviceaccount.com" ] } ] } }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/000000000000", "policy": { "bindings": [ { "role": "roles/resourcemanager.folderAdmin", "members": [ "user:cruz@example.com" ] }, { "role": "roles/resourcemanager.folderEditor", "members": [ "user:dani@example.com" ] } ] } }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/000000000000", "policy": { "bindings": [ { "role": "organizations/1060291660910/roles/CustomProjectAdmin", "members": [ "user:hao@example.com" ] }, { "role": "roles/accesscontextmanager.policyAdmin", "members": [ "serviceAccount:000000000000@cloudservices.gserviceaccount.com", "user:ira@example.com", "user:jie@example.com" ] } ] } } ] } ] }