Meninjau dan menerapkan rekomendasi peran untuk project, folder, dan organisasi

Halaman ini menjelaskan cara melihat, memahami, dan menerapkan rekomendasi peran untuk project, folder, dan organisasi. Rekomendasi peran membantu Anda menerapkan prinsip hak istimewa terendah dengan memastikan bahwa akun utama hanya memiliki izin yang benar-benar dibutuhkan.

Sebelum memulai

Peran IAM yang diperlukan

Bagian ini menjelaskan peran dan izin IAM yang Anda perlukan untuk menggunakan rekomendasi peran.

Lihat rekomendasi

Untuk mendapatkan izin yang diperlukan untuk melihat rekomendasi peran, minta administrator untuk memberi Anda peran IAM berikut pada resource yang ingin Anda lihat rekomendasinya (project, folder, atau organisasi):

  • Pelihat Peran (roles/iam.roleViewer)
  • IAM Recommender Viewer (roles/recommender.iamViewer)
  • Untuk melihat rekomendasi tingkat project di konsol Google Cloud : Admin IAM Project (roles/resourcemanager.projectIamAdmin)
  • Untuk melihat rekomendasi tingkat folder di konsol Google Cloud : Folder IAM Admin (roles/resourcemanager.folderIamAdmin)
  • Untuk melihat rekomendasi tingkat organisasi di konsol Google Cloud : Admin Organisasi (roles/resourcemanager.organizationAdmin)

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

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

Izin yang diperlukan

Izin berikut diperlukan untuk melihat rekomendasi peran:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • Untuk melihat rekomendasi di konsol Google Cloud : resourcemanager.RESOURCE.getIamPolicy, dengan RESOURCE adalah jenis resource yang ingin Anda lihat rekomendasinya (projects, folders, atau organizations)

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Menerapkan dan menolak rekomendasi

Untuk mendapatkan izin yang diperlukan untuk melihat, menerapkan, dan menutup rekomendasi peran, minta administrator untuk memberi Anda peran IAM berikut pada resource yang ingin Anda kelola rekomendasinya (project, folder, atau organisasi):

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

Peran bawaan ini berisi izin yang diperlukan untuk melihat, menerapkan, dan menutup rekomendasi peran. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melihat, menerapkan, dan menutup rekomendasi peran:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE.getIamPolicy, dengan RESOURCE adalah jenis resource yang ingin Anda kelola rekomendasinya (projects, folders, atau organizations)
  • resourcemanager.RESOURCE.setIamPolicy, dengan RESOURCE adalah jenis resource yang ingin Anda kelola rekomendasinya (projects, folders, atau organizations)

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Meninjau dan menerapkan rekomendasi

Cara termudah untuk meninjau dan menerapkan rekomendasi adalah dengan menggunakan konsolGoogle Cloud . Selain itu, jika ingin membuat peran kustom secara otomatis saat menerapkan rekomendasi, Anda harus menggunakan konsol Google Cloud .

Anda juga dapat meninjau dan menerapkan rekomendasi dengan Google Cloud CLI dan Recommender API.

