Menganalisis kebijakan izin

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

Contoh di halaman ini menunjukkan cara menjalankan kueri Analisis Kebijakan dan langsung melihat hasilnya. Jika ingin mengekspor hasilnya 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 diperlukan guna menganalisis kebijakan izin, minta administrator untuk memberi Anda peran IAM berikut pada project, folder, atau organisasi yang akan menjadi 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 ingin memperluas grup dalam hasil kueri untuk 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 berkemampuan seperti peran Admin Grup atau Admin Super. Untuk mempelajari cara memberikan peran ini, lihat Menetapkan peran admin tertentu.

Menentukan akun utama 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 aksesnya ingin Anda analisis dan satu atau beberapa peran atau izin yang akan diperiksa.

Konsol

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

    Buka halaman Policy analyzer

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

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang cakupan kuerinya ingin Anda tentukan. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta resource apa pun 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 aksesnya ingin Anda analisis. Jika Anda tidak mengetahui nama resource lengkap, mulailah mengetik nama tampilan resource, lalu pilih resource dari daftar resource yang disediakan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, pilih Role atau Permission.
    5. Di kolom Select a role atau Select a permission, pilih peran atau izin yang ingin Anda periksa.
    6. Opsional: Untuk memeriksa peran dan izin tambahan, terus tambahkan pemilih Role dan Permission 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 Custom query, klik Analyze > Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil semua akun utama 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, konsol Google Cloud akan menampilkan banner yang menunjukkan bahwa hasilnya 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama resource lengkap dari 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, Policy Analyzer 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 kumpulan 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 waktu tunggu permintaan habis 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 analyze-iam-policy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama resource lengkap dari 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, Policy Analyzer 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum 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 waktu tunggu permintaan habis 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 analyzeIamPolicy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akun utama yang memiliki peran atau izin tertentu

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa akun utama mana yang memiliki peran atau izin tertentu pada resource Google Cloud 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 Policy analyzer

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

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

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

  5. Di kolom Select a role atau Select a permission, 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 Role atau Permission.
    3. Di kolom Select a role atau Select a permission, 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 Custom query, klik Analyze > Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil semua akun utama dengan peran atau izin yang ditentukan pada resource dalam cakupan apa pun.

    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, konsol Google Cloud akan menampilkan banner yang menunjukkan bahwa hasilnya 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • ROLES: Daftar yang dipisahkan koma untuk peran yang ingin Anda periksa—misalnya, roles/compute.admin,roles/compute.imageUser. Jika Anda mencantumkan beberapa peran, Policy Analyzer 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, Policy Analyzer 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum sebagai CONDITIONAL.

Akun utama yang memiliki 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 waktu tunggu permintaan habis 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 analyze-iam-policy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akun utama 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa 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, Policy Analyzer 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum sebagai CONDITIONAL.

Akun utama yang memiliki 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 waktu tunggu permintaan habis 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 analyzeIamPolicy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel 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 Policy analyzer

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

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

  4. Pilih resource dan akun utama 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 aksesnya ingin Anda analisis. Jika Anda tidak mengetahui nama resource lengkap, mulailah mengetik nama tampilan resource, lalu pilih resource dari daftar resource yang disediakan.
    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 akun utama yang disediakan.
  5. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin Anda aktifkan untuk kueri ini.

  6. Di panel Custom query, klik Analyze > Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil semua peran yang dimiliki akun utama 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, konsol Google Cloud akan menampilkan banner yang menunjukkan bahwa hasilnya 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama resource lengkap dari 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 kumpulan 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 waktu tunggu permintaan habis 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 analyze-iam-policy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama resource lengkap dari 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum 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 waktu tunggu permintaan habis 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 analyzeIamPolicy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan resource yang dapat diakses akun utama

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa resource mana dalam organisasi Anda yang memiliki peran atau izin tertentu untuk 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 Policy analyzer

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

  3. Di kolom Select query scope, pilih project, folder, atau organisasi yang cakupan kuerinya ingin Anda tentukan. Penganalisis Kebijakan akan menganalisis akses untuk project, folder, atau organisasi tersebut, serta resource apa pun 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 akun utama yang disediakan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, pilih Role atau Permission.
    5. Di kolom Select a role atau Select a permission, 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 Custom query, klik Analyze > Run query. 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, konsol Google Cloud akan menampilkan banner yang menunjukkan bahwa hasilnya 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa 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, Policy Analyzer 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 kumpulan 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 tempat akun utama yang ditentukan memiliki salah satu izin yang ditentukan 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 waktu tunggu permintaan habis 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 analyze-iam-policy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan resource yang dapat diakses 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa 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, Policy Analyzer 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum sebagai CONDITIONAL.

