Membatasi workload GKE yang memiliki hak istimewa di organisasi

Anda dapat menggunakan kebijakan untuk mengontrol workload istimewa mana yang dapat berjalan di cluster Google Kubernetes Engine (GKE) di seluruh organisasi Anda Cloud de Confiance by S3NS . Dokumen ini menunjukkan cara menggunakan kebijakan untuk menentukan sumber workload yang disetujui dan menerapkan praktik terbaik untuk meningkatkan postur keamanan Anda.

Dokumen ini ditujukan bagi admin identitas dan akun yang ingin mengizinkan hanya workload istimewa yang disetujui untuk berjalan di mana saja dalam organisasi. Anda seharusnya sudah memahami konsep di halaman berikut:

Cara kerja kontrol penerimaan workload istimewa untuk organisasi

Secara default, GKE Autopilot menerapkan serangkaian langkah keamanan untuk beban kerja. Satu-satunya cara untuk menjalankan workload yang melanggar batasan ini adalah dengan menginstal daftar yang diizinkan untuk workload tersebut. Untuk menginstal daftar yang diizinkan dari sumber tertentu, cluster harus dikonfigurasi untuk menerima daftar yang diizinkan dari sumber tersebut.

Secara default, Cloud de Confiance organisasi mengizinkan admin platform mengonfigurasi cluster untuk menerima daftar yang diizinkan dari partner GKE dan project open source terverifikasi. Jika organisasi Anda memiliki persyaratan keamanan untuk membatasi beban kerja istimewa ke serangkaian sumber yang diketahui secara eksplisit, Anda dapat menggunakan kebijakan organisasi untuk mengubah perilaku default.

Saat Anda menerapkan daftar sumber yang diizinkan dan disetujui untuk organisasi, folder, atau project, admin platform hanya dapat menentukan sumber tersebut saat membuat atau mengupdate cluster Autopilot atau Standard. Jika cluster dibuat atau diupdate dengan sumber yang tidak disetujui, operasi akan gagal.

Kebijakan organisasi yang harus Anda konfigurasi bergantung pada kasus penggunaan Anda, sebagai berikut:

Sebelum memulai

  1. Enable the Resource Manager API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  2. Jika tim Anda memiliki daftar yang diizinkan untuk beban kerja istimewa yang mereka miliki, minta mereka untuk memberi Anda jalur ke daftar yang diizinkan tersebut di Cloud Storage.

Peran dan izin yang diperlukan

Guna mendapatkan izin yang diperlukan untuk mengelola kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Organization policy administrator (roles/orgpolicy.policyAdmin) di organisasi, folder, atau project. 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.

Mengonfigurasi kebijakan organisasi untuk daftar yang diizinkan

Anda dapat mengontrol sumber yang disetujui dari daftar yang diizinkan untuk organisasi, folder, atau project dengan membuat atau memperbarui kebijakan organisasi berdasarkan batasan constraints/container.managed.autopilotPrivilegedAdmission yang dikelola. Saat Anda menerapkan kebijakan organisasi ini, administrator cluster hanya dapat menginstal daftar yang diizinkan dari sumber yang Anda tentukan dalam kebijakan.

Selain langkah-langkah ini, sebaiknya terapkan kebijakan organisasi yang hanya mengizinkan cluster Autopilot berjalan di lingkungan Anda. Jika tidak ada cluster Standar di lingkungan, hanya beban kerja istimewa yang disetujui yang dapat berjalan. Untuk mengetahui informasi selengkapnya, lihat bagian Mengonfigurasi kebijakan organisasi agar hanya mengizinkan cluster Autopilot.

