Tinjau dan terapkan 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 butuhkan untuk menangani 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):

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

Peran bawaan ini berisi izin yang diperlukan untuk melihat rekomendasi peran. Untuk melihat izin yang benar-benar diperlukan, perluas 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 mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Menerapkan dan menolak rekomendasi

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

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

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melihat, menerapkan, dan menolak rekomendasi peran. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melihat, menerapkan, dan menolak 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 sebagai jenis resource yang rekomendasinya ingin Anda kelola (projects, folders, atau organizations)
  • resourcemanager.RESOURCE.setIamPolicy, dengan RESOURCE sebagai jenis resource yang rekomendasinya ingin Anda kelola (projects, folders, atau organizations)

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

Meninjau dan menerapkan rekomendasi

Cara termudah untuk meninjau dan menerapkan rekomendasi Anda adalah menggunakan Konsol Google Cloud. Selain itu, jika ingin membuat peran khusus 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 akan menampilkan insight terkait keamanan. Insight ini menyoroti pola terkait cara akun utama Anda mengakses resource. Misalnya, beberapa insight menyoroti izin yang berlebihan, atau izin yang tidak diperlukan akun utama. Insight lain menyoroti akun layanan dengan kemampuan pergerakan lateral:

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

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

    Jika rekomendasi tersebut adalah untuk mengganti peran, rekomendasi peran akan selalu menyarankan kumpulan peran standar yang dapat Anda terapkan.

    Dalam beberapa kasus, rekomendasi peran juga menyarankan untuk membuat peran khusus baru di level project. Jika rekomendasi peran khusus tersedia, Google Cloud Console akan menampilkannya secara default. Untuk beralih ke rekomendasi peran yang telah ditetapkan, klik Lihat peran bawaan yang direkomendasikan.

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

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

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

    Jika Anda perlu menambahkan izin ke peran khusus, klik Add permissions.

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

  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 sampai Anda meninjau semua rekomendasi.

gcloud

Tinjau rekomendasi Anda:

Untuk menampilkan daftar 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 project, folder, atau organisasi Google Cloud yang ingin Anda cantumkan rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, 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. Akibatnya, rekomendasi peran menyarankan agar Anda mencabut peran tersebut:

[
  {
    "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 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 project, folder, atau organisasi Google Cloud yang ingin Anda kelola rekomendasinya. 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. Key-value pair yang dipisahkan koma yang berisi pilihan metadata Anda tentang rekomendasi. Misalnya, --state-metadata=reviewedBy=alice,priority=high. Metadata tersebut menggantikan kolom stateInfo.stateMetadata dalam rekomendasi.

    Jika perintah berhasil, respons akan menampilkan rekomendasi dalam status CLAIMED, seperti yang ditunjukkan pada 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. Mendapatkan kebijakan izinkan untuk project, lalu ubah dan tetapkan kebijakan izin agar sesuai dengan 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 project, folder, atau organisasi Google Cloud yang ingin Anda kelola rekomendasinya. 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. Key-value pair yang dipisahkan koma yang berisi pilihan metadata Anda tentang rekomendasi. Misalnya, --state-metadata=reviewedBy=alice,priority=high. Metadata tersebut 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 mengautentikasi dan menetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

Tinjau rekomendasi Anda:

Untuk menampilkan daftar 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 ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa numerik, seperti 123456789012.
  • PAGE_SIZE: Opsional. Jumlah hasil maksimum 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 akhir permintaan sebelumnya.
  • 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, Pemberi Rekomendasi akan menyarankan Anda untuk mencabut peran tersebut:

{
  "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 dari 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 ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan 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 rekomendasinya adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan pilihan metadata Anda terkait rekomendasi. Misalnya, {"reviewedBy": "alice", "priority": "high"}. Metadata ini 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:

    Responsnya menunjukkan rekomendasi dalam status CLAIMED, seperti ditunjukkan pada 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. Mendapatkan kebijakan izinkan untuk project, lalu ubah kebijakan izin agar sesuai dengan 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 dari 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 ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan 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 rekomendasinya adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan pilihan metadata Anda terkait rekomendasi. Misalnya, {"reviewedBy": "alice", "priority": "high"}. Metadata ini 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:

    Responsnya menunjukkan rekomendasi dalam status SUCCEEDED, seperti ditunjukkan pada 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 dari 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 ingin Anda kelola rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan 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 rekomendasinya adalah fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: Nilai kolom etag dalam rekomendasi, seperti "dd0686e7136a4cbb". Gunakan garis miring terbalik untuk menghindari tanda kutip, misalnya, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opsional. Objek yang berisi key-value pair dengan pilihan metadata Anda terkait rekomendasi. Misalnya, {"reviewedBy": "alice", "priority": "high"}. Metadata ini 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:

    Responsnya menunjukkan rekomendasi dalam status FAILED, seperti ditunjukkan pada 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 tersebut dibuat, Google Cloud Console menampilkan penggunaan izin akun utama, seperti yang dilaporkan oleh insight kebijakan yang terkait dengan rekomendasi tersebut. Misalnya, aplikasi mungkin menampilkan daftar seperti berikut:

Untuk membantu Anda memahami dampak penerapan rekomendasi, Konsol Google Cloud juga menampilkan daftar izin yang berkode warna dan berkode simbol. Daftar ini menunjukkan perubahan izin akun utama jika Anda menerapkan rekomendasi tersebut. Misalnya, 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 dalam peran yang direkomendasikan karena akun utama belum menggunakannya dalam 90 hari terakhir.

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

  • 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 mereka mungkin memerlukan izin tersebut di masa mendatang.

Beberapa rekomendasi juga terkait dengan insight pergerakan lateral. Insight gerakan lateral mengidentifikasi peran yang memungkinkan akun layanan di 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 origin 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 oleh akun layanan yang memiliki 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 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 terkait dengan Insight pergerakan lateral, yang mengidentifikasi peran yang memungkinkan akun layanan dalam satu project untuk meniru akun layanan di project lain. Insight ini juga tercantum di kolom associatedInsights. Untuk melihat insight gerakan lateral yang terkait dengan rekomendasi, lakukan tindakan berikut:

  • Identifikasi insight mana dalam kolom associatedInsights yang merupakan insight gerakan lateral. Insight gerakan 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 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 terbaca projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, ID insight adalah 279ef748-408f-44db-9a4a-1ff8865b9839.
  3. Ikuti petunjuk untuk mendapatkan insight kebijakan, menggunakan ID insight yang Anda salin.

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

  1. Identifikasi insight mana dalam kolom associatedInsights yang merupakan insight gerakan lateral. Insight gerakan 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 terbaca projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, 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 level 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 luaskan .

    Konsol Google Cloud menampilkan detail tindakan yang dilakukan, termasuk akun utama yang melakukan tindakan tersebut:

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

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

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

Langkah selanjutnya