Anda dapat menelusuri kebijakan izin IAM pada resource di project, folder, atau organisasi, dan memfilter hasil yang ditampilkan menggunakan kueri.
Sebelum memulai
Aktifkan Cloud Asset Inventory API di project tempat Anda menjalankan perintah Cloud Asset Inventory.
Pastikan akun Anda memiliki peran yang benar untuk memanggil Cloud Asset Inventory API. Untuk izin individual bagi setiap jenis panggilan, lihat Izin.
Membuat kueri
Sebelum membuat kueri, sebaiknya mulai dengan permintaan penelusuran yang tidak menentukan kueri. Gunakan kolom dan nilai dari respons lengkap untuk membuat kueri menggunakan sintaksis kueri penelusuran, dan pertajam hingga hasil yang Anda inginkan ditampilkan.
Kolom yang dapat digunakan dalam kueri dijelaskan dalam
dokumentasi referensi IamPolicySearchResult
.
Perhatikan batasan berikut saat membuat kueri:
Kolom
policy
adalah objek bertingkat, sehingga hanya dapat digunakan dengan operator:
.Tidak semua jenis aset dapat ditelusuri. Lihat Jenis resource untuk mengonfirmasi apakah layanan tidak tersedia di API penelusuran.
Kolom tambahan berikut juga dapat digunakan untuk membatasi hasil Anda ke jenis akun utama, izin, atau peran tertentu:
Kolom | Deskripsi |
---|---|
memberTypes |
Berisi salah satu jenis akun utama IAM berikut:
ContohmemberTypes=user |
policy.role.permissions |
Berisi izin IAM tertentu. Contohpolicy.role.permissions=storage.buckets.create |
roles |
Berisi peran IAM tertentu. Contohroles=roles/storage.objectAdmin |
Menelusuri kebijakan izin IAM
Sebelum membuat kueri, sebaiknya mulai dengan permintaan penelusuran yang tidak menentukan kueri. Gunakan kolom dan nilai dari respons lengkap untuk membuat kueri menggunakan sintaksis kueri penelusuran, dan pertajamnya hingga hasil yang Anda inginkan ditampilkan.
Konsol
Untuk menelusuri metadata kebijakan izin IAM, selesaikan langkah-langkah berikut.
-
Buka halaman Inventaris Aset di konsol Google Cloud.
- Beralihlah ke project, folder, atau organisasi yang ingin Anda telusuri.
- Klik tab Kebijakan IAM.
-
Untuk menelusuri kebijakan izinkan, masukkan kueri di kolom Filter. Lihat Sintaksis kueri penelusuran untuk mempelajari cara menulis kueri penelusuran.
Untuk mempermudah pembuatan kueri, Anda dapat mengklik kolom Filter untuk menampilkan dan menambahkan kolom yang dapat ditelusuri yang tersedia ke kueri Anda.
Setelah melakukan penelusuran, kebijakan izin yang cocok dengan kueri akan tercantum dalam tabel Hasil. Klik dua kali kueri untuk mengeditnya, atau gunakan panel Filter hasil untuk menerapkan Preset kueri cepat atau membatasi hasil penelusuran berdasarkan kriteria tertentu.
Untuk melihat kueri sebagai perintah Google Cloud CLI, klik Lihat kueri.
Untuk mengekspor hasilnya, klik Download CSV.
gcloud
gcloud asset search-all-iam-policies \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY"
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah project ID yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah nomor project yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Selamat Datang 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 yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.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 ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada 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 tanda
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.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))"
-
-
-
QUERY
: Opsional. Ekspresi kueri. Jika tidak ditentukan atau kosong, semua resource akan ditelusuri dalam cakupan yang ditentukan. Untuk mempelajari cara menulis kueri penelusuran, lihat Sintaksis kueri penelusuran. ASSET_TYPE_#
: Opsional. Daftar jenis aset yang dapat ditelusuri yang dipisahkan koma. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok dengan jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. Jika--asset-types
tidak ditentukan, semua jenis aset akan ditampilkan.-
ORDER_BY
: Opsional. Daftar kolom yang dipisahkan koma yang menentukan urutan pengurutan hasil. Urutan defaultnya adalah menaik. TambahkanDESC
setelah nama kolom untuk menunjukkan urutan menurun. Lihat dokumentasi referensi untuk mengetahui kolom yang dapat diurutkan.
Anda dapat menggunakan flag --format
dan
--flatten
untuk memformat
output gcloud CLI.
Lihat referensi gcloud CLI untuk semua opsi.
Contoh
Jalankan perintah berikut untuk mendapatkan daftar semua instance Compute Engine (compute.googleapis.com/Instance
) di project my-project
dengan kebijakan izin IAM yang mengikat instance tersebut ke pengguna alex@example.com
. Hasilnya
diurutkan dalam urutan menurun menurut resource (resource DESC
).
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:\"user:alex@example.com\"" \ --asset-types=compute.googleapis.com/Instance \ --order-by="resource DESC"
Contoh respons
--- assetType: compute.googleapis.com/Instance folders: - folders/0000000000000 organization: organizations/0000000000000 policy: bindings: - members: - user:alex@example.com role: roles/compute.viewer - members: - user:alex@example.com role: roles/editor - members: - user:alex@example.com role: roles/owner project: projects/0000000000000 resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/debian
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllIamPolicies
Meminta isi JSON:
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN" }
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah project ID yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah nomor project yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Selamat Datang 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 yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.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 ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada 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 tanda
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang memiliki aset dengan kebijakan izin IAM yang ingin Anda telusuri.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))"
-
-
-
QUERY
: Opsional. Ekspresi kueri. Jika tidak ditentukan atau kosong, semua resource akan ditelusuri dalam cakupan yang ditentukan. Untuk mempelajari cara menulis kueri penelusuran, lihat Sintaksis kueri penelusuran. ASSET_TYPE_#
: Opsional. Array jenis aset yang dapat ditelusuri. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok dengan jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. JikaassetTypes
tidak ditentukan, semua jenis aset akan ditampilkan.-
ORDER_BY
: Opsional. Daftar kolom yang dipisahkan koma yang menentukan urutan pengurutan hasil. Urutan defaultnya adalah menaik. TambahkanDESC
setelah nama kolom untuk menunjukkan urutan menurun. Lihat dokumentasi referensi untuk mengetahui kolom yang dapat diurutkan. -
PAGE_SIZE
: Opsional. Jumlah hasil yang akan ditampilkan per halaman. Maksimumnya 500. Jika nilai ditetapkan ke0
atau nilai negatif, default yang sesuai akan dipilih.nextPageToken
ditampilkan untuk mengambil hasil berikutnya. -
PAGE_TOKEN
: Opsional. Respons permintaan yang panjang dipisahkan di beberapa halaman. JikapageToken
tidak ditentukan, halaman pertama akan ditampilkan. Halaman berikutnya dapat dipanggil menggunakannextPageToken
respons sebelumnya sebagai nilaipageToken
.
Lihat referensi REST untuk semua opsi.
Contoh perintah
Jalankan salah satu perintah berikut untuk mendapatkan daftar semua instance Compute Engine (compute.googleapis.com/Instance
) di project my-project
dengan kebijakan izin IAM yang mengikat instance tersebut ke pengguna alex@example.com
. Hasilnya
diurutkan dalam urutan menurun menurut resource (resource DESC
).
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 '{ "query": "policy:\"user:alex@example.com\"", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "resource DESC" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "policy:\"user:alex@example.com\"", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "resource DESC" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Contoh respons
{ "resource": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/debian", "project": "projects/0000000000000", "policy": { "bindings": [ { "role": "roles/compute.viewer", "members": [ "user:alex@example.com" ] }, { "role": "roles/editor", "members": [ "user:alex@example.com" ] }, { "role": "roles/owner", "members": [ "user:alex@example.com" ] } ] }, "assetType": "compute.googleapis.com/Instance", "folders": [ "folders/0000000000000" ], "organization": "organizations/0000000000000" }
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh penelusuran tambahan
Contoh kode berikut menunjukkan kueri penelusuran tertentu untuk gcloud dan REST guna membantu Anda membuat penelusuran Anda sendiri.
Resource dengan kebijakan izin IAM
Contoh berikut menunjukkan cara menelusuri semua resource dengan kebijakan izin IAM di project my-project
.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --flatten="policy.bindings[].members[]" \ --format="table(resource, policy.bindings.role, policy.bindings.members)"
REST
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Contoh perintah
curl (Linux, macOS, atau Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Resource bernama dengan kebijakan izin IAM
Contoh berikut menunjukkan cara menelusuri semua resource dengan example
dalam namanya yang memiliki kebijakan izin IAM.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="resource:example"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Meminta isi JSON:
{ "pageSize": 1, "query": "resource:example" }
Contoh perintah
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 '{ "pageSize": 1, "query": "resource:example" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "resource:example" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Kebijakan izin IAM di project, folder, dan organisasi
Contoh berikut menunjukkan cara menelusuri semua kebijakan izin IAM di semua project dan folder dalam 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
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --asset-types=cloudresourcemanager.*
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Pemilik di project
Contoh berikut menunjukkan cara menelusuri akun utama dengan
peran Pemilik (roles/owner
) di project
my-project
.
Permintaan ini hanya menampilkan akun utama yang telah diberi peran Pemilik di project. Daftar ini tidak mencakup akun utama yang mewarisi peran Pemilik melalui pewarisan kebijakan.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="roles:roles/owner" \ --asset-types=cloudresourcemanager.* \ --flatten="policy.bindings[].members[]" \ --format="table(policy.bindings.members)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Project tempat akun utama memiliki peran pemilik
Contoh berikut menunjukkan cara menelusuri project tempat alex@example.com
memiliki peran Pemilik (roles/owner
), di
organisasi dengan ID my-organization-id
.
Permintaan ini hanya menampilkan project tempat alex@example.com
telah
diberi peran Pemilik. Hal ini tidak mencakup project yang alex@example.com
telah
warisi peran Pemilik.
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
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:(roles/owner alex@example.com)" \ --asset-types=cloudresourcemanager.googleapis.com/Project \ --format="table(resource)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Peran yang dimiliki akun utama di project
Contoh berikut menunjukkan cara menelusuri peran yang dimiliki alex@example.com
di
project my-project
.
Permintaan ini hanya menampilkan peran yang diberikan alex@example.com
pada
project. Daftar ini tidak menyertakan peran yang diwarisi alex@example.com
melalui
pewarisan kebijakan.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:alex@example.com" \ --asset-types=cloudresourcemanager.googleapis.com/Project \ --flatten="policy.bindings[]" \ --format="table(policy.bindings.role)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Izin yang dimiliki akun utama di project
Contoh berikut menunjukkan cara menelusuri izin yang dimiliki alex@example.com
pada project my-project
.
Permintaan ini hanya menampilkan izin yang dimiliki alex@example.com
pada
project. Izin ini tidak mencakup izin yang diwarisi alex@example.com
melalui pewarisan kebijakan.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:alex@example.com policy.role.permissions:\"\"" \ --asset-types=cloudresourcemanager.* \ --format="default(explanation.matchedPermissions)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Akun utama yang dapat mengakses bucket Cloud Storage
Contoh berikut menunjukkan cara menelusuri akun utama yang dapat mengakses
bucket Cloud Storage dalam project my-project
.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy.role.permissions:storage.buckets" \ --asset-types=cloudresourcemanager.* \ --flatten="policy.bindings[].members[]" \ --format="table(policy.bindings.members)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Meminta isi JSON:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" }
Contoh perintah
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 '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Akun layanan yang memiliki peran pemilik
Contoh berikut menunjukkan cara menelusuri akun layanan dengan
peran Pemilik (roles/owner
) di organisasi dengan my-organization-id
. Anda dapat menggunakan kueri ini untuk membantu
mengurangi profil risiko Anda.
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
Contoh ini menggunakan perintah `grep`, yang tersedia di Cloud Shell dan sistem operasi mirip Unix.
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:(roles/owner serviceAccount)" \ --flatten="policy.bindings[].members[]" \ --format="table(resource.segment(3):label=RESOURCE_TYPE, resource.basename():label=RESOURCE, policy.bindings.members)" | grep serviceAccount
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" }
Contoh perintah
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 '{ "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Resource dengan peran yang diberikan ke domain
Contoh berikut menunjukkan cara menelusuri resource dengan peran yang diberikan ke domain example.com
, di 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
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:\"domain:example.com\"" \ --flatten="policy.bindings[]" \ --format="table(resource, policy.bindings.role)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" }
Contoh perintah
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 '{ "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Resource dengan peran yang diberikan kepada publik
Contoh berikut menunjukkan cara menelusuri resource dengan peran yang diberikan kepada publik, di 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
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="memberTypes:(allUsers OR allAuthenticatedUsers)" \ --format="table(resource)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" }
Contoh perintah
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 '{ "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Akun utama yang dapat mengubah kebijakan izin IAM di organisasi
Contoh berikut menunjukkan cara menelusuri akun utama yang dapat mengubah
kebijakan izin IAM di 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
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" \ --format="json(resource, policy.bindings, explanation.matchedPermissions)"
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
Meminta isi JSON:
{ "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" }
Contoh perintah
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 '{ "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content