Untuk mengonfigurasi kebijakan organisasi untuk daftar yang diizinkan beban kerja istimewa yang disetujui, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Organization policies:

    Buka Organization policies

  2. Dalam tabel batasan, temukan batasan terkelola container.managed.autopilotPrivilegedAdmission.

  3. Klik Tindakan > Edit kebijakan. Halaman Edit kebijakan akan terbuka.

  4. Di bagian Policy source, pilih Override parent's policy.

  5. Di bagian Aturan, klik Tambahkan aturan.

  6. Di bagian Penegakan, pilih Aktif. Bagian Parameters akan muncul.

  7. Untuk mengontrol apakah daftar yang diizinkan yang disetujui GKE dapat diinstal, ikuti langkah-langkah berikut:

    1. Di parameter allowAnyGKEPath, klik Edit. Panel Edit nilai parameter akan terbuka.
    2. Di bagian Jenis nilai, pilih Ditentukan pengguna.
    3. Di bagian Nilai yang ditentukan pengguna, pilih salah satu opsi berikut:

      • Benar: administrator dapat mengonfigurasi cluster untuk menjalankan daftar yang diizinkan dari jalur mana pun yang dimulai dengan gke://. Ini adalah nilai default.
      • False: administrator dapat mengonfigurasi cluster untuk menjalankan daftar yang diizinkan hanya dari jalur yang Anda tentukan dalam parameter allowPaths kebijakan organisasi. Jika Anda tidak menentukan jalur dalam parameter allowPaths, cluster tidak dapat menjalankan daftar yang diizinkan dari sumber mana pun.
    4. Klik Simpan. Panel Edit nilai parameter akan ditutup.

  8. Untuk menentukan daftar yang diizinkan tertentu yang dapat diinstal, ikuti langkah-langkah berikut:

    1. Di parameter allowPaths, klik Edit. Panel Edit nilai parameter akan terbuka.
    2. Di bagian Jenis nilai, pilih Ditentukan pengguna.
    3. Di bagian Nilai yang ditentukan pengguna, tentukan satu atau beberapa jalur ke sumber yang diizinkan. Untuk mengetahui informasi selengkapnya tentang apa yang dapat Anda tentukan, lihat Jalur daftar yang diizinkan.
    4. Klik Simpan. Panel Edit nilai parameter akan ditutup.
    5. Di bagian Edit aturan, klik Selesai.
  9. Opsional: Untuk menguji dampak penerapan kebijakan organisasi, klik Test changes. Untuk mengetahui informasi selengkapnya, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.

  10. Untuk menerapkan kebijakan dalam mode uji coba, klik Set dry run policy.

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

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

gcloud

  1. Buat file YAML yang menentukan kebijakan organisasi:

    name: RESOURCE_TYPE/RESOURCE_ID/policies/container.managed.autopilotPrivilegedAdmission
    spec:
      rules:
      - enforce: true
        parameters:
          allowAnyGKEPath: ALLOW_GKE_PATHS
          allowPaths:
          - ALLOWLIST1_PATH
          - ALLOWLIST2_PATH
    

    Ganti kode berikut:

    • RESOURCE_TYPE: jenis Cloud de Confiance resource. Nilai ini harus berupa salah satu nilai berikut:

      • organizations
      • folders
      • projects
    • RESOURCE_ID: ID organisasi, ID folder, atau ID project.

    • ALLOW_GKE_PATHS: apakah akan mengizinkan daftar yang diizinkan yang disetujui GKE. Tentukan salah satu nilai berikut:

      • True: mengizinkan konfigurasi cluster dengan beban kerja partner GKE atau beban kerja open source terverifikasi. Ini adalah nilai defaultnya.
      • False: mengizinkan konfigurasi cluster hanya dengan jalur di kolom allowPaths.

    • ALLOWLIST1_PATH,ALLOWLIST2_PATH: jalur ke daftar yang diizinkan. Untuk mengetahui informasi selengkapnya tentang apa yang dapat Anda tentukan, lihat Jalur daftar yang diizinkan.

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

  2. Untuk menetapkan kebijakan organisasi dalam mode uji coba, tentukan nilai dryRunSpec untuk tanda --update-mask dalam perintah gcloud org-policies set-policy:

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

    Ganti POLICY_FILEPATH dengan jalur ke file YAML yang Anda buat di langkah sebelumnya.

  3. Opsional: Untuk menguji dampak penerapan kebijakan organisasi ini, gunakan perintah gcloud policy-intelligence simulate org-policy:

    gcloud policy-intelligence simulate org-policy \
        --organization=ORGANIZATION_ID \
        --policy-path=POLICY_FILEPATH
    

    Ganti ORGANIZATION_ID dengan ID organisasi Anda.

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

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

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

Mengonfigurasi kebijakan organisasi untuk hanya mengizinkan cluster Autopilot

Bagian ini menunjukkan cara mengonfigurasi kebijakan organisasi yang hanya mengizinkan cluster Autopilot. Sebaiknya konfigurasi kebijakan ini selain membuat kebijakan organisasi untuk daftar yang diizinkan, karena cluster Standar dapat menjalankan sebagian besar workload yang memiliki hak istimewa. Mengizinkan hanya cluster Autopilot berarti lingkungan Anda hanya menjalankan workload istimewa yang Anda izinkan. Langkah-langkah di bagian ini bersifat opsional.