Konsol

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project, folder, atau organisasi.

  3. Dalam daftar akun utama yang memiliki akses ke project Anda, temukan kolom Insight keamanan.

    Untuk setiap peran yang diberikan kepada akun utama, kolom ini menampilkan insight terkait keamanan. Insight ini menyoroti pola cara akun utama Anda mengakses resource. Misalnya, beberapa insight menyoroti izin berlebih, atau izin yang tidak diperlukan oleh prinsipal. Insight lainnya menyoroti akun layanan dengan kemampuan pergerakan lateral:

    Jika ada rekomendasi yang tersedia untuk mengatasi insight, ikon Google Cloud konsol akan menampilkan Rekomendasi tersedia .

  4. Jika ada rekomendasi yang perlu ditinjau, klik ikon Rekomendasi tersedia untuk mendapatkan detail tentang rekomendasi tersebut.

    Jika rekomendasi adalah mengganti peran, rekomendasi peran akan selalu menyarankan serangkaian peran standar yang dapat Anda terapkan.

    Dalam beberapa kasus, rekomendasi peran juga menyarankan pembuatan peran khusus baru di tingkat project. Jika rekomendasi peran kustom tersedia, konsol Google Cloud menampilkannya secara default. Untuk beralih ke rekomendasi peran bawaan, klik Lihat rekomendasi peran bawaan.

  5. Tinjau rekomendasi dengan cermat, dan pastikan Anda memahami bagaimana rekomendasi tersebut akan mengubah akses akun utama ke Google Cloud resource. Kecuali dalam kasus rekomendasi untuk agen layanan, rekomendasi tidak akan pernah meningkatkan tingkat akses prinsipal. Lihat Cara rekomendasi peran dibuat untuk mengetahui informasi selengkapnya.

    Untuk mempelajari cara meninjau rekomendasi di konsol, lihat Meninjau rekomendasi di halaman ini.

  6. Opsional: Jika rekomendasi adalah membuat peran khusus, perbarui Judul, Deskripsi, ID, dan Tahap peluncuran peran sesuai kebutuhan.

    Jika Anda perlu menambahkan izin ke peran khusus, klik Tambahkan izin.

    Jika Anda perlu menghapus izin dari peran khusus, hapus centang pada kotak untuk setiap izin yang ingin Anda hapus.

  7. Tindak lanjuti rekomendasi.

    Untuk menerapkan rekomendasi, klik Terapkan atau Buat dan terapkan. Jika Anda berubah pikiran dalam 90 hari ke depan, gunakan histori rekomendasi untuk mengembalikan pilihan Anda.

    Untuk menolak rekomendasi, klik Tolak, lalu konfirmasi pilihan Anda. Anda dapat memulihkan rekomendasi yang ditolak selama rekomendasi tersebut masih valid.

  8. Ulangi langkah-langkah sebelumnya hingga Anda meninjau semua rekomendasi.

gcloud

Tinjau rekomendasi Anda:

Untuk mencantumkan rekomendasi, jalankan perintah gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --format=json

Ganti nilai berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda cantumkan rekomendasinya. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda lihat rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.

Responsnya mirip dengan contoh berikut. Dalam contoh ini, akun layanan belum menggunakan izin apa pun dari peran Admin Compute (roles/compute.admin) dalam 90 hari terakhir. Akibatnya, rekomendasi peran menyarankan agar Anda mencabut peran:

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "description": "This role has not been used during the observation window.",
    "recommenderSubtype": "REMOVE_ROLE",
    "etag": "\"770237e2c0decf40\"",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "stateInfo": {
      "state": "ACTIVE"
    }
  }
]

Tinjau setiap rekomendasi dengan cermat, dan pertimbangkan bagaimana rekomendasi tersebut akan mengubah akses akun utama ke Google Cloud resource. Untuk mempelajari cara meninjau rekomendasi dari gcloud CLI, lihat Meninjau rekomendasi di halaman ini.

Untuk menerapkan rekomendasi:

  1. Gunakan perintah gcloud recommender recommendations mark-claimed untuk mengubah status rekomendasi menjadi CLAIMED, yang mencegah rekomendasi berubah saat Anda menerapkannya:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Ganti nilai berikut:

    • RECOMMENDATION_ID: ID unik untuk rekomendasi. Nilai ini muncul di akhir kolom name dalam rekomendasi. Dalam contoh yang ditunjukkan di atas, ID-nya adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: Jenis resource yang rekomendasinya ingin Anda kelola. Gunakan nilai project, folder, atau organization.
    • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • FORMAT: Format respons. Gunakan json atau yaml.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Perhatikan bahwa nilai ini dapat menyertakan tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi pilihan metadata tentang rekomendasi. Misalnya, --state-metadata=reviewedBy=alice,priority=high. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.

    Jika perintah berhasil, respons akan menampilkan rekomendasi dalam status CLAIMED, seperti yang ditunjukkan dalam contoh berikut. Agar lebih jelas, contoh menghilangkan sebagian besar kolom:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"df7308cca9719dcc\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]
  2. Dapatkan kebijakan izin untuk project, lalu ubah dan tetapkan kebijakan izin sehingga mencerminkan rekomendasi.

  3. Perbarui status rekomendasi menjadi SUCCEEDED, jika Anda dapat menerapkan rekomendasi, atau FAILED, jika Anda tidak dapat menerapkan rekomendasi:

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Ganti nilai berikut:

    • COMMAND: Gunakan mark-succeeded, jika Anda dapat menerapkan rekomendasi, atau mark-failed, jika Anda tidak dapat menerapkan rekomendasi.
    • RECOMMENDATION_ID: ID unik untuk rekomendasi. Nilai ini muncul di akhir kolom name dalam rekomendasi. Dalam contoh yang ditunjukkan di atas, ID-nya adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: Jenis resource yang rekomendasinya ingin Anda kelola. Gunakan nilai project, folder, atau organization.
    • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • FORMAT: Format respons. Gunakan json atau yaml.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Perhatikan bahwa nilai ini dapat menyertakan tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi pilihan metadata tentang rekomendasi. Misalnya, --state-metadata=reviewedBy=alice,priority=high. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.

    Misalnya, jika Anda menandai rekomendasi sebagai berhasil, respons akan menampilkan rekomendasi dalam status SUCCEEDED. Agar lebih jelas, contoh ini menghilangkan sebagian besar kolom:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"dd0686e7136a4cbb\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]

