Halaman ini menjelaskan cara menganalisis kebijakan Identity and Access Management (IAM) secara asinkron dan menulis hasil ke Cloud Storage. Fungsi ini sebagian besar setara dengan menganalisis kebijakan IAM kecuali hasil analisis ditulis ke bucket Cloud Storage.
Sebelum memulai
Aktifkan Cloud Asset API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin
(roles/serviceusage.serviceUsageAdmin),
yang berisi izin serviceusage.services.enable. Pelajari cara memberikan
peran.
Anda harus mengaktifkan API di project yang akan digunakan untuk mengirim kueri. Project ini tidak harus merupakan resource yang sama dengan cakupan kueri Anda.
Peran dan izin yang diperlukan
Peran dan izin berikut diperlukan untuk menjalankan analisis kebijakan dan mengekspor hasilnya ke Cloud Storage.
Peran IAM yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menganalisis kebijakan dan mengekspor hasilnya ke BigQuery, minta administrator untuk memberi Anda peran IAM berikut pada project, folder, atau organisasi yang akan Anda cakupkan kueri:
- Cloud Asset Viewer (
roles/cloudasset.viewer) - Storage Object Creator (
roles/storage.objectCreator) -
Untuk menganalisis kebijakan dengan peran IAM kustom:
Role Viewer (
roles/iam.roleViewer) -
Untuk menggunakan Google Cloud CLI guna menganalisis kebijakan:
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menganalisis kebijakan dan mengekspor hasilnya ke BigQuery. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menganalisis kebijakan dan mengekspor hasilnya ke BigQuery:
-
cloudasset.assets.analyzeIamPolicy -
cloudasset.assets.searchAllResources -
cloudasset.assets.searchAllIamPolicies -
storage.objects.create -
Untuk menganalisis kebijakan dengan peran IAM kustom:
iam.roles.get -
Untuk menggunakan Google Cloud CLI guna menganalisis kebijakan:
serviceusage.services.use
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Izin Google Workspace yang diperlukan
Jika ingin melihat apakah akun utama memiliki peran atau izin tertentu sebagai hasil dari keanggotaannya dalam grup Google Workspace, Anda memerlukan izin Google Workspace groups.read. Izin ini terdapat dalam peran Admin Pembaca Grup, dan dalam peran yang lebih berdaya seperti peran Admin Grup atau Admin Super. Lihat Menetapkan peran admin tertentu untuk mengetahui informasi selengkapnya.
Menganalisis kebijakan dan mengekspor hasil
Metode
AnalyzeIamPolicyLongrunning
memungkinkan Anda mengeluarkan permintaan analisis dan mendapatkan hasil di
bucket Cloud Storageyang ditentukan.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
RESOURCE_TYPE: Jenis resource yang ingin Anda cakupkan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilaiproject,folder, atauorganization.RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda cakupkan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID adalah string alfanumerik, sepertimy-project. Folder dan ID organisasi berupa numerik, seperti123456789012.PRINCIPAL: Akun utama yang aksesnya ingin Anda analisis, dalam bentukPRINCIPAL_TYPE:ID—misalnya,user:my-user@example.com. Untuk mengetahui daftar lengkap jenis akun utama, lihat ID utama.PERMISSIONS: Daftar izin yang dipisahkan koma yang ingin Anda periksa—misalnya,compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Policy Analyzer akan memeriksa izin yang tercantum.STORAGE_OBJECT_URI: ID resource unik dari objek Cloud Storage yang ingin Anda ekspor hasil analisisnya, dalam bentukgs://BUCKET_NAME/OBJECT_NAME—misalnya,gs://my-bucket/analysis.json.
Jalankan perintah gcloud asset analyze-iam-policy-longrunning:
Linux, macOS, atau Cloud Shell
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --identity=PRINCIPAL \ --permissions='PERMISSIONS' \ --gcs-output-path=STORAGE_OBJECT_URI
Windows (PowerShell)
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --identity=PRINCIPAL ` --permissions='PERMISSIONS' ` --gcs-output-path=STORAGE_OBJECT_URI
Windows (cmd.exe)
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --identity=PRINCIPAL ^ --permissions='PERMISSIONS' ^ --gcs-output-path=STORAGE_OBJECT_URI
Anda akan melihat respons seperti berikut:
Analyze IAM Policy in progress. Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.
REST
Untuk menganalisis kebijakan izin IAM dan mengekspor hasilnya ke
Cloud Storage, gunakan metode
analyzeIamPolicyLongrunning
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
RESOURCE_TYPE: Jenis resource yang ingin Anda cakupkan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilaiprojects,folders, atauorganizations.RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda cakupkan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID adalah string alfanumerik, sepertimy-project. Folder dan ID organisasi berupa numerik, seperti123456789012.-
FULL_RESOURCE_NAME: Opsional. Nama resource lengkap dari resource yang aksesnya ingin Anda analisis. Untuk mengetahui daftar format nama resource lengkap, lihat Format nama resource. PRINCIPAL: Opsional. Akun utama yang aksesnya ingin Anda analisis, dalam bentukPRINCIPAL_TYPE:ID—misalnya,user:my-user@example.com. Untuk mengetahui daftar lengkap jenis akun utama, lihat ID utama.PERMISSION_1,PERMISSION_2...PERMISSION_N: Opsional. Izin yang ingin Anda periksa—misalnya,compute.instances.get. Jika Anda mencantumkan beberapa izin, Policy Analyzer akan memeriksa izin yang tercantum.STORAGE_OBJECT_URI: ID resource unik dari objek Cloud Storage yang ingin Anda ekspor hasil analisisnya, dalam bentukgs://BUCKET_NAME/OBJECT_NAME—misalnya,gs://my-bucket/analysis.json.
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicyLongrunning
Meminta isi JSON:
{
"analysisQuery": {
"resourceSelector": {
"fullResourceName": "FULL_RESOURCE_NAME"
},
"identitySelector": {
"identity": "PRINCIPAL"
},
"accessSelector": {
"permissions": [
"PERMISSION_1",
"PERMISSION_2",
"PERMISSION_N"
]
},
"outputConfig": {
"gcsDestination": {
"uri": "STORAGE_OBJECT_URI"
}
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003",
"metadata": {
"@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata",
"createTime": "2022-04-12T21:31:10.753173929Z"
}
}
Melihat hasil analisis kebijakan IAM
Untuk melihat hasil analisis kebijakan IAM:
Di Google Cloud konsol, buka halaman Buckets.
Buka file baru yang Anda tulis untuk analisis.
Hasilnya mencantumkan tuple {identity, role(s)/permission(s), resource} bersama dengan kebijakan IAM yang menghasilkan tuple tersebut.