Meninjau dan menerapkan rekomendasi kebijakan organisasi

Halaman ini menjelaskan cara melihat, memahami, dan menerapkan rekomendasi kebijakan organisasi. Rekomendasi kebijakan organisasi membantu Anda menetapkan kebijakan organisasi yang tepat tanpa mengganggu sistem.

Sebelum memulai

  • Enable the Organization Policy and Recommender APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  • Menyiapkan autentikasi.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

      Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

  • Memahami rekomendasi kebijakan organisasi.

Peran IAM yang diperlukan

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

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

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

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

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola rekomendasi kebijakan organisasi:

  • Untuk melihat rekomendasi kebijakan organisasi:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Untuk menerapkan dan menolak rekomendasi kebijakan organisasi:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Untuk mengelola kebijakan organisasi:
    • orgpolicy.policy.get
    • orgpolicy.policy.set
    • orgpolicy.constraints.list
    • orgpolicy.policies.create
    • orgpolicy.policies.delete
    • orgpolicy.policies.list
    • orgpolicy.policies.update

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

Batasan

Pratinjau pemberi rekomendasi Kebijakan Organisasi memiliki batasan berikut:

  • Insight hanya tersedia untuk project, folder, dan organisasi yang memiliki rekomendasi.

  • Rekomendasi hanya dibuat untuk batasan yang tidak dikonfigurasi pada resource tertentu atau resource turunannya.

Batasan yang didukung

Rekomendasi hanya tersedia untuk batasan kebijakan organisasi berikut:

Meninjau dan menerapkan rekomendasi

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

gcloud

Tinjau rekomendasi Anda:

Untuk mencantumkan rekomendasi, jalankan perintah gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.orgpolicy.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --filter="recommenderSubtype:RECOMMENDER_SUBTYPE" \
    --format=FORMAT

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.

  • RECOMMENDER_SUBTYPE: Opsional. ID subjenis yang ingin Anda lihat rekomendasinya. Subtipe yang valid meliputi:

    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION memberikan rekomendasi untuk batasan iam.managed.disableServiceAccountKeyCreation.
    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD memberikan rekomendasi untuk batasan iam.managed.disableServiceAccountKeyUpload
  • FORMAT: Format respons. Gunakan nilai json atau yaml.

Responsnya mirip dengan contoh berikut. Dalam contoh ini, dua resource dianalisis untuk kunci akun layanan eksternal, dan tidak ada pelanggaran yang terdeteksi. Akibatnya, rekomendasi menyarankan untuk menyetel iam.managed.disableServiceAccountKeyCreation guna mencegah pelanggaran di masa mendatang.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Untuk mempelajari lebih lanjut komponen rekomendasi, lihat artikel Memahami rekomendasi.

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.orgpolicy.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 sebelumnya, 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 yang ingin Anda cantumkan rekomendasinya. Google CloudProject ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • FORMAT: Format respons. Gunakan nilai json atau yaml.
    • ETAG: ID untuk versi rekomendasi, seperti "7caf4103d7669e12". Perhatikan bahwa nilai ini dapat mencakup tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi pilihan metadata Anda tentang rekomendasi. Contoh, --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": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {\
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    
  2. Perbarui dan terapkan kebijakan organisasi untuk project, folder, atau organisasi yang ditentukan oleh RESOURCE_TYPE dan RESOURCE_ID 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 berhasil 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 sebelumnya, 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 yang ingin Anda cantumkan rekomendasinya. Google CloudProject ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
    • FORMAT: Format respons. Gunakan nilai json atau yaml.
    • ETAG: ID untuk versi rekomendasi, seperti "7caf4103d7669e12". Perhatikan bahwa nilai ini dapat mencakup tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi pilihan metadata Anda tentang rekomendasi. Contoh, --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": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    

    Untuk mengembalikan perubahan pada kebijakan organisasi, tetapkan kebijakan organisasi ke konfigurasi aslinya, yang diberikan di kolom configuredPolicy dari insight terkait.

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.orgpolicy.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, dua resource dianalisis untuk kunci akun layanan eksternal, dan tidak ada pelanggaran yang terdeteksi. Akibatnya, rekomendasi menyarankan untuk menyetel iam.managed.disableServiceAccountKeyCreation guna mencegah pelanggaran di masa mendatang.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Untuk mempelajari lebih lanjut komponen rekomendasi, lihat artikel Memahami rekomendasi.

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 tentang rekomendasi Anda. 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.orgpolicy.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": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

  2. Perbarui kebijakan organisasi untuk project, folder, atau organisasi yang ditentukan oleh RESOURCE_TYPE dan RESOURCE_ID sehingga mencerminkan rekomendasi.

  3. Perbarui status rekomendasi menjadi SUCCEEDED jika Anda berhasil 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 tentang rekomendasi Anda. 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.orgpolicy.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": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

    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 tentang rekomendasi Anda. 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.orgpolicy.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": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

Memahami rekomendasi

Setiap rekomendasi mencakup informasi untuk membantu Anda memahami alasan rekomendasi dibuat, dan saran perubahan pada konfigurasi kebijakan organisasi Anda. Atribut intinya meliputi:

  • description: Ringkasan rekomendasi yang dapat dibaca manusia.

  • recommenderSubtype: ID untuk subjenis rekomendasi. Setiap batasan memiliki recommenderSubtype unik.

  • content: Berisi perubahan yang direkomendasikan pada kebijakan organisasi Anda.

    • overview: informasi ringkasan singkat tentang rekomendasi.

    • constraint: memberikan informasi tentang batasan.

    • enforced_resources: memberikan informasi tentang resource yang terpengaruh oleh kebijakan organisasi ini jika Anda menerapkan rekomendasi.

    • operationGroups: serangkaian satu atau beberapa operasi pada kebijakan org saat Anda menerapkan rekomendasi.

  • associatedInsights: nama resource insight yang menghasilkan rekomendasi ini.

Untuk mengetahui informasi selengkapnya tentang atribut rekomendasi, lihat referensi rekomendasi.

Insight dan rekomendasi dibuat untuk resource yang tidak memiliki salah satu kebijakan organisasi yang didukung yang ditetapkan padanya atau salah satu resource turunannya. Untuk melihat konfigurasi kebijakan organisasi yang menjadi dasar rekomendasi ini, lihat insight kebijakan organisasi yang terkait dengan rekomendasi tersebut. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan organisasi yang terkait dengan rekomendasi, lakukan langkah berikut:

  1. Identifikasi insight mana di kolom associatedInsights yang merupakan insight kebijakan organisasi. Insight kebijakan organisasi memiliki jenis insight google.orgpolicy.policy.Insight. Jenis ini muncul setelah insightTypes di kolom insight.

  2. Salin ID insight kebijakan organisasi. ID adalah semuanya setelah insights/ di kolom insight. Misalnya, jika kolom insight berbunyi projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, maka ID insight adalah fb927dc1-9695-4436-0000-f0f285007c0f.

  3. Ikuti petunjuk untuk mendapatkan insight kebijakan organisasi, menggunakan ID insight yang Anda salin.

Mengekspor rekomendasi ke BigQuery

Untuk melihat snapshot harian semua rekomendasi untuk organisasi Anda, termasuk rekomendasi kebijakan organisasi, Anda dapat mengekspor rekomendasi ke BigQuery.

Untuk mengekspor rekomendasi ke BigQuery, Anda perlu menyiapkan transfer data menggunakan BigQuery Data Transfer Service. Untuk mempelajari cara menyiapkan transfer data, lihat Mengekspor rekomendasi ke BigQuery.

Langkah berikutnya