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:

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

Terapkan kebijakan organisasi untuk menonaktifkan pembuatan VM yang menggunakan metadata penampung

Untuk mencegah pembuatan resource yang menggunakan agen startup container 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 konsol Google Cloud , buka halaman Organization policies.

    Buka Organization policies

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

    Halaman Kebijakan organisasi menampilkan daftar batasan kebijakan organisasi yang tersedia.

  3. Pilih batasan Nonaktifkan pembuatan instance Compute Engine yang menggunakan agen startup container yang tidak digunakan lagi (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 Tambahkan aturan.

  7. Di bagian Enforcement, pilih On.

  8. Jika perlu melihat pratinjau dampak perubahan kebijakan organisasi sebelum diterapkan, klik Uji perubahan. Untuk mengetahui informasi selengkapnya tentang pengujian 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/CONSTRAINT_NAME
    spec:
    rules:
        - enforce: ENFORCEMENT_STATE
    dryRunSpec:
      rules:
      - enforce: ENFORCEMENT_STATE
    

    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 dalam RESOURCE_TYPE.

    • CONSTRAINT_NAME dengan nama batasan yang ingin Anda tetapkan.

    • ENFORCEMENT_STATE dengan true untuk menerapkan kebijakan organisasi ini jika disetel, atau false untuk menonaktifkannya jika disetel.

    Secara opsional, agar kebijakan organisasi menjadi 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 org-policies set-policy dengan tanda dryRunSpec untuk menetapkan kebijakan organisasi dalam mode uji coba:

     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 perintah policy-intelligence simulate orgpolicy 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 pengujian 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 metode organizations.policies.create.

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

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

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
  "spec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
      }
    ]
  }
  "dryRunSpec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
      }
    ]
  }
}

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 dalam RESOURCE_TYPE.

  • CONSTRAINT_NAME dengan nama batasan yang ingin Anda tetapkan.

  • ENFORCEMENT_STATE dengan true untuk menerapkan kebijakan organisasi ini jika disetel, atau false untuk menonaktifkannya jika disetel.

Secara opsional, agar kebijakan organisasi menjadi 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.

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

Pantau 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 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 konsol Google Cloud , 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:

    • Mereka 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 di mana dan mengapa 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 menjadi aktif.

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

Langkah berikutnya