REST

Tinjau rekomendasi Anda:

Untuk mencantumkan semua rekomendasi yang tersedia untuk project, folder, atau organisasi Anda, gunakan metode recommendations.list Recommender API.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola rekomendasinya. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • PAGE_SIZE: Opsional. Jumlah maksimum hasil yang akan ditampilkan dari permintaan ini. Jika tidak ditentukan, server akan menentukan jumlah hasil yang akan ditampilkan. Jika jumlah rekomendasi lebih besar dari ukuran halaman, respons akan berisi token penomoran halaman yang dapat Anda gunakan untuk mengambil halaman hasil berikutnya.
  • PAGE_TOKEN: Opsional. Token penomoran halaman yang ditampilkan dalam respons sebelumnya dari metode ini. Jika ditentukan, daftar rekomendasi akan dimulai dari tempat permintaan sebelumnya berakhir.
  • FILTER: Opsional. Ekspresi filter untuk membatasi rekomendasi yang ditampilkan. Anda dapat memfilter rekomendasi berdasarkan kolom stateInfo.state. Misalnya, stateInfo.state:"DISMISSED" atau stateInfo.state:"FAILED".
  • PROJECT_ID: ID project Google Cloud Anda. Project ID adalah string alfanumerik, seperti my-project.

Metode HTTP dan URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Responsnya mirip dengan contoh berikut. Dalam contoh ini, akun layanan di project example-project belum menggunakan izin apa pun dari peran Admin Compute (roles/compute.admin) dalam 90 hari terakhir. Akibatnya, Pemberi Rekomendasi menyarankan agar Anda mencabut peran:

{
  "recommendations": [
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "stateInfo": {
      "state": "ACTIVE"
    }
    "etag": "\"770237e2c0decf40\"",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
  ]
}

Tinjau setiap rekomendasi dengan cermat, dan pertimbangkan bagaimana rekomendasi tersebut akan mengubah akses akun utama ke Google Cloud resource. Untuk mempelajari cara meninjau rekomendasi dari REST API, lihat Meninjau rekomendasi di halaman ini.

Untuk menerapkan rekomendasi:

  1. Tandai rekomendasi sebagai CLAIMED:

    Untuk menandai rekomendasi sebagai CLAIMED, yang mencegah rekomendasi berubah saat Anda menerapkannya, gunakan metode recommendations.markClaimed Recommender API.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola rekomendasinya. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • RECOMMENDATION_ID: ID unik untuk rekomendasi. Nilai ini muncul di akhir kolom name dalam rekomendasi. Misalnya, jika kolom name adalah projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, ID rekomendasi adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda petik, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi pasangan nilai kunci dengan pilihan metadata Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: ID project Google Cloud Anda. Project ID adalah string alfanumerik, seperti my-project.

    Metode HTTP dan URL:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    Meminta isi JSON:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Respons menampilkan rekomendasi dalam status CLAIMED, seperti yang ditunjukkan dalam contoh berikut. Agar lebih jelas, contoh ini menghilangkan sebagian besar kolom:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

  2. Dapatkan kebijakan izin untuk project, lalu ubah kebijakan izin agar mencerminkan rekomendasi.

  3. Perbarui status rekomendasi menjadi SUCCEEDED, jika Anda dapat menerapkan rekomendasi, atau FAILED, jika Anda tidak dapat menerapkan rekomendasi:

    SUCCEEDED

    Untuk menandai rekomendasi sebagai SUCCEEDED, yang menunjukkan bahwa Anda dapat menerapkannya, gunakan metode recommendations.markSucceeded Recommender API.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola rekomendasinya. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • RECOMMENDATION_ID: ID unik untuk rekomendasi. Nilai ini muncul di akhir kolom name dalam rekomendasi. Misalnya, jika kolom name adalah projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, ID rekomendasi adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda petik, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi pasangan nilai kunci dengan pilihan metadata Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: ID project Google Cloud Anda. Project ID adalah string alfanumerik, seperti my-project.

    Metode HTTP dan URL:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    Meminta isi JSON:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Respons menampilkan rekomendasi dalam status SUCCEEDED, seperti yang ditunjukkan dalam contoh berikut. Agar lebih jelas, contoh ini menghilangkan sebagian besar kolom:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

    FAILED

    Untuk menandai rekomendasi sebagai FAILED, yang menunjukkan bahwa Anda tidak dapat menerapkannya, gunakan metode recommendations.markFailed Recommender API.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola rekomendasinya. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID Google Cloud project, folder, atau organisasi yang ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • RECOMMENDATION_ID: ID unik untuk rekomendasi. Nilai ini muncul di akhir kolom name dalam rekomendasi. Misalnya, jika kolom name adalah projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, ID rekomendasi adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda petik, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi pasangan nilai kunci dengan pilihan metadata Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: ID project Google Cloud Anda. Project ID adalah string alfanumerik, seperti my-project.

    Metode HTTP dan URL:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    Meminta isi JSON:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Respons menampilkan rekomendasi dalam status FAILED, seperti yang ditunjukkan dalam contoh berikut. Agar lebih jelas, contoh ini menghilangkan sebagian besar kolom:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

