Mencegah pembuatan VM yang menggunakan metadata container

Untuk memastikan bahwa resource di organisasi Anda tidak menggunakan agen startup penampung yang tidak digunakan lagi dan metadata gce-container-declaration terkait, Google merekomendasikan agar Anda menerapkan kebijakan organisasi. Batasan terkelola compute.managed.disableVmsWithContainerStartupAgent, jika diterapkan, akan menonaktifkan pembuatan resource yang menggunakan metadata yang tidak digunakan lagi.

Dokumen ini menjelaskan cara melakukan hal berikut:

  • Menerapkan kebijakan organisasi untuk menonaktifkan pembuatan instance Compute Engine yang menggunakan agen startup penampung.
  • Memantau dampak kebijakan organisasi dengan menerapkan kebijakan dalam mode uji coba.
  • Mengidentifikasi project yang mencoba menggunakan agen yang tidak digunakan lagi dengan Logs Explorer.

Menerapkan kebijakan organisasi untuk menonaktifkan pembuatan VM yang menggunakan metadata penampung

Untuk mencegah pembuatan resource yang menggunakan agen startup penampung yang tidak digunakan lagi, Google merekomendasikan agar Anda menerapkan kebijakan organisasi. Batasan constraints/compute.managed.disableVmsWithContainerStartupAgent mencegah pembuatan resource baru dengan kunci metadata gce-container-declaration. Batasan ini tidak memengaruhi instance atau template instance yang ada.

Anda dapat menerapkan batasan ini menggunakan Google Cloud konsol, Google Cloud CLI, atau Compute Engine API.

Konsol

Untuk menetapkan kebijakan organisasi menggunakan konsol, selesaikan langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Organization policies.

    Buka Organization policies

  2. Dari pemilih project, pilih project, folder, atau organisasi yang kebijakan organisasinya ingin Anda edit.

    Halaman Organization policies menampilkan daftar batasan kebijakan organisasi yang tersedia.

  3. Pilih batasan Disable creation of Compute Engine instances that use the deprecated container startup agent (konlet) dari daftar batasan. Halaman Policy details yang muncul menjelaskan batasan dan memberikan informasi tentang cara batasan diterapkan.

  4. Untuk memperbarui kebijakan organisasi untuk resource ini, klik Manage policy.

  5. Di halaman Edit policy, klik Override parent's policy.

  6. Pilih Add a rule.

  7. Di bagian Enforcement, pilih On.

  8. Secara opsional, untuk melihat pratinjau dampak perubahan kebijakan organisasi Anda sebelum diterapkan, klik Test changes. Untuk mengetahui informasi selengkapnya tentang menguji perubahan kebijakan organisasi, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.

  9. Untuk menerapkan kebijakan organisasi dalam mode uji coba, klik Set dry run policy. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan organisasi dalam mode uji coba dari kebijakan aktif.

  10. Setelah Anda memverifikasi bahwa kebijakan organisasi dalam mode uji coba berfungsi sebagaimana mestinya, tetapkan kebijakan aktif dengan mengklik Set policy.

gcloud

  1. Buat file YAML untuk menentukan kebijakan organisasi.

    name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent
    spec:
      rules:
      - enforce: true
    dryRunSpec:
      rules:
      - enforce: true
    

    Ganti kode berikut:

    • RESOURCE_TYPE dengan organizations, folders, atau projects.

    • RESOURCE_ID dengan ID organisasi, ID folder, ID project, atau nomor project Anda, bergantung pada jenis resource yang ditentukan di RESOURCE_TYPE.

    Contoh berikut menunjukkan file YAML yang menerapkan kebijakan organisasi untuk project dengan ID 123456:

    name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent
    spec:
      rules:
      - enforce: true
    dryRunSpec:
      rules:
      - enforce: true
    

    Secara opsional, untuk membuat kebijakan organisasi bersyarat pada tag, tambahkan blok condition ke rules. Jika menambahkan aturan kondisional ke kebijakan organisasi, Anda harus menambahkan setidaknya satu aturan tanpa syarat atau kebijakan tidak dapat disimpan. Untuk mengetahui detail selengkapnya, lihat Menetapkan kebijakan organisasi dengan tag.

  2. Jalankan perintah dengan tanda dryRunSpec untuk menetapkan kebijakan organisasi dalam mode uji coba:org-policies set-policy

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    Ganti POLICY_PATH dengan jalur lengkap ke file YAML kebijakan organisasi Anda.

    Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi uji coba, lihat Membuat kebijakan organisasi dalam mode uji coba.

  3. Gunakan policy-intelligence simulate orgpolicy perintah untuk melihat pratinjau dampak perubahan kebijakan organisasi Anda sebelum diterapkan:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    Ganti kode berikut:

    • ORGANIZATION_ID dengan ID organisasi Anda, seperti 1234567890123. Simulasi perubahan di beberapa organisasi tidak didukung.

    • POLICY_PATH dengan jalur lengkap ke file YAML kebijakan organisasi Anda.

    Untuk mengetahui informasi selengkapnya tentang menguji perubahan kebijakan organisasi, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.

  4. Setelah Anda memverifikasi bahwa kebijakan organisasi dalam mode uji coba berfungsi sebagaimana mestinya, tetapkan kebijakan aktif dengan perintah org-policies set-policy dan tanda spec:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    Ganti POLICY_PATH dengan jalur lengkap ke file YAML kebijakan organisasi Anda.

