Meninjau insight kebijakan organisasi untuk project, folder, dan organisasi

Halaman ini menunjukkan cara mengelola insight kebijakan organisasi, yang merupakan temuan tentang konfigurasi dan penggunaan resource. Insight kebijakan organisasi dapat membantu Anda mengidentifikasi resource yang tidak dilindungi oleh kebijakan organisasi.

Analisis kebijakan organisasi terkadang ditautkan ke rekomendasi kebijakan organisasi. Rekomendasi kebijakan organisasi menyarankan tindakan yang dapat Anda lakukan untuk memperbaiki masalah yang diidentifikasi oleh insight kebijakan organisasi.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk melihat dan mengubah insight kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Org Policy Recommender Admin (roles/recommender.orgPolicyAdmin) di resource yang insight-nya 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 melihat dan mengubah insight kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melihat dan mengubah insight kebijakan organisasi:

  • recommender.orgPolicyInsights.get
  • recommender.orgPolicyInsights.list
  • recommender.orgPolicyInsights.update

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

Mencantumkan insight kebijakan organisasi

Untuk mencantumkan semua insight kebijakan organisasi untuk project, folder, atau organisasi Anda, gunakan salah satu metode berikut:

gcloud

Gunakan perintah gcloud recommender insights list untuk melihat semua insight kebijakan organisasi untuk project, folder, atau organisasi Anda.

Sebelum menjalankan perintah, ganti nilai berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda cantumkan insight-nya. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda cantumkan insight-nya.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

Output mencantumkan semua insight kebijakan organisasi untuk project, folder, atau organisasi Anda. Contoh:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                                          DESCRIPTION
66d543f3-845d-49d6-a26b-80d84804d8a8  SECURITY  ACTIVE         2024-12-10T08:00:00Z  HIGH      RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION  Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.

REST

Metode Recommender API insights.list mencantumkan semua insight kebijakan organisasi untuk project, folder, atau organisasi Anda.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda cantumkan insight-nya. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda cantumkan insight-nya.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Respons mencantumkan semua insight kebijakan organisasi untuk project, folder, atau organisasi Anda. Contoh:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Untuk mempelajari lebih lanjut komponen insight, lihat Meninjau insight kebijakan organisasi di halaman ini.

Mendapatkan insight kebijakan organisasi tunggal

Untuk mendapatkan informasi selengkapnya tentang satu insight, termasuk deskripsi, status, dan rekomendasi yang terkait dengan insight tersebut, gunakan salah satu metode berikut:

gcloud

Gunakan perintah gcloud recommender insights describe dengan ID insight Anda untuk melihat informasi tentang satu insight.

  • INSIGHT_ID: ID insight yang ingin Anda lihat. Untuk menemukan ID, cantumkan insight untuk project, folder, atau organisasi Anda.
  • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola insight-nya. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda kelola insight-nya.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

Output akan menampilkan insight secara mendetail. Misalnya, dua resource dianalisis untuk kunci akun layanan eksternal, dan tidak ada pelanggaran yang terdeteksi:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  - numOfResources: '2'
    resourceType: iam.googleapis.com/ServiceAccountKey
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
etag: '"34ddfdcefd214fd7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
lastRefreshTime: '2024-12-10T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Untuk mempelajari lebih lanjut komponen insight, lihat Meninjau insight kebijakan organisasi di halaman ini.

REST

Metode insights.get Recommender API mendapatkan satu insight.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola insight-nya. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda kelola insight-nya.
  • INSIGHT_ID: ID insight yang ingin Anda lihat. Jika Anda tidak mengetahui ID insight, Anda dapat menemukannya dengan mencantumkan insight di project, folder, atau organisasi. ID insight adalah semua yang ada setelah insights/ di kolom name untuk insight.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Responsnya berisi insight. Misalnya, dua resource dianalisis untuk kunci akun layanan eksternal, dan tidak ada pelanggaran yang terdeteksi:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Untuk mempelajari lebih lanjut komponen insight, lihat Meninjau insight kebijakan organisasi di halaman ini.

Meninjau insight kebijakan organisasi

Setelah mendapatkan satu insight, Anda dapat meninjau isinya untuk memahami konfigurasi kebijakan organisasi pada resource Anda, termasuk pelanggaran apa pun.

