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.

    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, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi 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 perlu untuk menggunakan rekomendasi kebijakan organisasi.

Untuk mendapatkan izin yang Anda perlukan guna mengelola rekomendasi kebijakan organisasi, 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 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 perekomendasikan 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 Anda inginkan untuk mencantumkan rekomendasi. 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.

  • RECOMMENDER_SUBTYPE: Opsional. ID subjenis yang ingin Anda lihat rekomendasinya. Subjenis yang valid mencakup hal berikut:

    • 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. Oleh karena itu, rekomendasi menyarankan untuk menetapkan 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 komponen rekomendasi lebih lanjut, lihat 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. Pada 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 Google Cloud yang ingin Anda cantumkan rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
    • FORMAT: Format respons. Gunakan nilai json atau yaml.
    • ETAG: ID untuk versi rekomendasi, seperti "7caf4103d7669e12". Perhatikan bahwa nilai ini dapat menyertakan tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi metadata pilihan Anda tentang rekomendasi. Contoh, --state-metadata=reviewedBy=alice,priority=high. Metadata akan 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": "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. Pada 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 Google Cloud yang ingin Anda cantumkan rekomendasinya. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
    • FORMAT: Format respons. Gunakan nilai json atau yaml.
    • ETAG: ID untuk versi rekomendasi, seperti "7caf4103d7669e12". Perhatikan bahwa nilai ini dapat menyertakan tanda kutip.
    • STATE_METADATA: Opsional. Pasangan nilai kunci yang dipisahkan koma yang berisi metadata pilihan Anda tentang rekomendasi. Contoh, --state-metadata=reviewedBy=alice,priority=high. Metadata akan 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 menghapus 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 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 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. 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.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. Oleh karena itu, rekomendasi menyarankan untuk menetapkan 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 komponen rekomendasi lebih lanjut, lihat 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 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. 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 pilihan metadata 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.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 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. 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.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 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. 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.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 menyertakan informasi untuk membantu Anda memahami alasan rekomendasi dibuat, dan saran untuk 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 yang unik.

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

    • overview: informasi ringkasan ringkas tentang rekomendasi.

    • constraint: memberikan informasi tentang batasan.

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

    • operationGroups: kumpulan satu atau beberapa operasi pada kebijakan organisasi 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 di dalamnya atau salah satu resource turunannya. Untuk melihat konfigurasi kebijakan organisasi yang menjadi dasar rekomendasi ini, lihat insight kebijakan organisasi yang terkait dengan rekomendasi. Insight ini tercantum di kolom associatedInsights. Untuk melihat insight kebijakan organisasi yang terkait dengan rekomendasi, lakukan tindakan 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 membaca projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, ID insight-nya 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 selanjutnya