Policy Simulator untuk Kebijakan Organisasi memungkinkan Anda melihat pratinjau dampak batasan kustom atau kebijakan organisasi baru yang menerapkan batasan kustom atau dikelola sebelum diterapkan di lingkungan produksi Anda. Policy Simulator memberikan 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 menonaktifkan lingkungan Anda.
Halaman ini menjelaskan cara menguji perubahan pada kebijakan organisasi menggunakan Policy Simulator. 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 Anda gunakan untuk melakukan panggilan API:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama atau ID project. -
Enable the Policy Simulator and Resource Manager APIs.
- Opsional: Dapatkan pengantar Layanan Kebijakan Organisasi.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna menjalankan dan mengakses simulasi,
minta administrator untuk memberi Anda
peran IAM OrgPolicy Simulator Admin (roles/policysimulator.orgPolicyAdmin
) di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menjalankan dan mengakses simulasi. Untuk melihat izin yang benar-benar diperlukan, luaskan 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 mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menguji perubahan kebijakan
Anda dapat menguji perubahan pada batasan kustom, kebijakan organisasi yang menerapkan batasan kustom atau terkelola, atau keduanya secara bersamaan.
Menguji perubahan pada batasan kustom
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource organisasi Anda.
Jika Anda ingin menguji batasan kustom baru, klik
Custom constraint. Jika Anda ingin melakukan perubahan pada batasan kustom yang 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 jika Otorisasi Biner tidak diaktifkan, lakukan hal berikut:
Di kotak Resource type, pilih
container.googleapis.com/Cluster
.Di bagian Enforcement method, pilih Enforce on create.
Klik
Edit condition.Di panel Tambahkan kondisi, masukkan
resource.binaryAuthorization.enabled == true
.Klik Simpan.
Di bagian Tindakan, pilih Izinkan.
Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola batasan kustom.
Klik Test constraint.
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 kustomnya.
Klik Sesuaikan.
Klik Add a rule.
Di bagian Enforcement, pilih On, lalu klik Done.
Klik Lanjutkan.
Halaman Histori simulasi akan muncul, dengan daftar simulasi yang dilakukan oleh Anda dalam 14 hari terakhir. Lihat Hasil Policy Simulator 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 jika Otorisasi Biner tidak diaktifkan mirip dengan hal 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, buat file JSON atau YAML yang menentukan kebijakan organisasi yang ingin Anda uji.
Misalnya, kebijakan organisasi yang membatasi pembuatan resource cluster Google Kubernetes Engine jika Otorisasi Biner tidak diaktifkan mirip dengan berikut:
name: organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz spec: rules: - enforce: true
Ganti
ORGANIZATION_ID
dengan ID organisasi Anda, seperti1234567890123
.Anda dapat menguji kebijakan organisasi yang secara bersyarat menerapkan batasan kustom berdasarkan keberadaan tag tertentu dengan menyertakan kondisi dalam file JSON atau YAML yang menentukan kebijakan organisasi.
Misalnya, kebijakan organisasi berikut membatasi pembuatan resource cluster Google Kubernetes Engine jika Otorisasi Biner tidak diaktifkan, kecuali pada resource yang memiliki tag
env=dev
yang terpasang.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 mengetahui informasi selengkapnya tentang kebijakan organisasi bersyarat, lihat Menetapkan kebijakan organisasi dengan tag.
Anda dapat menguji efek penghapusan kebijakan organisasi yang menerapkan batasan kustom dengan membuat file JSON atau YAML yang menentukan kebijakan organisasi tanpa aturan yang ditetapkan, kecuali untuk 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 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 di beberapa organisasi tidak didukung.CONSTRAINT_PATH
: jalur lengkap ke batasan kustom yang telah Anda buat atau perbarui. Misalnya,tmp/constraint.yaml
Jika menetapkan flag--policies
, Anda tidak perlu menetapkan flag--custom-constraints
.POLICY_PATH
: jalur lengkap ke kebijakan organisasi yang telah Anda buat atau perbarui. Misalnya,tmp/policy.yaml
Jika menetapkan flag--custom-constraints
, Anda tidak perlu menetapkan flag--policies
.
Setelah beberapa menit, perintah akan mencetak daftar resource yang akan melanggar perubahan pada batasan khusus, kebijakan organisasi, atau keduanya.
Hasil juga dapat dilihat di konsol Google Cloud. Lihat Hasil Policy Simulator 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 jika Otorisasi Biner tidak diaktifkan. Dalam hal ini, jika perubahan yang diusulkan diterapkan, dua resource cluster akan melanggar kebijakan: orgpolicy-test-cluster
di bagian project simulator-test-project
, dan autopilot-cluster-1
di bagian 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
Menguji perubahan pada batasan terkelola
Konsol
- Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih project, folder, atau organisasi yang ingin Anda edit kebijakan organisasinya.
Halaman Organization policies menampilkan daftar batasan kebijakan organisasi yang dapat difilter dan tersedia untuk resource ini.
Pilih batasan terkelola yang ingin Anda perbarui kebijakan organisasinya dari daftar. Di halaman Policy details, Anda dapat melihat sumber kebijakan organisasi ini, evaluasi kebijakan yang efektif pada resource ini, dan detail selengkapnya tentang batasan terkelola.
Untuk memperbarui kebijakan organisasi untuk resource ini, klik Manage policy.
Di halaman Edit policy, pilih Override parent's policy.
Pilih Tambahkan aturan.
Di bagian Enforcement, pilih apakah penerapan kebijakan organisasi ini harus diaktifkan atau dinonaktifkan.
Secara opsional, untuk membuat kebijakan organisasi bersyarat pada tag, klik Tambahkan kondisi. 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.
Klik Uji perubahan.
Halaman Histori simulasi akan muncul, dengan daftar simulasi yang dilakukan oleh Anda dalam 14 hari terakhir. Lihat Hasil Policy Simulator di halaman ini untuk mengetahui informasi selengkapnya.
gcloud
Untuk menguji perubahan pada batasan terkelola, buat file JSON atau YAML yang menentukan batasan terkelola yang ingin Anda uji.
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: ENFORCEMENT_STATE
Ganti kode berikut:
RESOURCE_TYPE
denganorganizations
,folders
, atauprojects
.RESOURCE_ID
dengan ID organisasi, ID folder, ID project, atau nomor project, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.CONSTRAINT_NAME
dengan nama batasan terkelola yang ingin Anda uji. Contoh,iam.managed.disableServiceAccountKeyCreation
.ENFORCEMENT_STATE
dengantrue
untuk menerapkan kebijakan organisasi ini saat ditetapkan, ataufalse
untuk menonaktifkannya saat ditetapkan.
Secara opsional, untuk membuat kebijakan organisasi bersyarat pada tag, tambahkan blok
condition
kerules
. 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 menguji penghapusan kebijakan organisasi yang menerapkan batasan terkelola, file JSON atau YAML yang menentukan kebijakan organisasi tidak boleh menetapkan aturan kecuali untuk mewarisi kebijakan dari resource induk.
Misalnya, kebijakan organisasi berikut akan menyimulasikan penghapusan batasan dikelola
iam.managed.disableServiceAccountKeyCreation
yang ada.name: organizations/ORGANIZATION_ID/policies/iam.managed.disableServiceAccountKeyCreation spec: inheritFromParent: true
Jalankan perintah
policy-intelligence simulate orgpolicy
:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATH
Ganti kode berikut:
ORGANIZATION_ID
dengan ID organisasi Anda, seperti1234567890123
. Simulasi perubahan di beberapa organisasi tidak didukung.POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi Anda.
Setelah beberapa menit, perintah akan mencetak daftar resource yang akan melanggar perubahan pada batasan khusus, kebijakan organisasi, atau keduanya.
Hasil juga dapat dilihat di konsol Google Cloud. Lihat Hasil Policy Simulator di halaman ini untuk mempelajari cara membaca hasilnya.
Hasil Policy Simulator
Policy Simulator melaporkan hasil perubahan pada 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 kustom atau kebijakan organisasi baru, jumlah resource yang diperiksa dalam cakupan simulasi, dan waktu saat simulasi selesai.
Jika menyimulasikan batasan kustom, Anda dapat mengklik Detail batasan untuk melihat konfigurasi tertentu yang disimulasikan. Jika Anda menyimulasikan kebijakan organisasi, tab Detail kebijakan akan menampilkan konfigurasi yang disimulasikan.
Semua pelanggaran tercantum dalam tabel resource. Setiap resource yang melanggar batasan kustom atau kebijakan organisasi baru akan dicantumkan dengan link ke entri resource di Cloud Asset Inventory. Resource project, folder, dan organisasi ditampilkan dengan jumlah total resource di bawahnya dalam hierarki yang melanggar batasan kustom atau kebijakan organisasi baru.
Menerapkan perubahan kebijakan yang telah diuji
Setelah menguji batasan khusus, kebijakan organisasi, atau keduanya, Anda dapat menyiapkan batasan khusus dan menerapkan kebijakan organisasi. Anda dapat melihat semua hasil Simulator Kebijakan di konsol Google Cloud, terlepas dari cara pembuatannya. Jika laporan simulasi Anda tidak menyertakan perubahan pada lebih dari satu kebijakan organisasi, Anda dapat menerapkan kebijakan organisasi 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 Simpan batasan.
Jika laporan simulasi ini menyertakan perubahan pada tidak lebih dari 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 Policy details untuk halaman kebijakan organisasi baru akan muncul.
Anda dapat langsung menerapkan kebijakan organisasi dengan mengklik
, lalu memilih Tetapkan kebijakan.
gcloud
Untuk menerapkan batasan khusus, 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 selesai, batasan khusus Anda akan tersedia dalam daftar kebijakan organisasi Google Cloud Anda.
Untuk menetapkan kebijakan organisasi, 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 ini memerlukan waktu hingga 15 menit untuk diterapkan.
Menyimpan hasil simulasi
Konsol
Jika menggunakan konsol Google Cloud, Anda dapat menyimpan hasil Simulator Kebijakan sebagai file CSV.
Untuk menyimpan hasil Policy Simulator, buka halaman Histori simulasi.
Pilih laporan simulasi yang ingin disimpan.
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 akan ditampilkan 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 tanda 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.