Insight kebijakan organisasi (google.orgpolicy.policy.Insight) memiliki komponen berikut, tidak harus dalam urutan ini:

  • associatedRecommendations: ID untuk rekomendasi yang terkait dengan insight. Jika tidak ada rekomendasi yang terkait dengan insight, kolom ini akan kosong.
  • category: Kategori untuk insight kebijakan organisasi selalu SECURITY.
  • content: Memberikan detail tentang resource dan kebijakan organisasi yang dianalisis. Kolom ini berisi komponen berikut:
    • constraint: Batasan yang dianalisis.
    • consolidatedPolicy: Kebijakan organisasi untuk resource yang dianalisis.
    • evaluatedResources: Resource yang dievaluasi untuk menghasilkan insight.
    • violations: Jumlah dan jenis resource yang melanggar kebijakan organisasi.
  • description: Ringkasan insight yang dapat dibaca manusia.
  • etag: ID unik untuk status insight saat ini. Setiap kali insight berubah, nilai etag baru akan ditetapkan.

    Untuk mengubah status insight, Anda harus memberikan etag dari insight yang ada. Penggunaan etag membantu memastikan bahwa setiap operasi hanya dilakukan jika insight tidak berubah sejak terakhir kali Anda mengambilnya.

  • insightSubtype: Subjenis insight.
  • lastRefreshTime: Tanggal saat insight terakhir diperbarui, yang menunjukkan keaktualan data yang digunakan untuk menghasilkan insight.
  • name: Nama insight, dalam format berikut:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

    Placeholder memiliki nilai berikut:

    • RESOURCE_TYPE: Jenis resource tempat insight dibuat.
    • RESOURCE_ID: ID project, folder, atau organisasi tempat insight dibuat.
    • INSIGHT_ID: ID unik untuk insight.
  • observationPeriod: Jangka waktu yang mengarah ke insight. Data sumber yang digunakan untuk membuat insight berakhir pada lastRefreshTime dan dimulai pada lastRefreshTime dikurangi observationPeriod.
  • severity: Tingkat keparahan insight. Insight untuk kebijakan organisasi memiliki tingkat keparahan HIGH.
  • stateInfo: Insight mengalami beberapa transisi status setelah diusulkan:

    • ACTIVE: Insight telah dibuat, tetapi tidak ada tindakan yang diambil, atau tindakan diambil tanpa memperbarui status insight. Insight aktif diperbarui saat data pokok berubah.
    • ACCEPTED: Beberapa tindakan telah dilakukan berdasarkan insight. Insight diterima saat rekomendasi terkait ditandai CLAIMED, SUCCEEDED, atau FAILED, atau insight diterima secara langsung. Saat insight berada dalam status ACCEPTED, konten insight tidak dapat berubah. Insight yang diterima disimpan selama 90 hari setelah diterima.
  • targetResources: Nama lengkap resource project, folder, atau organisasi yang menjadi tujuan insight. Contoh, //cloudresourcemanager.googleapis.com/projects/1234567890.

Menandai insight kebijakan organisasi sebagai ACCEPTED

Jika Anda mengambil tindakan berdasarkan analisis aktif, Anda dapat menandai analisis tersebut sebagai ACCEPTED. Status ACCEPTED memberi tahu Recommender API bahwa Anda telah mengambil tindakan berdasarkan insight ini, yang membantu menyempurnakan rekomendasi Anda.

Insight yang diterima disimpan selama 90 hari setelah ditandai sebagai ACCEPTED.

gcloud

Gunakan perintah gcloud recommender insights mark-accepted dengan ID insight Anda untuk menandai insight sebagai ACCEPTED.

  • INSIGHT_ID: ID insight yang ingin Anda lihat. Untuk menemukan ID, cantumkan insight untuk project, folder, atau organisasi Anda.
  • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola insight-nya. Gunakan nilai project, folder, atau organization.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda kelola insight-nya.
  • ETAG: ID untuk versi insight. Untuk mendapatkan etag, lakukan hal berikut:

    1. Dapatkan insight menggunakan perintah gcloud recommender insights describe.
    2. Temukan dan salin nilai etag dari output, termasuk tanda kutip yang mengapitnya. Contoh, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

Output menampilkan insight, sekarang dengan status ACCEPTED:

associatedRecommendations:
- recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload.
etag: '"2cbb89b22fe2dab7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
lastRefreshTime: '2024-12-10T08:00:00Z'
name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/folders/234567890123

Untuk mempelajari lebih lanjut info status insight, lihat Meninjau insight kebijakan organisasi di halaman ini.

REST

Metode insights.markAccepted Recommender API menandai insight sebagai ACCEPTED.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource yang ingin Anda kelola insight-nya. Gunakan nilai projects, folders, atau organizations.
  • RESOURCE_ID: ID project, folder, atau organisasi yang ingin Anda kelola insight-nya.
  • INSIGHT_ID: ID insight yang ingin Anda lihat. Jika Anda tidak mengetahui ID insight, Anda dapat menemukannya dengan mencantumkan insight di project, folder, atau organisasi. ID insight adalah semua yang ada setelah insights/ di kolom name untuk insight.
  • ETAG: ID untuk versi insight. Untuk mendapatkan etag, lakukan hal berikut:
    1. Dapatkan insight menggunakan metode insights.get.
    2. Temukan dan salin nilai etag dari respons.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted

Meminta isi JSON:

{
  "etag": "ETAG"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Responsnya berisi insight, kini dengan status ACCEPTED:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACCEPTED",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Untuk mempelajari lebih lanjut info status insight, lihat Meninjau insight kebijakan organisasi di halaman ini.

Langkah berikutnya