Menganalisis kebijakan izin

Halaman ini menunjukkan cara menggunakan Penganalisis Kebijakan untuk kebijakan izinkan guna mengetahui akun utama (pengguna, akun layanan, grup, dan domain) yang memiliki akses apa ke resourceGoogle Cloud mana.

Contoh di halaman ini menunjukkan cara menjalankan kueri Analisis Kebijakan dan langsung melihat hasilnya. Jika ingin mengekspor hasil untuk analisis lebih lanjut, Anda dapat menggunakan AnalyzeIamPolicyLongrunning untuk menulis hasil kueri ke BigQuery atau Cloud Storage.

Sebelum memulai

Peran dan izin yang diperlukan

Peran dan izin berikut diperlukan untuk menganalisis kebijakan izin.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menganalisis kebijakan izin, minta administrator untuk memberi Anda peran IAM berikut pada project, folder, atau organisasi yang akan Anda tetapkan cakupan kueri Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk menganalisis kebijakan izin. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menganalisis kebijakan izin:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Untuk menganalisis kebijakan dengan peran IAM khusus: 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 Anda ingin memperluas grup dalam hasil kueri untuk melihat apakah pokok 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 berkemampuan seperti peran Admin Grup atau Admin Super. Untuk mempelajari cara memberikan peran ini, lihat Menetapkan peran admin tertentu.

Menentukan akun utama mana yang dapat mengakses resource

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa akun utama yang memiliki peran atau izin tertentu pada resource tertentu di project, folder, atau organisasi Anda. Untuk mendapatkan informasi ini, buat kueri yang menyertakan resource yang ingin Anda analisis aksesnya dan satu atau beberapa peran atau izin yang akan diperiksa.

Konsol

  1. Di konsol Google Cloud , buka halaman Policy analyzer.

    Buka halaman Analisis kebijakan

  2. Di bagian Analisis kebijakan, temukan panel berlabel Kueri kustom lalu klik Buat kueri kustom di panel tersebut.

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang ingin Anda cakupkan kuerinya. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta semua resource dalam project, folder, atau organisasi tersebut.

  4. Pilih resource yang akan diperiksa dan peran atau izin yang akan diperiksa:

    1. Di kolom Parameter 1, pilih Resource dari menu drop-down.
    2. Di kolom Resource, masukkan nama resource lengkap dari resource yang ingin Anda analisis aksesnya. Jika Anda tidak mengetahui nama resource lengkap, mulai ketik nama tampilan resource, lalu pilih resource dari daftar resource yang diberikan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, pilih Peran atau Izin.
    5. Di kolom Pilih peran atau Pilih izin, pilih peran atau izin yang ingin Anda periksa.
    6. Opsional: Untuk memeriksa peran dan izin tambahan, terus tambahkan pemilih Peran dan Izin hingga semua peran dan izin yang ingin Anda periksa tercantum.
  5. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin Anda aktifkan untuk kueri ini.

  6. Di panel Kueri kustom, klik Analisis > Jalankan kueri. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua prinsipal dengan peran atau izin yang ditentukan pada resource yang ditentukan.

    Kueri analisis kebijakan di konsol Google Cloud berjalan hingga satu menit. Setelah satu menit, konsol Google Cloud akan menghentikan kueri dan menampilkan semua hasil yang tersedia. Jika kueri tidak selesai dalam waktu tersebut, Google Cloud konsol akan menampilkan banner yang menunjukkan bahwa hasil tidak lengkap. Untuk mendapatkan lebih banyak hasil untuk kueri ini, ekspor hasil ke BigQuery.

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 nilai project, folder, atau organization.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PERMISSIONS: Daftar izin yang dipisahkan koma yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Jalankan perintah gcloud asset analyze-iam-policy:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

