Menganalisis kebijakan IAM

Halaman ini menunjukkan cara menggunakan Penganalisis Kebijakan untuk mengetahui akun utama mana (pengguna, akun layanan, grup, dan domain), yang memiliki akses 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

  • Aktifkan Cloud Asset API.

    Mengaktifkan API

    Anda harus mengaktifkan API di project atau organisasi yang akan digunakan untuk mengirim kueri. Ini tidak harus berupa sumber daya yang sama dengan tempat Anda menentukan cakupan kueri.

  • Opsional: Pahami cara kerja Penganalisis Kebijakan.

Peran dan izin yang diperlukan

Peran dan izin berikut diperlukan untuk menganalisis kebijakan izin.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menganalisis kebijakan izin, minta administrator untuk memberi Anda peran IAM berikut di project, folder, atau organisasi yang akan menjadi cakupan kueri Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menganalisis kebijakan izin. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menganalisis kebijakan izinkan:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Untuk menganalisis kebijakan dengan peran IAM kustom: iam.roles.get
  • Untuk menggunakan Google Cloud CLI guna menganalisis kebijakan: serviceusage.services.use

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Izin Google Workspace yang diperlukan

Jika Anda ingin memperluas grup di hasil kueri untuk melihat apakah akun utama memiliki peran atau izin tertentu karena keanggotaannya dalam grup Google Workspace, Anda memerlukan izin Google Workspace groups.read. Izin ini terdapat dalam peran Groups Reader Admin, dan dalam peran yang lebih kuat seperti peran Admin Grup atau peran Admin Super. Untuk mempelajari cara memberikan peran ini, lihat artikel Menetapkan peran admin tertentu.

Menentukan akun utama yang dapat mengakses resource

Anda dapat menggunakan Penganalisis Kebijakan untuk memeriksa akun utama mana yang memiliki peran atau izin tertentu pada resource tertentu dalam 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 Penganalisis 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 tetapkan cakupan kuerinya. Policy Analyzer 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 lengkap resource yang ingin Anda analisis aksesnya. Jika Anda tidak tahu nama lengkap resource, mulai ketik nama tampilan resource, lalu pilih resource dari daftar resource yang disediakan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, 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, 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 diaktifkan untuk kueri ini.

  6. Di panel Custom query, klik Analyze > Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, serta tabel hasil dari 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 pada waktu itu, Google Cloud Console akan menampilkan banner yang menunjukkan bahwa hasilnya tidak lengkap. Untuk mendapatkan hasil lengkap kueri ini, ekspor hasilnya ke BigQuery.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource 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 apakah ada 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 sekumpulan akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Entity utama yang memiliki izin apa pun pada resource yang ditentukan tercantum dalam kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyze-iam-policy versi jangka panjang. Untuk mengetahui petunjuknya, baca Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource 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 apakah ada 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Entity utama yang memiliki izin apa pun pada resource yang ditentukan tercantum dalam kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicy versi jangka panjang. Untuk mengetahui petunjuknya, baca Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akun utama yang memiliki peran atau izin tertentu

Anda dapat menggunakan Policy Analyzer untuk memeriksa akun utama mana 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 Penganalisis 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 tetapkan cakupan kuerinya. Policy Analyzer 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 Peran atau Izin.
    3. Di kolom Select a role atau Select a permission, pilih peran atau izin yang ingin Anda periksa.
    4. Terus tambahkan pemilih Peran dan Izin hingga semua peran dan izin yang ingin Anda periksa tercantum.
  7. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin diaktifkan untuk kueri ini.

  8. Di panel Custom query, klik Analyze > Run query. Halaman laporan menunjukkan parameter kueri yang Anda masukkan, serta tabel hasil yang berisi 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 pada waktu itu, Google Cloud Console akan menampilkan banner yang menunjukkan bahwa hasilnya tidak lengkap. Untuk mendapatkan hasil lengkap kueri ini, ekspor hasilnya ke BigQuery.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan 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, Penganalisis Kebijakan akan memeriksa apakah ada 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Akun utama yang memiliki peran atau izin yang ditentukan akan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyze-iam-policy versi jangka panjang. Untuk mengetahui petunjuknya, baca 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 tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan 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 salah satu 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 apakah ada 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Akun utama yang memiliki peran atau izin yang ditentukan akan tercantum di kolom identities dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom identities 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicy versi jangka panjang. Untuk mengetahui petunjuknya, baca 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 ingin Anda analisis aksesnya.