Untuk mengonfigurasi kebijakan ini, pilih salah satu opsi berikut:

Konsol

  1. Buat batasan kustom yang hanya mengizinkan pembuatan cluster Autopilot:

    1. Di konsol Cloud de Confiance , buka halaman Organization policies:

      Buka Organization policies

    2. Klik Custom constraint. Halaman Buat batasan kustom akan terbuka.

    3. Tentukan nama tampilan dan ID unik untuk batasan.

    4. Di bagian Penegakan, ikuti langkah-langkah berikut:

      1. Dalam daftar Jenis resource, pilih container.googleapis.com/Cluster.
      2. Dalam daftar Metode penerapan, pilih Penerapan saat pembuatan.
      3. Di bagian Kondisi, klik Edit Kondisi. Panel Tambahkan kondisi akan terbuka.
      4. Tentukan ekspresi berikut:

        resource.autopilot.enabled == true
        
      5. Klik Simpan. Panel Tambahkan kondisi akan ditutup.

      6. Di bagian Tindakan, pilih Izinkan.

    5. Klik Create constraint.

  2. Buat kebijakan organisasi kustom yang menerapkan batasan:

    1. Dalam tabel batasan, temukan batasan kustom yang Anda buat pada langkah sebelumnya.
    2. Klik Tindakan > Edit kebijakan. Halaman Edit kebijakan akan terbuka.
    3. Di bagian Policy source, pilih Override parent's policy.
    4. Klik Add a rule.
    5. Di bagian Penegakan, pilih Aktif.
    6. Untuk menguji dampak penerapan kebijakan organisasi, klik Test changes. Untuk mengetahui informasi selengkapnya, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.
    7. Untuk menerapkan kebijakan dalam mode uji coba, klik Set dry run policy.
    8. Setelah Anda memverifikasi bahwa kebijakan organisasi berfungsi sebagaimana mestinya dalam mode uji coba, tetapkan kebijakan aktif dengan mengklik Set policy.

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

gcloud

  1. Buat batasan kustom yang hanya mengizinkan pembuatan cluster Autopilot:

    1. Buat file YAML yang menentukan batasan kustom:

      name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
      resourceTypes: container.googleapis.com/Cluster
      methodTypes:
      - CREATE
      condition: resource.autopilot.enabled == true
      actionType: ALLOW
      displayName: "Allow only Autopilot clusters"
      

      Ganti kode berikut:

      • ORGANIZATION_ID: ID organisasi Anda.
      • CONSTRAINT_NAME: nama untuk batasan baru Anda.
    2. Tetapkan batasan kustom:

      gcloud org-policies set-custom-constraint CONSTRAINT_FILEPATH
      

      Ganti CONSTRAINT_FILEPATH dengan jalur ke file YAML yang Anda buat di langkah sebelumnya.

    Batasan kustom tersedia untuk digunakan dalam kebijakan organisasi.

  2. Buat kebijakan organisasi kustom yang menerapkan batasan:

    1. Buat file YAML yang menentukan kebijakan organisasi:

      name: RESOURCE_TYPE/RESOURCE_ID/policies/custom.CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      

      Ganti kode berikut:

      • RESOURCE_TYPE: jenis Cloud de Confiance resource. Nilai ini harus berupa salah satu nilai berikut:

        • organizations
        • folders
        • projects
      • RESOURCE_ID: ID organisasi, folder, atau project.

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

    2. Untuk menetapkan kebijakan organisasi dalam mode uji coba, tentukan nilai dryRunSpec untuk tanda --update-mask dalam perintah gcloud org-policies set-policy:

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

      Ganti POLICY_FILEPATH dengan jalur ke file YAML yang Anda buat di langkah sebelumnya.

    3. Untuk menguji dampak penerapan kebijakan organisasi ini, gunakan perintah gcloud policy-intelligence simulate org-policy:

      gcloud policy-intelligence simulate org-policy \
          --organization=ORGANIZATION_ID \
          --policy-path=POLICY_FILEPATH
      

      Ganti ORGANIZATION_ID dengan ID organisasi Anda.

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

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

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

Langkah berikutnya