Memahami rekomendasi

Setiap rekomendasi menyertakan informasi untuk membantu Anda memahami alasan rekomendasi tersebut dibuat.

Konsol

Untuk membantu Anda memahami alasan rekomendasi dibuat, konsol Google Cloud menampilkan penggunaan izin akun utama, seperti yang dilaporkan oleh insight kebijakan yang terkait dengan rekomendasi. Misalnya, aplikasi dapat menampilkan daftar seperti berikut:

Untuk membantu Anda memahami dampak penerapan rekomendasi, konsolGoogle Cloud juga menampilkan daftar izin yang dikodekan dengan warna dan simbol. Daftar ini menunjukkan perubahan izin akun utama jika Anda menerapkan rekomendasi. Misalnya, daftar tersebut mungkin menampilkan daftar seperti berikut:

Jenis izin yang terkait dengan setiap warna dan simbol adalah sebagai berikut:

  • Abu-abu tanpa simbol: Izin yang ada di peran saat ini dan peran yang direkomendasikan untuk akun utama.

  • Merah dengan tanda minus : Izin yang ada dalam peran saat ini akun utama, tetapi tidak ada dalam peran yang direkomendasikan karena akun utama belum menggunakannya dalam 90 hari terakhir.

  • Hijau dengan tanda plus : Izin yang tidak ada dalam peran akun utama saat ini, tetapi ada dalam peran yang direkomendasikan. Jenis izin ini hanya muncul dalam rekomendasi untuk agen layanan.

  • Biru dengan ikon Machine learning : Izin yang ada dalam peran saat ini dan peran yang direkomendasikan untuk akun utama, bukan karena akun utama telah menggunakan izin tersebut dalam 90 hari terakhir, tetapi karena Pemberi Rekomendasi telah menentukan melalui machine learning bahwa akun utama kemungkinan akan memerlukan izin tersebut di masa mendatang.

Beberapa rekomendasi juga dikaitkan dengan insight pergerakan lateral. Insight gerakan lateral mengidentifikasi peran yang memungkinkan akun layanan dalam satu project untuk meniru akun layanan di project lain. Jika rekomendasi dikaitkan dengan analisis pergerakan lateral, konsol Google Cloud juga menampilkan hal berikut:

  • Project asal akun layanan: Project tempat akun layanan dengan izin peniruan identitas dibuat.

  • Akun layanan yang dapat ditiru identitasnya dalam project ini: Daftar semua akun layanan dalam project saat ini yang dapat ditiru identitasnya oleh akun layanan dengan izin peniruan identitas.

gcloud

Untuk mengetahui detail tentang kolom rekomendasi, lihat referensi Recommendation.

Untuk melihat penggunaan izin yang menjadi dasar rekomendasi ini, lihat insight kebijakan yang terkait dengan rekomendasi tersebut. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan yang terkait dengan rekomendasi, lakukan hal berikut:

  • Identifikasi insight mana di kolom associatedInsights yang merupakan insight kebijakan. Insight kebijakan memiliki jenis insight google.iam.policy.insight. Jenis ini muncul setelah insightTypes di kolom insight.
  • Salin ID insight kebijakan. ID adalah semuanya setelah insights/ di kolom insight. Pada contoh sebelumnya, ID insight adalah 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Ikuti petunjuk untuk mendapatkan insight kebijakan, menggunakan ID insight yang Anda salin.