Konsol

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

    Buka halaman Penganalisis 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 tetapkan cakupan kuerinya. Policy Analyzer 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 lengkap resource yang ingin Anda analisis aksesnya. Jika Anda tidak tahu nama lengkap resource, mulai ketik 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 ketikkan nama pengguna, akun layanan, atau grup. Kemudian, pilih pengguna, akun layanan, atau grup yang aksesnya ingin Anda analisis dari daftar akun utama yang diberikan.
  5. Opsional: Klik Lanjutkan, lalu pilih opsi lanjutan yang ingin diaktifkan untuk kueri ini.

  6. Di panel Custom query, klik Analyze > Run query. Halaman laporan menunjukkan parameter kueri yang Anda masukkan, serta tabel hasil yang berisi semua peran yang dimiliki akun utama yang ditentukan di 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 pada waktu itu, Google Cloud Console akan menampilkan banner yang menunjukkan bahwa hasilnya tidak lengkap. Untuk mendapatkan hasil lengkap kueri ini, ekspor hasilnya ke BigQuery.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource 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 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 sekumpulan akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Peran yang dimiliki akun utama pada resource yang ditentukan tercantum dalam kolom accesses dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom accesses 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyze-iam-policy versi jangka panjang. Untuk mengetahui petunjuknya, baca 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 tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • FULL_RESOURCE_NAME: Nama lengkap resource 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 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Peran yang dimiliki akun utama pada resource yang ditentukan tercantum dalam kolom accesses dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom accesses 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicy versi jangka panjang. Untuk mengetahui petunjuknya, baca 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 yang dimiliki 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 Penganalisis 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 tetapkan cakupan kuerinya. Policy Analyzer 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 ketikkan nama pengguna, akun layanan, atau grup. Kemudian, pilih pengguna, akun layanan, atau grup yang aksesnya ingin Anda analisis dari daftar akun utama yang diberikan.
    3. Klik Tambahkan pemilih.
    4. Di kolom Parameter 2, 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, 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 diaktifkan untuk kueri ini.

  6. Di panel Custom query, klik Analyze > Run query. Halaman laporan menunjukkan parameter kueri yang Anda masukkan, dan tabel hasil yang berisi semua resource tempat akun utama yang ditentukan memiliki peran atau izin yang telah 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 pada waktu itu, Google Cloud Console akan menampilkan banner yang menunjukkan bahwa hasilnya tidak lengkap. Untuk mendapatkan hasil lengkap kueri ini, ekspor hasilnya ke BigQuery.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan 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 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 apakah ada 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 sekumpulan akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Resource yang memiliki akun utama yang ditentukan yang memiliki izin tertentu tercantum dalam kolom resources dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom resources 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyze-iam-policy versi jangka panjang. Untuk mengetahui petunjuknya, baca Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan resource mana 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 tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan 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 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 apakah ada 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Resource yang memiliki akun utama yang ditentukan yang memiliki izin tertentu tercantum dalam kolom resources dalam respons. Contoh berikut menunjukkan satu hasil analisis dengan kolom resources 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicy versi jangka panjang. Untuk mengetahui petunjuknya, baca Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

Menentukan akses pada waktu tertentu