Anda akan menerima respons YAML dengan hasil analisis. Setiap hasil analisis mencantumkan serangkaian akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Akun utama yang memiliki salah satu izin yang ditentukan pada resource yang ditentukan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities yang ditandai.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyze-iam-policy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akun utama mana yang memiliki izin tertentu pada resource, gunakan metode analyzeIamPolicy Cloud Asset Inventory API.

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 nilai projects, folders, atau organizations.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Metode HTTP dan URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Meminta isi JSON:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Akun utama yang memiliki salah satu izin yang ditentukan pada resource yang ditentukan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities yang ditandai.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyzeIamPolicy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akun utama mana yang memiliki peran atau izin tertentu

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa akun utama yang memiliki peran atau izin tertentu pada resource Google Cloud mana pun di organisasi Anda. Untuk mendapatkan informasi ini, buat kueri yang menyertakan satu atau beberapa peran atau izin yang akan diperiksa, tetapi tidak menentukan resource.

Konsol

  1. Di konsol Google Cloud , buka halaman Policy analyzer.

    Buka halaman Analisis kebijakan

  2. Di bagian Analisis kebijakan, temukan panel berlabel Kueri kustom lalu klik Buat kueri kustom di panel tersebut.

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang ingin Anda cakupkan kuerinya. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta semua resource dalam project, folder, atau organisasi tersebut.

  4. Di kolom Parameter 1, pilih Peran atau Izin.

  5. Di kolom Pilih peran atau Pilih izin, pilih peran atau izin yang ingin Anda periksa.

  6. Opsional: Untuk memeriksa peran dan izin tambahan, lakukan hal berikut:

    1. Klik Tambahkan pemilih.
    2. Di kolom Parameter 2, pilih Peran atau Izin.
    3. Di kolom Pilih peran atau Pilih izin, pilih peran atau izin yang ingin Anda periksa.
    4. Lanjutkan menambahkan pemilih Peran dan Izin hingga semua peran dan izin yang ingin Anda periksa tercantum.
  7. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin Anda aktifkan untuk kueri ini.

  8. Di panel Kueri kustom, klik Analisis > Jalankan kueri. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua akun utama dengan peran atau izin yang ditentukan pada resource dalam cakupan.

    Kueri analisis kebijakan di konsol Google Cloud berjalan hingga satu menit. Setelah satu menit, konsol Google Cloud akan menghentikan kueri dan menampilkan semua hasil yang tersedia. Jika kueri tidak selesai dalam waktu tersebut, Google Cloud konsol akan menampilkan banner yang menunjukkan bahwa hasil tidak lengkap. Untuk mendapatkan lebih banyak hasil untuk kueri ini, ekspor hasil ke BigQuery.

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 nilai project, folder, atau organization.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • ROLES: Daftar peran yang dipisahkan koma yang ingin Anda periksa—misalnya, roles/compute.admin,roles/compute.imageUser. Jika Anda mencantumkan beberapa peran, Penganalisis Kebijakan akan memeriksa peran yang tercantum.
  • PERMISSIONS: Daftar izin yang dipisahkan koma yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Jalankan perintah gcloud asset analyze-iam-policy:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Akun utama yang memiliki salah satu peran atau izin yang ditentukan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities yang ditandai.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyze-iam-policy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akun utama mana yang memiliki peran atau izin tertentu, gunakan metode analyzeIamPolicy Cloud Asset Inventory API.

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 nilai projects, folders, atau organizations.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: Peran yang ingin Anda periksa—misalnya, roles/compute.admin. Jika Anda mencantumkan beberapa peran, Penganalisis Kebijakan akan memeriksa peran yang tercantum.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Metode HTTP dan URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Meminta isi JSON:

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Akun utama yang memiliki salah satu peran atau izin yang ditentukan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities yang ditandai.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyzeIamPolicy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akses yang dimiliki akun utama pada resource

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa peran atau izin yang dimiliki akun utama pada resource di organisasi Anda. Untuk mendapatkan informasi ini, buat kueri yang menyertakan akun utama yang aksesnya ingin Anda analisis dan resource yang aksesnya ingin Anda analisis.

