Menjalankan agen VM di setiap node GKE di seluruh organisasi


Halaman ini menjelaskan cara memastikan bahwa Pengelola VM diaktifkan di semua instance Compute Engine, termasuk VM Google Kubernetes Engine di organisasi, folder, atau project, dengan menggunakan Layanan Kebijakan Organisasi.

Panduan ini ditujukan untuk tim keamanan yang ingin memastikan bahwa semua program yang diperlukan, seperti agen keamanan dan pemantauan, berjalan di semua instance dalam organisasi, folder, atau project. Untuk menerapkan konfigurasi dengan Kebijakan Organisasi saja, gunakan panduan ini. Untuk pendekatan konfigurasi sebagai kode, gunakan Config Sync. Config Sync memungkinkan Anda mengonfigurasi dan mengontrol banyak aspek cluster dan memberikan nilai di luar kebijakan organisasi.

Sebelum membaca halaman ini, pastikan Anda sudah memahami Pengelola VM dan Batasan Pengelola Resource.

Panduan ini menunjukkan cara menerapkan penggunaan VM Manager di setiap project di seluruh organisasi atau folder. Panduan ini tidak menunjukkan cara menyiapkan dan menggunakan VM Manager dengan kebijakan OS. Untuk petunjuk tersebut, lihat Membuat penetapan kebijakan OS.

Tentang VM Manager

VM Manager adalah serangkaian alat yang dapat mengelola sistem operasi untuk fleet virtual machine (VM) besar yang menjalankan Windows dan Linux di Compute Engine. Anda dapat menggunakan VM Manager untuk menerapkan kebijakan OS guna menyesuaikan program yang berjalan di VM. Misalnya, Anda dapat menentukan kebijakan untuk menginstal agen di resource dan menggunakan kembali kebijakan tersebut di beberapa resource. VM Manager dinonaktifkan secara default di project Google Cloud.

Anda dapat menyaring tempat VM Manager menerapkan kebijakan menggunakan OSPolicyAssignments, yang memungkinkan Anda menjangkau kebijakan OS ke VM tertentu menggunakan pemilih. Misalnya, semua VM node GKE memiliki label goog-gke-node, yang dapat Anda targetkan dengan penetapan kebijakan OS.

Kebijakan organisasi dan VM Manager

Jika organisasi Google Cloud Anda memiliki beberapa tingkat hierarki seperti folder dan subfolder, mengaktifkan VM Manager di semua project ini secara manual dapat menyebabkan overhead pengelolaan yang tidak perlu. Anda dapat mewajibkan semua project di seluruh folder atau organisasi mengaktifkan VM Manager di semua VM menggunakan Layanan Kebijakan Organisasi dengan batasan constraints/compute.requireOsConfig. Beberapa manfaat menerapkan VM Manager menggunakan kebijakan organisasi mencakup hal berikut:

  • Semua project baru menambahkan label metadata enable-osconfig=TRUE ke setiap project dan VM.
  • Jika ada yang mencoba menghapus label ini atau menetapkannya ke nilai selain true, perubahan tersebut akan ditolak.
  • Jika ada yang mencoba membuat atau memperbarui VM dengan cara menetapkan kunci metadata enable-osconfig ke nilai selain true, perubahan tersebut akan ditolak.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.
  • Pastikan Anda sudah menggunakan VM Manager dengan kebijakan OS dan penetapan kebijakan OS untuk menjalankan agen di VM. Untuk mengetahui petunjuknya, lihat Membuat penetapan kebijakan OS.
  • Aktifkan API Cloud Resource Manager API, OS Config API.

    Mengaktifkan API

Batasan

Kebijakan organisasi constraints/compute.requireOsConfig memiliki batasan berikut:

  • Resource dengan pelanggaran yang sudah ada sebelumnya tidak akan berubah dengan kebijakan organisasi baru. Anda dapat menetapkan metadata untuk kebijakan secara manual atau menggunakan gcloud pada resource yang ada.
  • Siapa pun yang memiliki izin untuk mengubah metadata pada instance Compute Engine dalam project dapat menonaktifkan osconfig-agent di VM dengan menetapkan kolom metadata osconfig-disabled-features.
  • Jika osconfig-agent tidak berjalan, VM akan muncul sebagai tidak mematuhi kebijakan di dasbor Pengelola VM. Misalnya, hal ini mungkin terjadi jika pengguna menonaktifkan agen secara manual.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin) di organisasi. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengaktifkan compute.requireOsConfig di seluruh organisasi

