Simulator Kebijakan untuk Kebijakan Organisasi memungkinkan Anda melihat pratinjau dampak batasan khusus atau kebijakan organisasi baru yang menerapkan batasan kustom sebelum diterapkan di lingkungan produksi Anda. Policy Simulator menyediakan daftar resource yang melanggar kebijakan yang diusulkan sebelum diterapkan, sehingga Anda dapat mengonfigurasi ulang resource tersebut, meminta pengecualian, atau mengubah cakupan kebijakan organisasi, semuanya tanpa mengganggu developer atau menurunkan lingkungan Anda.
Halaman ini menjelaskan cara menguji perubahan pada kebijakan organisasi menggunakan Simulator Kebijakan. Panduan ini juga menjelaskan cara menafsirkan hasil simulasi dan cara menerapkan kebijakan organisasi yang diuji jika Anda memilihnya.
Sebelum memulai
-
Jika Anda menggunakan Google Cloud CLI, tetapkan project yang ingin digunakan untuk melakukan panggilan API:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama atau ID project. -
Aktifkan API Policy Simulator and Resource Manager.
- Opsional: Dapatkan pengantar untuk Organization Policy Service.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menjalankan dan mengakses simulasi,
minta administrator Anda untuk memberi Anda peran IAM
OrgPolicy Simulator Admin (roles/policysimulator.orgPolicyAdmin
) di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menjalankan dan mengakses simulasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menjalankan dan mengakses simulasi:
-
orgpolicy.constraints.list
-
orgpolicy.customConstraints.get
-
orgpolicy.policies.list
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.listResource
-
cloudasset.assets.listOrgPolicy
-
policysimulator.orgPolicyViolationsPreviews.list
-
policysimulator.orgPolicyViolationsPreviews.get
-
policysimulator.orgPolicyViolationsPreviews.create
-
policysimulator.orgPolicyViolations.list
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Menguji perubahan kebijakan
Anda dapat menguji perubahan pada batasan kustom, kebijakan organisasi yang menerapkan batasan kustom, atau keduanya secara bersamaan.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang perubahannya ingin Anda uji pada kebijakan organisasi. Untuk menguji perubahan pada batasan khusus, Anda harus memilih resource organisasi.
Jika Anda ingin menguji batasan kustom baru, klik
Custom constraint. Jika Anda ingin membuat perubahan pada batasan kustom yang sudah ada, pilih batasan tersebut dari daftar di halaman Organization policies, lalu klik Edit constraint.Buat atau perbarui batasan kustom yang ingin Anda uji.
Misalnya, untuk menentukan batasan kustom yang membatasi pembuatan resource cluster Google Kubernetes Engine tempat Otorisasi Biner tidak diaktifkan, lakukan hal berikut:
Di kotak Resource type, pilih
container.googleapis.com/Cluster
.Di bagian Metode penerapan, pilih Terapkan saat buat.
Klik
Edit kondisi.Di panel Add condition, masukkan
resource.binaryAuthorization.enabled == true
.Klik Simpan.
Di bagian Tindakan, pilih Izinkan.
Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola batasan kustom.
Klik Batasan pengujian.
Jika ini adalah batasan baru atau batasan yang tidak diterapkan oleh kebijakan organisasi, Anda harus menentukan kebijakan organisasi.
Di kotak Select scope, pilih resource yang ingin Anda uji batasan kustom ini.
Klik Sesuaikan.
Klik Tambahkan aturan.
Di bagian Penegakan, pilih Aktif, lalu klik Selesai.
Klik Lanjutkan.
Halaman Simulation history akan muncul, dengan daftar simulasi yang Anda lakukan dalam 14 hari terakhir. Lihat hasil Simulator Kebijakan di halaman ini untuk mengetahui informasi selengkapnya.
gcloud
Untuk menguji batasan kustom, buat file JSON atau YAML yang menentukan batasan kustom yang ingin Anda uji.
Misalnya, batasan kustom yang membatasi pembuatan resource cluster Google Kubernetes Engine yang tidak mengaktifkan Otorisasi Biner seperti berikut:
name: "organizations/ORGANIZATION_ID/customConstraints/custom.EnforceGKEBinaryAuthz" resource_types: "container.googleapis.com/Cluster" method_types: CREATE condition: "resource.binaryAuthorization.enabled == true" action_type: ALLOW
Ganti
ORGANIZATION_ID
dengan ID organisasi Anda, seperti1234567890123
.Untuk mengetahui informasi selengkapnya tentang cara membuat batasan kustom, lihat Membuat dan mengelola batasan kustom.
Untuk menguji kebijakan organisasi yang menerapkan batasan kustom secara bersyarat berdasarkan keberadaan tag tertentu, buat file JSON atau YAML yang menentukan kebijakan organisasi yang ingin Anda uji.
Misalnya, kebijakan organisasi berikut membatasi pembuatan resource cluster Google Kubernetes Engine yang tidak mengaktifkan Otorisasi Biner, kecuali pada resource yang memiliki tag
env=dev
terlampir.name: "organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz" spec: rules: - condition: expression: resource.matchTag('env', 'dev') enforce: false - enforce: true
Ganti
ORGANIZATION_ID
dengan ID organisasi Anda, seperti1234567890123
.Untuk informasi selengkapnya tentang kebijakan organisasi bersyarat, lihat Menetapkan kebijakan organisasi dengan tag.
Untuk menguji kebijakan organisasi yang menerapkan batasan kustom, buat file JSON atau YAML yang menentukan kebijakan organisasi yang ingin Anda uji.
Misalnya, kebijakan organisasi yang membatasi pembuatan resource cluster Google Kubernetes Engine yang tidak mengaktifkan Otorisasi Biner serupa dengan kebijakan berikut:
name: "organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz" spec: rules: - enforce: true
Ganti
ORGANIZATION_ID
dengan ID organisasi Anda, seperti1234567890123
.Untuk menguji penghapusan kebijakan organisasi yang menerapkan batasan khusus, buat file JSON atau YAML yang menentukan kebijakan organisasi, tetapi tidak menetapkan aturan, dan mewarisi kebijakan dari resource induknya.
Misalnya, kebijakan organisasi berikut akan menyimulasikan penghapusan batasan kustom
custom.EnforceGKEBinaryAuthz
yang ada.name: "organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz" spec: inheritFromParent: true
Jalankan perintah berikut untuk menyimulasikan perubahan pada batasan kustom, kebijakan organisasi, atau keduanya:
gcloud beta policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --custom-constraints=CONSTRAINT_PATH \ --policies=POLICY_PATH
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti1234567890123
. Simulasi perubahan pada beberapa organisasi tidak didukung.CONSTRAINT_PATH
: jalur lengkap ke batasan kustom yang telah Anda buat atau perbarui. Misalnya,tmp/constraint.yaml
Jika menetapkan tanda--policies
, Anda tidak perlu menetapkan tanda--custom-constraints
.POLICY_PATH
: jalur lengkap ke kebijakan organisasi yang telah Anda buat atau perbarui. Misalnya,tmp/policy.yaml
Jika menetapkan tanda--custom-constraints
, Anda tidak perlu menetapkan tanda--policies
.
Setelah beberapa menit, perintah tersebut mencetak daftar resource yang akan melanggar perubahan pada batasan kustom, kebijakan organisasi, atau keduanya.
Hasilnya juga dapat dilihat di Konsol Google Cloud. Lihat Hasil Simulator Kebijakan di halaman ini untuk mempelajari cara membaca hasilnya.
Berikut adalah contoh respons untuk simulasi kebijakan organisasi.
Simulasi ini melibatkan batasan kustom yang membatasi pembuatan resource cluster Google Kubernetes Engine yang tidak mengaktifkan Otorisasi Biner. Dalam hal
ini, jika perubahan yang diusulkan diterapkan, dua resource cluster akan
melanggar kebijakan: orgpolicy-test-cluster
pada project
simulator-test-project
, dan autopilot-cluster-1
pada project
orgpolicy-test-0
.
Waiting for operation [organizations/012345678901/locations/global/orgPolic
yViolationsPreviews/85be9a2d-8c49-470d-a65a-d0cb9ffa8f83/operations/1883a83
c-c448-42e5-a7c5-10a850928f06] to complete...done.
---
customConstraint:
actionType: ALLOW
condition: resource.binaryAuthorization.enabled == true
methodTypes:
- CREATE
name: organizations/012345678901/customConstraints/custom.EnforceGKEBinaryAuthz
resourceTypes:
- container.googleapis.com/Cluster
name: organizations/012345678901/locations/global/orgPolicyViolationsPreviews/3dd47fd3-6df1-4156-8f10-413a3fc0ed83/orgPolicyViolations/b9fd23a5-7163-46de-9fec-7b9aa6af1113
resource:
ancestors:
- organizations/012345678901
- projects/456789012345
assetType: container.googleapis.com/Cluster
resource: //container.googleapis.com/projects/simulator-test-project/locations/us-central1/clusters/orgpolicy-test-cluster
---
customConstraint:
actionType: ALLOW
condition: resource.binaryAuthorization.enabled == true
methodTypes:
- CREATE
name: organizations/012345678901/customConstraints/custom.EnforceGKEBinaryAuthz
resourceTypes:
- container.googleapis.com/Cluster
name: organizations/012345678901/locations/global/orgPolicyViolationsPreviews/3dd47fd3-6df1-4156-8f10-413a3fc0ed83/orgPolicyViolations/e73896e6-7613-4a8d-8436-5df7a6455121
resource:
ancestors:
- organizations/012345678901
- folders/789012345678
- projects/456789012345
assetType: container.googleapis.com/Cluster
resource: //container.googleapis.com/projects/orgpolicy-test-0/locations/us-central1/clusters/autopilot-cluster-1
Hasil Policy Simulator
Policy Simulator melaporkan hasil perubahan batasan kustom atau kebijakan organisasi sebagai daftar pelanggaran kebijakan yang disimulasikan. Konsol Google Cloud menyimpan hasil simulasi yang Anda buat dalam 14 hari terakhir.
Untuk melihat hasil simulasi, buka halaman Histori simulasi.
Pilih simulasi untuk melihat detailnya. Di halaman Laporan simulasi, Anda dapat melihat pratinjau pelanggaran, yang mencantumkan jumlah total pelanggaran yang disebabkan oleh batasan khusus atau kebijakan organisasi yang baru, jumlah resource yang diperiksa dalam cakupan simulasi, dan waktu simulasi selesai.
Jika menyimulasikan batasan kustom, Anda dapat mengklik Constraint details untuk melihat konfigurasi tertentu yang disimulasikan. Jika Anda menyimulasikan kebijakan organisasi, tab Detail kebijakan akan menampilkan konfigurasi yang disimulasikan.
Semua pelanggaran tercantum dalam tabel referensi. Setiap resource yang melanggar batasan khusus atau kebijakan organisasi yang baru dicantumkan dengan link ke entri resource di Inventaris Aset Cloud. Resource project, folder, dan organisasi ditampilkan dengan jumlah total resource di bawahnya dalam hierarki yang melanggar batasan khusus atau kebijakan organisasi yang baru.
Terapkan perubahan kebijakan yang telah diuji
Setelah menguji batasan kustom, kebijakan organisasi, atau keduanya, Anda dapat menyiapkan batasan kustom dan menerapkan kebijakan organisasi. Anda dapat melihat semua hasil Policy Simulator di Konsol Google Cloud, terlepas dari cara hasil tersebut dibuat. Jika laporan simulasi menyertakan perubahan pada maksimal satu kebijakan organisasi, Anda dapat menerapkan kebijakan organisasi secara langsung melalui hasil simulasi. Untuk menerapkan perubahan pengujian di beberapa kebijakan organisasi, gunakan Google Cloud CLI.
Konsol
Untuk menerapkan hasil Simulator Kebijakan batasan kustom, buka halaman Histori simulasi.
Pilih laporan simulasi untuk batasan kustom atau kebijakan organisasi yang ingin Anda terapkan.
Jika laporan simulasi ini menyertakan batasan kustom, klik Save constraint.
Jika laporan simulasi ini menyertakan perubahan pada maksimal satu kebijakan organisasi, Anda dapat menerapkan kebijakan organisasi tersebut sebagai kebijakan uji coba untuk memantau perilaku dalam produksi tanpa menimbulkan risiko dengan memilih Tetapkan kebijakan uji coba. Halaman Detail kebijakan untuk halaman kebijakan organisasi yang baru akan muncul.
Anda dapat langsung menerapkan kebijakan organisasi dengan mengklik
, lalu memilih Tetapkan kebijakan.
gcloud
Untuk menerapkan batasan kustom, Anda harus menyiapkannya agar tersedia untuk kebijakan organisasi di organisasi Anda. Untuk menyiapkan batasan kustom, gunakan perintah gcloud org-policies set-custom-constraint:
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
Ganti
CONSTRAINT_PATH
dengan jalur lengkap ke file batasan kustom Anda. Contoh,/home/user/customconstraint.yaml
.Setelah proses ini selesai, batasan khusus Anda akan tersedia di daftar kebijakan organisasi Google Cloud.
Untuk menerapkan kebijakan organisasi yang berisi batasan kustom, gunakan perintah gcloud org-policies set-policy:
gcloud org-policies set-policy POLICY_PATH
Ganti
POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi Anda.Kebijakan memerlukan waktu hingga 15 menit untuk diterapkan.
Simpan hasil simulasi
Konsol
Jika menggunakan konsol Google Cloud, Anda dapat menyimpan hasil Policy Simulator sebagai file CSV.
Untuk menyimpan hasil Policy Simulator, buka halaman Histori simulasi.
Pilih laporan simulasi yang ingin Anda simpan.
Klik
Ekspor hasil lengkap.
gcloud
Jika menggunakan gcloud CLI, Anda dapat menyimpan hasil Simulator Kebijakan sebagai file JSON atau YAML.
Secara default, hasil pengujian di Google Cloud CLI merupakan output dalam format YAML. Untuk menyimpan hasil pengujian sebagai file YAML, alihkan output perintah simulate orgpolicy
saat menjalankan simulasi:
> FILENAME
Ganti FILENAME
dengan nama untuk file output.
Untuk menyimpan hasil pengujian sebagai file JSON, tambahkan flag berikut
ke perintah simulate orgpolicy
saat menjalankan simulasi:
--format=json > FILENAME
Ganti FILENAME
dengan nama untuk file output.
Langkah selanjutnya
- Pelajari batasan secara mendalam.
- Baca opsi tambahan yang dapat Anda gunakan untuk menyesuaikan kebijakan.
- Pelajari cara menetapkan kebijakan organisasi berdasarkan Tag.