REST

Untuk menetapkan kebijakan organisasi, gunakan organizations.policies.create metode.

POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies

Isi JSON permintaan berisi definisi kebijakan organisasi. Jika batasan ini tidak mendukung parameter, hapus blok parameters di bagian rules.

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent",
  "spec": {
    "rules": [
      {
        "enforce": true,
      }
    ]
  },
  "dryRunSpec": {
    "rules": [
      {
        "enforce": true,
      }
    ]
  }
}

Ganti kode berikut:

  • RESOURCE_TYPE dengan organizations, folders, atau projects.

  • RESOURCE_ID dengan ID organisasi, ID folder, ID project, atau nomor project Anda, bergantung pada jenis resource yang ditentukan di RESOURCE_TYPE.

Contoh berikut menunjukkan isi permintaan yang menerapkan kebijakan organisasi untuk project dengan ID 123456:

  {
    "name": "projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent",
    "spec": {
      "rules": [
        {
          "enforce": true,
        }
      ]
    },
    "dryRunSpec": {
      "rules": [
        {
          "enforce": true,
        }
      ]
    }
  }
  ```

Optionally, to make the organization policy conditional on a tag, add a
`condition` block to the `rules`. If you add a conditional rule to an
organization policy, you must add at least one unconditional rule or the
policy cannot be saved. For more details, see
[Setting an organization policy with tags](/resource-manager/docs/organization-policy/tags-organization-policy).

For more information about dry-run organization policies, see
[Create an organization policy in dry-run mode](/resource-manager/docs/organization-policy/dry-run-policy).

Memantau penggunaan metadata yang tidak digunakan lagi dengan menerapkan kebijakan dalam mode uji coba

Daripada menerapkan kebijakan secara langsung, yang memblokir pembuatan instance yang menggunakan metadata deklarasi penampung, Anda dapat menerapkan kebijakan dalam mode uji coba. Setelan ini memungkinkan Anda memantau dan mencatat tindakan apa pun yang dapat diblokir oleh kebijakan, tanpa benar-benar mengganggu operasi. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan organisasi dalam mode uji coba.

Saat tindakan memicu kebijakan uji coba (misalnya, jika Anda mencoba untuk membuat instance dengan kunci metadata gce-container-declaration), entri log akan dibuat di Cloud Audit Logs.

Untuk mengidentifikasi project yang mencoba menggunakan agen yang tidak digunakan lagi, selesaikan langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Di panel Query, masukkan kueri berikut:

    protoPayload.metadata.dryRun="true"
    protoPayload.methodName="CheckOrgPolicy"
    protoPayload.resourceName =~ "/compute.managed.disableVmsWithContainerStartupAgent"
    
  3. Klik Run query.

  4. Identifikasi project yang mencoba menggunakan agen yang tidak digunakan lagi dengan meninjau entri log. Log untuk pelanggaran uji coba memiliki karakteristik berikut:

    • Log tersebut terkait dengan orgpolicy.googleapis.com.
    • Kolom protoPayload.metadata.dryRun ditetapkan ke true.
    • Batasan constraints/compute.managed.disableVmsWithContainerStartupAgent disertakan dalam detail pelanggaran.
  5. Tinjau informasi dalam log audit untuk memahami tempat dan alasan agen yang tidak digunakan lagi masih digunakan. Informasi ini dapat memandu upaya untuk memigrasikan workload tersebut ke alternatif yang didukung.

  6. Setelah Anda memverifikasi bahwa kebijakan organisasi dalam mode uji coba berfungsi sebagaimana mestinya, terapkan kebijakan dengan mengubah status penerapan dari mode uji coba ke mode aktif.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan Logs Explorer, lihat Melihat log menggunakan Logs Explorer.

Langkah berikutnya