Setelah mengaktifkan VM Manager dan menentukan cakupan OSPolicyAssignment ke VM, Anda dapat memastikan bahwa VM Manager diaktifkan secara default di project baru apa pun dengan kebijakan organisasi constraints/compute.requireOsConfig. Cara Anda menerapkan constraints/compute.requireOsConfig bergantung pada versi API yang Anda gunakan.

Organization Policy v2 API

Anda dapat menerapkan batasan constraints/compute.requireOsConfig di seluruh resource Google Cloud seperti folder atau organisasi menggunakan gcloud CLI atau konsol Google Cloud.

gcloud

  1. Pastikan batasan compute.requireOsConfig belum diterapkan:

    gcloud org-policies describe \
        constraints/compute.requireOsConfig \
        --organization=ORGANIZATION_ID
    

    Ganti ORGANIZATION_ID dengan ID Organisasi Anda.

    Jika kebijakan tidak disetel, perintah ini akan menampilkan error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

    Jika kebijakan memang ada, perintah akan menampilkan kebijakan saat ini. Menerapkan kebijakan baru akan menimpa kebijakan yang ada, jika ada.

  2. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

    name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig
    spec:
      rules:
      - enforce: true
    
  3. Jalankan perintah set-policy:

    gcloud org-policies set-policy /tmp/policy.yaml
    
  4. Pastikan kebijakan baru diterapkan:

    gcloud org-policies describe \
        constraints/compute.requireOsConfig --effective \
        --organization=ORGANIZATION_ID
    

    Output perintah ini akan mirip dengan berikut ini:

    name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig
    spec:
      rules:
      - enforce: true
    

console

  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.

  3. Di halaman Kebijakan organisasi, gunakan filter untuk menelusuri compute.requireOsConfig.

  4. Klik nama kebijakan untuk membuka halaman Detail Kebijakan.

  5. Klik Manage policy untuk memperbarui kebijakan organisasi untuk resource ini.

  6. Di halaman Edit policy, pilih Override parent's policy.

  7. Pilih Tambahkan aturan.

  8. Di bagian Enforcement, ubah penerapan kebijakan organisasi ini ke on.

  9. Untuk menerapkan kebijakan, klik Set policy.

Resource Manager v1 API

  1. Pastikan batasan compute.requireOsConfig belum diterapkan:

    gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \
        --organization ORGANIZATION_ID
    

    Ganti ORGANIZATION_ID dengan ID Organisasi Anda.

    Jika kebijakan tidak ditetapkan, perintah ini akan menampilkan kebijakan yang tidak lengkap, seperti contoh berikut:

    constraint: "constraints/compute.requireOsConfig"
    etag: BwVJi0OOESU=
    

    Jika kebijakan memang ada, perintah akan menampilkan kebijakan saat ini. Menerapkan kebijakan baru akan menimpa kebijakan yang ada, jika ada.

  2. Tetapkan kebijakan yang akan diterapkan di organisasi:

    gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \
        --organization ORGANIZATION_ID
    

    Output perintah ini akan mirip dengan berikut ini:

    booleanPolicy:
      enforced: true
    constraint: constraints/compute.requireOsConfig
    etag: BwVJitxdiwY=
    
  3. Pastikan kebijakan baru diterapkan:

    gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \
        --effective \
        --organization ORGANIZATION_ID
    

    Output perintah ini akan mirip dengan berikut ini:

    booleanPolicy:
      enforced: true
    constraint: constraints/compute.requireOsConfig
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Untuk mengetahui informasi selengkapnya tentang kebijakan lain yang dapat Anda terapkan, atau cara mengubah atau menghapus kebijakan, lihat dokumentasi Resource Manager.

Langkah selanjutnya

Pelajari logging audit GKE lebih lanjut.