Resource tempat akun utama yang ditentukan memiliki salah satu izin yang ditentukan 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 waktu tunggu permintaan habis 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 analyzeIamPolicy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akses pada waktu tertentu

Jika diberi konteks yang memadai, Policy Analyzer dapat menganalisis binding peran bersyarat IAM yang hanya memberikan akses pada waktu tertentu. Kondisi ini disebut kondisi tanggal/waktu. Agar Penganalisis Kebijakan dapat menganalisis binding peran dengan kondisi tanggal/waktu secara akurat, 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa 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, Policy Analyzer akan memeriksa izin yang tercantum.
  • FULL_RESOURCE_NAME: Opsional. Nama resource lengkap dari resource yang aksesnya ingin Anda analisis. 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, Policy Analyzer 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 kumpulan 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, peran tersebut tidak akan 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 waktu tunggu permintaan habis 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 analyze-iam-policy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akun utama 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 cakup dalam penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda jadikan cakupan penelusuran. Hanya kebijakan izin IAM yang dilampirkan ke resource ini dan turunannya yang akan dianalisis. Project ID berupa 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 aksesnya ingin Anda analisis. 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 binding peran IAM yang relevan, lalu mencantumkan resource, akses, dan akun utama dalam binding tersebut. Jika binding peran bersifat bersyarat, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tidak dapat dievaluasi, hasilnya akan tercantum sebagai CONDITIONAL.

Jika Anda menyertakan waktu akses dalam permintaan, Penganalisis Kebijakan dapat mengevaluasi kondisi tanggal/waktu. Jika kondisi bernilai salah, peran tersebut tidak akan 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 waktu tunggu permintaan habis 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 analyzeIamPolicy yang berjalan lama. Untuk mengetahui petunjuknya, lihat artikel Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Mengaktifkan 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, hasil kueri akan mencantumkan hingga 1.000 resource turunan yang relevan untuk resource induk apa pun (project, folder, dan organisasi) dalam hasil kueri.
Mencantumkan pengguna individu di dalam grup

Jika Anda mengaktifkan opsi ini, setiap grup dalam hasil kueri akan diperluas menjadi masing-masing anggota. 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 akun utama dalam kueri.

Mencantumkan izin dalam peran

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

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

gcloud

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

Tanda Deskripsi
--analyze-service-account-impersonation

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

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

Ini adalah operasi yang sangat mahal, karena secara otomatis mengeksekusi 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, setiap grup dalam hasil kueri akan diperluas menjadi masing-masing anggota. 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 akun utama dalam kueri.

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

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

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

--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 akun layanan yang memiliki akses yang ditentukan ke resource yang ditentukan. Policy Analyzer menjalankan satu kueri untuk setiap akun layanan dalam hasil kueri. Kueri ini menganalisis siapa yang memiliki salah satu izin berikut di akun layanan:

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

Ini adalah operasi yang sangat mahal, karena secara otomatis mengeksekusi banyak kueri. Sebaiknya Anda mengekspor ke BigQuery atau mengekspor ke Cloud Storage menggunakan AnalyzeIamPolicyLongrunning, bukan menggunakan AnalyzeIamPolicy.

expandGroups

Jika Anda mengaktifkan opsi ini, setiap grup dalam hasil kueri akan diperluas menjadi masing-masing anggota. 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 akun utama dalam kueri.

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

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

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

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 selanjutnya