Konsol

  1. Di konsol Google Cloud , buka halaman Policy analyzer.

    Buka halaman Analisis kebijakan

  2. Di bagian Analisis kebijakan, temukan panel berlabel Kueri kustom lalu klik Buat kueri kustom di panel tersebut.

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang ingin Anda cakupkan kuerinya. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta semua resource dalam project, folder, atau organisasi tersebut.

  4. Pilih resource dan principal yang akan diperiksa:

    1. Di kolom Parameter 1, pilih Resource dari menu drop-down.
    2. Di kolom Resource, masukkan nama resource lengkap dari resource yang ingin Anda analisis aksesnya. Jika Anda tidak mengetahui nama resource lengkap, mulai ketik nama tampilan resource, lalu pilih resource dari daftar resource yang diberikan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, pilih Principal dari menu drop-down.
    5. Di kolom Principal, mulai ketik nama pengguna, akun layanan, atau grup. Kemudian, pilih pengguna, akun layanan, atau grup yang aksesnya ingin Anda analisis dari daftar kepala sekolah yang diberikan.
  5. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin Anda aktifkan untuk kueri ini.

  6. Di panel Kueri kustom, klik Analisis > Jalankan kueri. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua peran yang dimiliki akun utama tertentu pada resource tertentu.

    Kueri analisis kebijakan di konsol Google Cloud berjalan hingga satu menit. Setelah satu menit, konsol Google Cloud akan menghentikan kueri dan menampilkan semua hasil yang tersedia. Jika kueri tidak selesai dalam waktu tersebut, Google Cloud konsol akan menampilkan banner yang menunjukkan bahwa hasil tidak lengkap. Untuk mendapatkan lebih banyak hasil untuk kueri ini, ekspor hasil ke BigQuery.

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 nilai project, folder, atau organization.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PRINCIPAL: Akun utama yang aksesnya ingin Anda analisis, dalam bentuk PRINCIPAL_TYPE:ID—misalnya, user:my-user@example.com. Untuk mengetahui daftar lengkap jenis akun utama, lihat ID utama.

Jalankan perintah gcloud asset analyze-iam-policy:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

Anda akan menerima respons YAML dengan hasil analisis. Setiap hasil analisis mencantumkan serangkaian akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Peran yang dimiliki akun utama pada resource yang ditentukan tercantum di kolom accesses dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom accesses yang ditandai.

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyze-iam-policy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akses yang dimiliki akun utama pada resource, gunakan metode analyzeIamPolicy Cloud Asset Inventory API.

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 nilai projects, folders, atau organizations.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PRINCIPAL: Akun utama yang aksesnya ingin Anda analisis, dalam bentuk PRINCIPAL_TYPE:ID—misalnya, user:my-user@example.com. Untuk mengetahui daftar lengkap jenis akun utama, lihat ID utama.

Metode HTTP dan URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Meminta isi JSON:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Peran yang dimiliki akun utama pada resource yang ditentukan tercantum di kolom accesses dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom accesses yang ditandai.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyzeIamPolicy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan resource yang dapat diakses oleh akun utama

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa resource mana dalam organisasi Anda yang memiliki peran atau izin tertentu untuk suatu akun utama. Untuk mendapatkan informasi ini, buat kueri yang menyertakan akun utama yang aksesnya ingin Anda analisis dan satu atau beberapa izin atau peran yang ingin Anda periksa.