Beberapa rekomendasi juga dikaitkan dengan insight pergerakan lateral, yang mengidentifikasi peran yang memungkinkan akun layanan dalam satu project meniru akun layanan di project lain. Insight ini juga tercantum di kolom associatedInsights. Untuk melihat insight pergerakan lateral yang terkait dengan rekomendasi, lakukan hal berikut:

  • Identifikasi insight mana di kolom associatedInsights yang merupakan insight gerakan lateral. Insight pergerakan lateral memiliki jenis insight google.iam.policy.LateralMovementInsight. Jenis ini muncul setelah insightTypes di kolom insight.
  • Salin ID insight kebijakan. ID adalah semuanya setelah insights/ di kolom insight. Pada contoh sebelumnya, ID insight adalah 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Ikuti petunjuk untuk mendapatkan insight gerakan lateral, menggunakan ID insight yang Anda salin.

REST

Untuk mengetahui detail tentang kolom rekomendasi, lihat referensi Recommendation.

Untuk melihat penggunaan izin yang menjadi dasar rekomendasi ini, lihat insight kebijakan yang terkait dengan rekomendasi tersebut. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan yang terkait dengan rekomendasi, lakukan hal berikut:

  1. Identifikasi insight mana di kolom associatedInsights yang merupakan insight kebijakan. Insight kebijakan memiliki jenis insight google.iam.policy.insight. Jenis ini muncul setelah insightTypes di kolom insight.
  2. Salin ID insight kebijakan. ID adalah semuanya setelah insights/ di kolom insight. Misalnya, jika kolom insight berbunyi projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, maka ID insight adalah 279ef748-408f-44db-9a4a-1ff8865b9839.
  3. Ikuti petunjuk untuk mendapatkan insight kebijakan, menggunakan ID insight yang Anda salin.

Beberapa rekomendasi juga dikaitkan dengan insight pergerakan lateral, yang mengidentifikasi peran yang memungkinkan akun layanan dalam satu project meniru akun layanan di project lain. Insight ini juga tercantum di kolom associatedInsights. Untuk melihat insight pergerakan lateral yang terkait dengan rekomendasi, lakukan hal berikut:

  1. Identifikasi insight mana di kolom associatedInsights yang merupakan insight gerakan lateral. Insight pergerakan lateral memiliki jenis insight google.iam.policy.LateralMovementInsight. Jenis ini muncul setelah insightTypes di kolom insight.
  2. Salin ID insight kebijakan. ID adalah semuanya setelah insights/ di kolom insight. Misalnya, jika kolom insight berbunyi projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, maka ID insight adalah 13088eec-9573-415f-81a7-46e1a260e860.
  3. Ikuti petunjuk untuk mendapatkan insight gerakan lateral, menggunakan ID insight yang Anda salin.

Melihat, mengembalikan, dan memulihkan perubahan

Setelah Anda menerapkan atau menolak rekomendasi untuk binding peran tingkat project, tindakan tersebut akan muncul dalam histori rekomendasi.

Untuk melihat histori rekomendasi:

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project, folder, atau organisasi.

  3. Di dekat bagian atas layar, klik Histori rekomendasi.

    Konsol Google Cloud menampilkan daftar tindakan sebelumnya pada rekomendasi peran Anda.

  4. Untuk melihat detail tentang rekomendasi, klik panah peluas .

    Konsol Google Cloud menampilkan detail tentang tindakan yang dilakukan, termasuk prinsipal yang melakukan tindakan:

  5. (Opsional) Jika perlu, Anda dapat mengembalikan rekomendasi, yang akan mengurungkan perubahan dalam rekomendasi, atau memulihkan rekomendasi yang Anda tolak.

    Untuk mengembalikan perubahan yang diterapkan sebelumnya pada rekomendasi, klik Kembalikan. Konsol Google Cloud akan mengembalikan perubahan pada peran akun utama. Rekomendasi tidak akan muncul lagi di konsolGoogle Cloud .

    Untuk memulihkan rekomendasi yang ditolak, klik Pulihkan. Rekomendasi akan terlihat di halaman IAM di konsolGoogle Cloud . Tidak ada peran atau izin yang diubah.

Langkah berikutnya