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 perlu untuk menggunakan rekomendasi peran.

Melihat rekomendasi

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

  • Role Viewer (roles/iam.roleViewer)
  • IAM Recommender Viewer (roles/recommender.iamViewer)
  • Untuk melihat rekomendasi tingkat project di konsol Google Cloud: Project IAM Admin (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 yang telah ditetapkan 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 guna melihat, menerapkan, dan menutup rekomendasi peran, minta administrator untuk memberi Anda peran IAM berikut pada resource yang rekomendasinya ingin Anda kelola (project, folder, atau organisasi):

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

Peran yang telah ditetapkan 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 rekomendasinya ingin Anda kelola (projects, folders, atau organizations)
  • resourcemanager.RESOURCE.setIamPolicy, dengan RESOURCE adalah jenis resource yang rekomendasinya ingin Anda kelola (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 konsol Google 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 dalam cara akun utama Anda mengakses resource. Misalnya, beberapa insight menyoroti izin berlebih, atau izin yang tidak diperlukan akun utama. Insight lainnya menyoroti akun layanan dengan kemampuan pergerakan lateral:

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

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

    Jika rekomendasinya adalah mengganti peran, rekomendasi peran 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 akan 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 resource Google Cloud. Kecuali dalam hal rekomendasi untuk agen layanan, rekomendasi tidak akan pernah meningkatkan tingkat akses akun utama. Lihat Cara pembuatan rekomendasi peran untuk mengetahui informasi selengkapnya.

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

  6. Opsional: Jika rekomendasinya adalah membuat peran kustom, perbarui Judul, Deskripsi, ID, dan Role launch stage sesuai kebutuhan.

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

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

  7. Ambil tindakan berdasarkan 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 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 rekomendasinya ingin Anda cantumkan. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang ingin Anda cantumkan rekomendasinya. Project ID berupa string alfanumerik, seperti my-project. Folder dan ID organisasi berupa angka, seperti 123456789012.

Responsnya mirip dengan contoh berikut. Dalam contoh ini, akun layanan belum menggunakan izin apa pun dari peran Compute Admin (roles/compute.admin) dalam 90 hari terakhir. Oleh karena itu, 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 resource Google Cloud. 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 ditampilkan 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 project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, 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 metadata pilihan Anda 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 ini menghapus 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 agar 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 ditampilkan 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 project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, 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 metadata pilihan Anda 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

Petunjuk ini mengasumsikan bahwa Anda telah diautentikasi dan menetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

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 rekomendasinya ingin Anda kelola. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa angka, 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: Project ID 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 Compute Admin (roles/compute.admin) dalam 90 hari terakhir. Akibatnya, 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 resource Google Cloud. 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 rekomendasinya ingin Anda kelola. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa angka, 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 backslash untuk meng-escape tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan metadata pilihan Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: Project ID 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 rekomendasinya ingin Anda kelola. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa angka, 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 backslash untuk meng-escape tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan metadata pilihan Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: Project ID 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 rekomendasinya ingin Anda kelola. Gunakan nilai projects, folders, atau organizations.
    • RESOURCE_ID: ID project, folder, atau organisasi Google Cloud yang rekomendasinya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa angka, 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 backslash untuk meng-escape tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan metadata pilihan Anda tentang rekomendasi. Contoh, {"reviewedBy": "alice", "priority": "high"}. Metadata menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.
    • PROJECT_ID: Project ID 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 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, daftar tersebut mungkin menampilkan daftar seperti berikut:

Untuk membantu Anda memahami dampak penerapan rekomendasi, konsol Google Cloud juga menampilkan daftar izin yang diberi kode 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 dalam peran akun utama saat ini dan peran yang direkomendasikan.

  • Merah dengan tanda minus : Izin yang ada dalam peran akun utama saat ini, 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 di rekomendasi untuk agen layanan.

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

Beberapa rekomendasi juga dikaitkan dengan analisis 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 insight gerakan lateral, konsol Google Cloud juga akan 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. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan yang terkait dengan rekomendasi, lakukan tindakan 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 di satu project untuk meniru akun layanan di project lain. Insight ini juga tercantum di kolom associatedInsights. Untuk melihat insight pergerakan lateral yang terkait dengan rekomendasi, lakukan tindakan 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. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan yang terkait dengan rekomendasi, lakukan tindakan 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 membaca projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, ID insight-nya 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 di satu project untuk meniru akun layanan di project lain. Insight ini juga tercantum di kolom associatedInsights. Untuk melihat insight pergerakan lateral yang terkait dengan rekomendasi, lakukan tindakan 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 membaca projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, ID insight-nya 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 di 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 diambil, termasuk akun utama yang mengambil tindakan tersebut:

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

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

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

Langkah selanjutnya