Konsol

  1. Di konsol Google Cloud , buka halaman Policy analyzer.

    Buka halaman Analisis kebijakan

  2. Di bagian Analisis kebijakan, temukan panel berlabel Kueri kustom lalu klik Buat kueri kustom di panel tersebut.

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang ingin Anda cakupkan kuerinya. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta semua resource dalam project, folder, atau organisasi tersebut.

  4. Pilih akun utama yang akan diperiksa dan peran atau izin yang akan diperiksa:

    1. Di kolom Parameter 1, pilih Principal dari menu drop-down.
    2. Di kolom Principal, mulai ketik nama pengguna, akun layanan, atau grup. Kemudian, pilih pengguna, akun layanan, atau grup yang aksesnya ingin Anda analisis dari daftar kepala sekolah yang diberikan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, pilih Peran atau Izin.
    5. Di kolom Pilih peran atau Pilih izin, pilih peran atau izin yang ingin Anda periksa.
    6. Opsional: Untuk memeriksa peran dan izin tambahan, terus tambahkan pemilih Peran dan Izin hingga semua peran dan izin yang ingin Anda periksa tercantum.
  5. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin Anda aktifkan untuk kueri ini.

  6. Di panel Kueri kustom, klik Analisis > Jalankan kueri. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua resource tempat akun utama yang ditentukan memiliki peran atau izin yang ditentukan.

    Kueri analisis kebijakan di konsol Google Cloud berjalan hingga satu menit. Setelah satu menit, konsol Google Cloud akan menghentikan kueri dan menampilkan semua hasil yang tersedia. Jika kueri tidak selesai dalam waktu tersebut, Google Cloud konsol akan menampilkan banner yang menunjukkan bahwa hasil tidak lengkap. Untuk mendapatkan lebih banyak hasil untuk kueri ini, ekspor hasil ke BigQuery.

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 nilai project, folder, atau organization.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • PRINCIPAL: Akun utama yang aksesnya ingin Anda analisis, dalam bentuk PRINCIPAL_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, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Jalankan perintah gcloud asset analyze-iam-policy:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

Anda akan menerima respons YAML dengan hasil analisis. Setiap hasil analisis mencantumkan serangkaian akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Resource yang memiliki izin tertentu yang ditentukan untuk akun utama tertentu tercantum di kolom resources dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom resources yang ditandai.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyze-iam-policy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan resource mana yang dapat diakses oleh akun utama, gunakan metode analyzeIamPolicy Cloud Asset Inventory API.

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 nilai projects, folders, atau organizations.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • PRINCIPAL: Akun utama yang aksesnya ingin Anda analisis, dalam bentuk PRINCIPAL_TYPE:ID—misalnya, user:my-user@example.com. Untuk mengetahui daftar lengkap jenis akun utama, lihat ID utama.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.

Metode HTTP dan URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Meminta isi JSON:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Resource yang memiliki izin tertentu yang ditentukan untuk akun utama tertentu tercantum di kolom resources dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom resources yang ditandai.

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyzeIamPolicy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akses pada waktu tertentu

Jika diberi konteks yang cukup, Penganalisis Kebijakan dapat menganalisis binding peran bersyarat IAM yang hanya memberikan akses pada waktu tertentu. Kondisi ini disebut kondisi tanggal/waktu. Agar Penganalisis Kebijakan dapat menganalisis pengikatan peran secara akurat dengan kondisi tanggal/waktu, Anda perlu menentukan waktu akses dalam permintaan.

Penganalisis Kebijakan juga dapat menganalisis kondisi resource tanpa input pengguna tambahan. Untuk mengetahui informasi selengkapnya tentang cara kerja Penganalisis Kebijakan dengan kondisi, lihat Akses bersyarat.

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 nilai project, folder, atau organization.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • PERMISSIONS: Opsional. Daftar izin yang dipisahkan koma yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.
  • FULL_RESOURCE_NAME: Opsional. Nama resource lengkap dari resource yang ingin Anda analisis aksesnya. Untuk daftar format nama lengkap resource, lihat Format nama resource.
  • PERMISSIONS: Opsional. Daftar izin yang dipisahkan koma yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.
  • ACCESS_TIME: Waktu yang ingin Anda periksa. Waktu ini harus di masa mendatang. Gunakan stempel waktu dalam format RFC 3339—misalnya, 2099-02-01T00:00:00Z.

Jalankan perintah gcloud asset analyze-iam-policy:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