Jika konteks yang diberikan cukup, Penganalisis Kebijakan dapat menganalisis binding peran kondisional IAM yang hanya memberikan akses pada waktu tertentu. Kondisi ini disebut kondisi tanggal/waktu. Agar Penganalisis Kebijakan dapat menganalisis binding peran secara akurat dengan kondisi tanggal/waktu, Anda harus 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 tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • PERMISSIONS: Opsional. Daftar yang dipisahkan koma untuk izin yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa apakah ada izin yang tercantum.
  • FULL_RESOURCE_NAME: Opsional. Nama lengkap resource resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PERMISSIONS: Opsional. Daftar yang dipisahkan koma untuk izin yang ingin Anda periksa—misalnya, compute.instances.get,compute.instances.start. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa apakah ada izin yang tercantum.
  • ACCESS_TIME: Waktu yang ingin Anda periksa. Waktu tersebut 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 sekumpulan akses, identitas, dan resource yang relevan dengan kueri Anda, diikuti dengan binding peran IAM terkait. Jika binding peran bersifat kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya adalah CONDITIONAL.

Saat Anda menyertakan waktu akses dalam permintaan, Penganalisis Kebijakan dapat mengevaluasi kondisi tanggal/waktu. Jika kondisi bernilai false, peran tersebut tidak akan disertakan dalam respons. Jika kondisi bernilai true, hasil evaluasi kondisi akan tercantum 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyze-iam-policy versi jangka panjang. Untuk mengetahui petunjuknya, baca Menulis analisis kebijakan ke BigQuery atau Menulis analisis kebijakan ke Cloud Storage.

REST

Untuk menentukan akun utama yang akan memiliki izin tertentu atas 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 tetapkan cakupan penelusurannya. Hanya IAM yang mengizinkan kebijakan yang disertakan pada 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 IAM yang mengizinkan kebijakan yang dilampirkan ke resource ini dan ke turunannya yang akan dianalisis. ID project adalah string alfanumerik, seperti my-project. ID folder dan 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 apakah ada izin yang tercantum.
  • FULL_RESOURCE_NAME: Opsional. Nama lengkap resource resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, 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 apakah ada izin yang tercantum.
  • ACCESS_TIME: Waktu yang ingin Anda periksa. Waktu tersebut 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 kondisional, hasil analisis juga akan menyertakan hasil evaluasi kondisi. Jika kondisi tersebut tidak dapat dievaluasi, hasilnya akan dicantumkan sebagai CONDITIONAL.

Saat Anda menyertakan waktu akses dalam permintaan, Penganalisis Kebijakan dapat mengevaluasi kondisi tanggal/waktu. Jika kondisi bernilai false, peran tersebut tidak akan disertakan dalam respons. Jika kondisi bernilai true, 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 hasil lengkap kueri ini, tulis hasilnya ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicy versi jangka panjang. Untuk mengetahui petunjuknya, baca 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, hasil kueri akan mencantumkan hingga 1.000 resource turunan yang relevan untuk setiap resource induk (project, folder, dan organisasi) dalam hasil kueri.
Membuat daftar pengguna individual di dalam grup

Jika Anda mengaktifkan opsi ini, grup apa pun di hasil kueri akan diperluas 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 akun utama 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 menetapkan izin atau peran apa pun dalam kueri.

gcloud

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

Tanda 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 yang ditentukan. Penganalisis Kebijakan 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 otomatis mengeksekusi banyak kueri. Sebaiknya ekspor ke BigQuery atau ekspor ke Cloud Storage menggunakan analyze-iam-policy-longrunning, bukan menggunakan analyze-iam-policy.

--expand-groups

Jika Anda mengaktifkan opsi ini, grup apa pun di hasil kueri akan diperluas 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 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 setiap 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 menetapkan izin atau peran apa pun dalam kueri.

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

REST

Untuk mengaktifkan opsi apa pun, pertama-tama tambahkan kolom options ke kueri analisis Anda. 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 format "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 yang ditentukan. Penganalisis Kebijakan 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 otomatis mengeksekusi banyak kueri. Sebaiknya ekspor ke BigQuery atau ekspor ke Cloud Storage menggunakan AnalyzeIamPolicyLongrunning, bukan menggunakan AnalyzeIamPolicy.

expandGroups

Jika Anda mengaktifkan opsi ini, grup apa pun di hasil kueri akan diperluas 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 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 setiap 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 menetapkan izin atau peran apa pun dalam kueri.

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

Langkah selanjutnya