Menulis analisis kebijakan ke Cloud Storage

Halaman ini menjelaskan cara menganalisis kebijakan Identity and Access Management (IAM) secara asinkron dan menulis hasilnya ke Cloud Storage. Fungsi ini sebagian besar setara dengan menganalisis kebijakan IAM, kecuali hasil analisis ditulis ke bucket Cloud Storage.

Sebelum memulai

Aktifkan Cloud Asset API.

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.

Peran dan izin yang diperlukan

Peran dan izin berikut diperlukan untuk menjalankan analisis kebijakan dan mengekspor hasilnya ke Cloud Storage.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menganalisis kebijakan dan mengekspor hasilnya ke BigQuery, minta administrator Anda untuk memberi Anda peran IAM berikut di project, folder, atau organisasi yang 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 dan mengekspor hasilnya ke BigQuery. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menganalisis kebijakan dan mengekspor hasilnya ke BigQuery:

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

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

Izin Google Workspace yang diperlukan

Jika Anda ingin melihat apakah akun utama memiliki peran atau izin tertentu karena keanggotaan mereka di grup Google Workspace, Anda memerlukan izin Google Workspace groups.read. Izin ini terdapat dalam peran Groups Reader Admin, dan dalam peran yang lebih penting seperti peran Grup Admin atau Admin Super. Lihat Menetapkan peran admin tertentu untuk mengetahui informasi selengkapnya.

Menganalisis kebijakan dan mengekspor hasil

Metode AnalyzeIamPolicyLongrunning memungkinkan Anda mengeluarkan permintaan analisis dan mendapatkan hasil dalam bucket Cloud Storage yang ditentukan.

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.
  • STORAGE_OBJECT_URI: ID resource unik objek Cloud Storage tujuan ekspor hasil analisis, dalam bentuk gs://BUCKET_NAME/OBJECT_NAME—misalnya, gs://my-bucket/analysis.json.

Jalankan perintah gcloud asset analyze-iam-policy-longrunning:

Linux, macOS, atau Cloud Shell

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS' \
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (PowerShell)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS' `
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (cmd.exe)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS' ^
    --gcs-output-path=STORAGE_OBJECT_URI

Anda akan melihat respons seperti berikut:

Analyze IAM Policy in progress.
Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.

REST

Untuk menganalisis kebijakan izin IAM dan mengekspor hasilnya ke Cloud Storage, gunakan metode analyzeIamPolicyLongrunning 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: Opsional. Nama lengkap resource resource yang aksesnya ingin Anda analisis. Untuk daftar format nama resource lengkap, lihat Format nama resource.
  • PRINCIPAL: Opsional. 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: Opsional. Izin yang ingin Anda periksa—misalnya, compute.instances.get. Jika Anda mencantumkan beberapa izin, Penganalisis Kebijakan akan memeriksa apakah ada izin yang tercantum.
  • STORAGE_OBJECT_URI: ID resource unik objek Cloud Storage tujuan ekspor hasil analisis, dalam bentuk gs://BUCKET_NAME/OBJECT_NAME—misalnya, gs://my-bucket/analysis.json.

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "outputConfig": {
      "gcsDestination": {
        "uri": "STORAGE_OBJECT_URI"
      }
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata",
    "createTime": "2022-04-12T21:31:10.753173929Z"
  }
}

Melihat hasil analisis kebijakan IAM

Untuk melihat hasil analisis kebijakan IAM Anda:

  1. Di konsol Google Cloud, buka halaman Buckets.

    Buka Bucket

  2. Buka file baru tempat Anda menulis analisis.

Hasilnya mencantumkan tuple {identity, role(s)/permission(s), resource} bersama dengan kebijakan IAM yang menghasilkan tuple tersebut.