Anda akan menerima respons YAML dengan hasil analisis. Setiap hasil analisis mencantumkan serangkaian akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Jika Anda menyertakan waktu akses dalam permintaan, Penganalisis Kebijakan dapat mengevaluasi kondisi tanggal/waktu. Jika kondisi bernilai salah (false), peran tersebut tidak disertakan dalam respons. Jika kondisi bernilai benar, hasil evaluasi kondisi akan dicantumkan sebagai TRUE.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyze-iam-policy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan prinsipal mana yang akan memiliki izin tertentu pada resource pada waktu tertentu, gunakan metode analyzeIamPolicy Cloud Asset Inventory API.

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 nilai projects, folders, atau organizations.
  • 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. ID project adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Opsional. Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.
  • FULL_RESOURCE_NAME: Opsional. Nama resource lengkap dari resource yang ingin Anda analisis aksesnya. Untuk daftar format nama lengkap resource, lihat Format nama resource.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Opsional. Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa izin yang tercantum.
  • ACCESS_TIME: Waktu yang ingin Anda periksa. Waktu ini harus di masa mendatang. Gunakan stempel waktu dalam format RFC 3339—misalnya, 2099-02-01T00:00:00Z.

Metode HTTP dan URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Meminta isi JSON:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON dengan hasil analisis. Setiap hasil analisis menjelaskan pengikatan peran IAM yang relevan, lalu mencantumkan resource, akses, dan prinsipal dalam pengikatan tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga mencakup hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Jika Anda menyertakan waktu akses dalam permintaan, Penganalisis Kebijakan dapat mengevaluasi kondisi tanggal/waktu. Jika kondisi bernilai salah (false), peran tersebut tidak disertakan dalam respons. Jika kondisi bernilai benar, nilai evaluasi kondisi dalam respons analisis adalah TRUE.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Jika permintaan kehabisan waktu sebelum kueri selesai, Anda akan mendapatkan error DEADLINE_EXCEEDED. Untuk mendapatkan lebih banyak hasil untuk kueri ini, tulis hasil ke BigQuery atau Cloud Storage menggunakan versi yang berjalan lama dari analyzeIamPolicy. Untuk mengetahui petunjuknya, lihat Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Aktifkan opsi

Anda dapat mengaktifkan opsi berikut untuk menerima hasil kueri yang lebih mendetail.

Konsol

Opsi Deskripsi
Mencantumkan resource dalam resource yang cocok dengan kueri Anda Jika Anda mengaktifkan opsi ini, daftar hasil kueri akan mencantumkan hingga 1.000 resource turunan yang relevan untuk resource induk (project, folder, dan organisasi) dalam hasil kueri.
Mencantumkan pengguna individu di dalam grup

Jika Anda mengaktifkan opsi ini, semua grup dalam hasil kueri akan diuraikan menjadi anggota individual. Jika Anda memiliki izin grup yang memadai, grup bertingkat juga akan diperluas. Perluasan ini dibatasi hingga 1.000 anggota per grup.

Opsi ini hanya tersedia jika Anda tidak menentukan pokok dalam kueri.

Mencantumkan izin dalam peran

Jika Anda mengaktifkan opsi ini, hasil kueri akan mencantumkan semua izin dalam setiap peran selain peran itu sendiri.

Opsi ini hanya tersedia jika Anda tidak menentukan izin atau peran apa pun dalam kueri Anda.

gcloud

Bagian ini menjelaskan beberapa tanda umum yang dapat Anda tambahkan saat menggunakan gcloud CLI untuk menganalisis kebijakan izinkan. Untuk mengetahui daftar lengkap opsi, lihat Flag opsional.

Flag Deskripsi
--analyze-service-account-impersonation

Jika opsi ini diaktifkan, Penganalisis Kebijakan akan menjalankan kueri analisis tambahan untuk menentukan siapa yang dapat meniru identitas akun layanan yang memiliki akses tertentu ke resource tertentu. Penganalisis Kebijakan menjalankan satu kueri untuk setiap akun layanan dalam hasil kueri. Kueri ini menganalisis siapa yang memiliki izin berikut di akun layanan:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Operasi ini sangat mahal, karena secara otomatis menjalankan banyak kueri. Sebaiknya Anda mengekspor ke BigQuery atau mengekspor ke Cloud Storage menggunakan analyze-iam-policy-longrunning, bukan menggunakan analyze-iam-policy.

--expand-groups

Jika Anda mengaktifkan opsi ini, semua grup dalam hasil kueri akan diuraikan menjadi anggota masing-masing. Jika Anda memiliki izin grup yang memadai, grup bertingkat juga akan diperluas. Perluasan ini dibatasi hingga 1.000 anggota per grup.

Opsi ini hanya efektif jika Anda tidak menentukan prinsipal dalam kueri.

--expand-resources Jika Anda mengaktifkan opsi ini, daftar hasil kueri akan mencantumkan hingga 1.000 resource turunan yang relevan untuk resource induk (project, folder, dan organisasi) dalam hasil kueri.
--expand-roles

Jika Anda mengaktifkan opsi ini, hasil kueri akan mencantumkan semua izin dalam setiap peran selain peran itu sendiri.

Opsi ini hanya tersedia jika Anda tidak menentukan izin atau peran apa pun dalam kueri Anda.

--output-group-edges Jika Anda mengaktifkan opsi ini, hasil kueri akan menampilkan hubungan keanggotaan yang relevan antar-grup.
--output-resource-edges Jika Anda mengaktifkan opsi ini, hasil kueri akan menampilkan hubungan induk/turunan yang relevan antar-resource.

REST

Untuk mengaktifkan opsi apa pun, tambahkan kolom options ke kueri analisis Anda terlebih dahulu. Contoh:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

Ganti OPTIONS dengan opsi yang ingin Anda aktifkan, dalam bentuk "OPTION": true. Tabel berikut menjelaskan opsi yang tersedia:

Opsi Deskripsi
analyzeServiceAccountImpersonation

Jika opsi ini diaktifkan, Penganalisis Kebijakan akan menjalankan kueri analisis tambahan untuk menentukan siapa yang dapat meniru identitas akun layanan yang memiliki akses tertentu ke resource tertentu. Penganalisis Kebijakan menjalankan satu kueri untuk setiap akun layanan dalam hasil kueri. Kueri ini menganalisis siapa yang memiliki izin berikut di akun layanan:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Operasi ini sangat mahal, karena secara otomatis menjalankan banyak kueri. Sebaiknya Anda mengekspor ke BigQuery atau mengekspor ke Cloud Storage menggunakan AnalyzeIamPolicyLongrunning, bukan menggunakan AnalyzeIamPolicy.

expandGroups

Jika Anda mengaktifkan opsi ini, semua grup dalam hasil kueri akan diuraikan menjadi anggota masing-masing. Jika Anda memiliki izin grup yang memadai, grup bertingkat juga akan diperluas. Perluasan ini dibatasi hingga 1.000 anggota per grup.

Opsi ini hanya efektif jika Anda tidak menentukan prinsipal dalam kueri.

expandResources Jika Anda mengaktifkan opsi ini, daftar hasil kueri akan mencantumkan hingga 1.000 resource turunan yang relevan untuk resource induk (project, folder, dan organisasi) dalam hasil kueri.
expandRoles

Jika Anda mengaktifkan opsi ini, hasil kueri akan mencantumkan semua izin dalam setiap peran selain peran itu sendiri.

Opsi ini hanya tersedia jika Anda tidak menentukan izin atau peran apa pun dalam kueri Anda.

outputGroupEdges Jika Anda mengaktifkan opsi ini, hasil kueri akan menampilkan hubungan keanggotaan yang relevan antar-grup.
outputResourceEdges Jika Anda mengaktifkan opsi ini, hasil kueri akan menampilkan hubungan induk/turunan yang relevan antar-resource.

Langkah berikutnya