Halaman ini menunjukkan cara menggunakan kebijakan organisasi dalam mode uji coba untuk memantau dampak perubahan kebijakan terhadap alur kerja Anda sebelum diterapkan.
Kebijakan organisasi dalam mode uji coba dibuat dan diterapkan dengan cara yang sama seperti kebijakan organisasi lainnya, dan pelanggaran kebijakan dicatat ke dalam log audit, tetapi tindakan yang melanggar tidak ditolak.
Sebelum memulai
Untuk menggunakan kebijakan organisasi dalam mode uji coba, Anda harus mengaktifkan penagihan untuk project Google Cloud Anda. Untuk informasi tentang cara memeriksa apakah penagihan diaktifkan untuk project, lihat Memverifikasi status penagihan project.
Untuk mengetahui informasi selengkapnya tentang kebijakan dan batasan organisasi serta cara kerjanya, lihat Pengantar Layanan Kebijakan Organisasi.
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.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan organisasi:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Batasan
Satu-satunya batasan kebijakan organisasi yang tersedia untuk digunakan dalam kebijakan organisasi uji coba adalah:
Mencoba membuat kebijakan organisasi dalam mode uji coba menggunakan batasan lain akan mengakibatkan error.
Membuat kebijakan organisasi dalam mode uji coba
Batasan daftar
Anda dapat membuat kebijakan organisasi dalam mode uji coba untuk batasan daftar menggunakan konsol Google Cloud atau Google Cloud CLI. Contoh berikut
menunjukkan cara membuat kebijakan organisasi dalam mode uji coba yang mengaudit
efek batasan daftar gcp.restrictServiceUsage
.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Batasi Penggunaan Layanan Resource dari daftar di halaman Organization policies.
Pilih tab Pengujian coba.
Klik Kelola kebijakan uji coba.
Di halaman Edit dry run policy, pilih Override parent's policy.
Di bagian Policy enforcement, klik Replace.
Klik Tambahkan Aturan.
Dari Policy values, pilih Custom.
Dari Jenis kebijakan, pilih Tolak.
Di kotak Custom values, masukkan
compute.googleapis.com
, lalu klik Done.Jika ini adalah batasan kustom, Anda dapat mengklik Test changes untuk menyimulasikan efek kebijakan organisasi ini. Untuk mengetahui informasi selengkapnya, lihat Menguji perubahan kebijakan organisasi dengan Policy Simulator.
Untuk menerapkan kebijakan organisasi dalam mode uji coba, klik Set dry run policy. Anda juga dapat menetapkan kebijakan aktif dengan mengklik Tetapkan kebijakan.
Anda dapat memverifikasi status kebijakan organisasi dalam mode uji coba dengan membuka tab Uji coba pada batasan kebijakan organisasi.
Untuk project yang memiliki kebijakan organisasi dalam mode uji coba yang diterapkan ke project tersebut, Anda dapat melihat log audit dengan mengklik Lihat log penolakan. Untuk
kebijakan organisasi ini, log audit menampilkan pelanggaran seolah-olah
batasan Batasi Penggunaan Layanan Resource diterapkan untuk menolak
compute.googleapis.com
.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba, buat file YAML yang menentukan batasan dengan dryRunSpec
. Contoh:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: deniedValues: - compute.googleapis.com
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
.
Kebijakan organisasi ini tidak akan menerapkan batasan gcp.restrictServiceUsage
, tetapi log audit akan menampilkan pelanggaran seolah-olah kebijakan tersebut diterapkan.
Anda dapat menetapkan kebijakan organisasi aktif dan kebijakan organisasi uji coba dalam file YAML yang sama, jika Anda menentukan spec
dan dryRunSpec
. Misalnya:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Untuk menerapkan kebijakan organisasi dalam mode uji coba, gunakan perintah org-policies set policy
. Untuk memperbarui kebijakan organisasi yang ada
dalam mode uji coba dengan batasan baru, gunakan flag --update-mask
. Misalnya:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Ganti kode berikut:
POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi Anda.UPDATE_MASK
denganspec
untuk hanya memperbarui kebijakan aktif, ataudryRunSpec
untuk hanya memperbarui kebijakan organisasi dalam mode uji coba. Anda juga dapat menggunakan*
untuk memperbarui kolomspec
dandryRunSpec
. Jika kolom ini tidak ditetapkan saat memperbarui kebijakan organisasi yang ada, perintah ini akan menghasilkan error dan kebijakan organisasi tidak akan diperbarui.
Anda dapat memverifikasi bahwa kebijakan organisasi dalam mode uji coba ditetapkan menggunakan perintah org-policies describe
. Kolom dryRunSpec
hanya muncul jika
ada dalam kebijakan organisasi.
Kebijakan organisasi ini akan menerapkan batasan gcp.restrictServiceUsage
sehingga hanya container.googleapis.com
yang diizinkan. Namun, log audit juga menampilkan pelanggaran terhadap compute.googleapis.com
dan appengine.googleapis.com
.
Batasan Boolean
Anda dapat membuat kebijakan organisasi dalam mode uji coba untuk batasan boolean menggunakan konsol Google Cloud atau Google Cloud CLI. Contoh berikut menunjukkan cara membuat kebijakan organisasi dalam mode uji coba yang mengaudit efek kebijakan organisasi kustom boolean.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih kebijakan organisasi kustom yang ingin Anda terapkan dari daftar di halaman Kebijakan organisasi.
Pilih tab Pengujian coba.
Klik Kelola kebijakan uji coba.
Di halaman Edit dry run policy, pilih Override parent's policy.
Klik Tambahkan Aturan.
Di bagian Enforcement, pilih On, lalu klik Done.
Untuk menerapkan kebijakan organisasi dalam mode uji coba, klik Set dry run policy. Setelah memverifikasi bahwa kebijakan organisasi dalam mode uji coba berfungsi sebagaimana mestinya, Anda dapat menetapkan kebijakan aktif dengan mengklik Tetapkan kebijakan.
Anda dapat memverifikasi status kebijakan organisasi dalam mode uji coba dengan membuka tab Uji coba pada batasan kebijakan organisasi.
Untuk project yang memiliki kebijakan organisasi dalam mode uji coba yang diterapkan ke project tersebut, Anda dapat melihat log audit dengan mengklik Lihat log penolakan. Untuk kebijakan organisasi ini, log audit menampilkan pelanggaran seolah-olah kebijakan organisasi kustom diterapkan.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba, buat file YAML yang menentukan batasan dengan dryRunSpec
. Contoh:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME dryRunSpec: rules: - enforce: true
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 kustom Anda. Contoh,custom.disableGkeAutoUpgrade
.
Kebijakan organisasi ini tidak akan menerapkan batasan kustom, tetapi log audit menampilkan pelanggaran seolah-olah menerapkannya.
Anda dapat menetapkan kebijakan organisasi aktif dan kebijakan organisasi dalam
mode uji coba di file YAML yang sama, jika Anda menentukan spec
dan
dryRunSpec
. Contoh:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: false dryRunSpec: rules: - enforce: true
Untuk menerapkan kebijakan organisasi dalam mode uji coba, gunakan perintah org-policies set policy
. Untuk memperbarui kebijakan organisasi yang ada
dalam mode uji coba dengan batasan baru, gunakan flag --update-mask
. Misalnya:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Ganti kode berikut:
POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi Anda.UPDATE_MASK
denganspec
untuk hanya memperbarui kebijakan aktif, ataudryRunSpec
untuk hanya memperbarui kebijakan organisasi dalam mode uji coba. Anda juga dapat menggunakan*
untuk memperbarui kolomspec
dandryRunSpec
. Jika kolom ini tidak ditetapkan saat memperbarui kebijakan organisasi yang ada, perintah ini akan menghasilkan error dan kebijakan organisasi tidak akan diperbarui.
Anda dapat memverifikasi bahwa kebijakan organisasi dalam mode uji coba ditetapkan menggunakan perintah org-policies describe
. Kolom dryRunSpec
hanya muncul jika
ada dalam kebijakan organisasi.
Kebijakan organisasi ini tidak menerapkan batasan kustom. Namun, log audit menampilkan pelanggaran terhadap batasan kustom.
Membuat kebijakan organisasi dalam mode uji coba dari kebijakan aktif
Anda dapat menggunakan kebijakan organisasi yang ada sebagai titik awal untuk kebijakan organisasi dalam mode uji coba. Anda dapat melakukannya untuk melihat dampak perubahan pada kebijakan yang ada terhadap lingkungan Anda.
Anda dapat membuat kebijakan organisasi dalam mode uji coba berdasarkan kebijakan yang ada menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih resource yang sudah mengonfigurasi batasan Batasi Penggunaan Layanan Resource.
Pilih batasan Batasi Penggunaan Layanan Resource dari daftar di halaman Organization policies.
Pilih tab Live.
Klik Manage Policy.
Klik Tambahkan Aturan.
Dari Policy values, pilih Custom.
Dari Jenis kebijakan, pilih Tolak.
Di kotak Custom values, masukkan
appengine.googleapis.com
.Klik Done, lalu Set dry run policy.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba berdasarkan kebijakan organisasi aktif yang ada, dapatkan kebijakan saat ini di resource menggunakan perintah org-policies describe
. Contoh:
gcloud org-policies describe gcp.restrictServiceUsage \ --project=PROJECT_ID
Ganti PROJECT_ID
dengan project ID atau nomor project tempat kebijakan organisasi ini dikonfigurasi.
Output-nya akan terlihat seperti berikut:
name: projects/123456789012/policies/gcp.restrictServiceUsage spec: etag: CJy93KEGEKCJw/QB rules: - values: allowedValues: - compute.googleapis.com updateTime: '2023-04-12T21:11:56.512804Z'
Salin output perintah ini ke dalam file sementara. Edit file ini untuk
menghapus kolom etag
dan updateTime
, serta mengubah kolom spec
menjadi
dryRunSpec
. Lakukan perubahan pada konfigurasi batasan yang ingin Anda uji dalam kebijakan organisasi dalam mode uji coba.
File YAML yang sudah selesai akan terlihat seperti berikut:
name: projects/123456789012/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Untuk menerapkan kebijakan organisasi dalam mode uji coba, gunakan org-policies set policy
dengan tanda --update-mask
. Contoh:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Ganti POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi sementara Anda.
Menghapus kebijakan organisasi dalam mode uji coba
Anda dapat menghapus kebijakan organisasi dalam mode uji coba menggunakan Konsol Google Cloud atau Google Cloud CLI.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Batasi Penggunaan Layanan Resource dari daftar di halaman Organization policies.
Pilih tab Pengujian coba.
Klik Delete dry run policy.
gcloud
Untuk menghapus kebijakan organisasi dalam mode uji coba, buat file YAML yang menentukan kebijakan organisasi tanpa spesifikasi uji coba. Misalnya:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com
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
.
Kemudian, gunakan perintah org-policies set policy
dengan flag --update-mask
yang ditetapkan ke dryRunSpec
. Contoh:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Tindakan ini akan memperbarui kebijakan organisasi yang ada untuk menghapus spesifikasi uji coba dan mengabaikan bagian aktif dari spesifikasi.
Untuk menghapus kebijakan organisasi aktif dan kebijakan organisasi dalam
mode uji coba secara bersamaan, gunakan perintah org-policies delete
. Misalnya:
gcloud org-policies delete CONSTRAINT_NAME \ --RESOURCE_TYPE=RESOURCE_ID
Ganti kode berikut:
CONSTRAINT_NAME
dengan nama batasan yang ingin Anda hapus. Contoh,gcp.restrictServiceUsage
.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
.
Evaluasi kebijakan organisasi yang efektif dalam mode uji coba
Kebijakan organisasi dalam mode uji coba diwarisi dengan cara yang sama seperti kebijakan organisasi lainnya. Jika kebijakan organisasi dalam mode uji coba ditetapkan pada resource organisasi, kebijakan tersebut akan diwarisi oleh semua resource turunan, kecuali jika diganti di tingkat yang lebih rendah dalam hierarki.
Evaluasi kebijakan yang efektif menunjukkan hasil kebijakan organisasi yang digabungkan di resource tersebut. Oleh karena itu, penyesuaian pada kebijakan organisasi aktif akan tercermin dalam kebijakan organisasi yang efektif dalam mode uji coba, jika kebijakan mode uji coba diwariskan, bukan ditetapkan secara lokal.
Misalnya, pertimbangkan resource organisasi, Organization A
, dengan kebijakan organisasi aktif
yang ditetapkan ke enforced: false
, dan kebijakan organisasi dalam
mode uji coba yang ditetapkan ke enforced: true
. Resource turunan, Folder B
, juga menetapkan
kebijakan organisasi aktif ke enforced: false
, dan mewarisi
kebijakan organisasi dalam mode uji coba. Pada Folder B
, kebijakan aktif yang ditetapkan berarti
evaluasi kebijakan yang efektif dari kebijakan organisasi dalam mode uji coba juga
enforce: false
, yang mengganti kebijakan organisasi dalam mode uji coba yang ditetapkan di
organisasi induknya.
Resource turunan Folder B
, Project X
, menetapkan kebijakan aktif ke
enforced: true
. Serupa dengan perilaku di Folder B
, evaluasi
kebijakan organisasi yang efektif dalam mode uji coba untuk Project X
adalah
enforced: true
, karena kebijakan aktif ditetapkan.
Resource turunan lain dari Folder B
, Project Y
, menetapkan kebijakan organisasi
dalam mode uji coba ke enforced: true
. Resource ini mewarisi kebijakan organisasi dari resource induknya, sehingga evaluasi yang efektif adalah enforced: false
untuk kebijakan aktif, dan enforced: true
untuk kebijakan organisasi dalam mode uji coba.
Resource | Menetapkan kebijakan organisasi aktif | Kebijakan organisasi live yang efektif | Menetapkan kebijakan organisasi dalam mode uji coba | Kebijakan organisasi yang efektif dalam mode uji coba |
---|---|---|---|---|
Organisasi A | enforced: false |
enforced: false |
enforced: true |
enforced: true |
Folder B | enforced: false |
enforced: false |
Tidak ada | enforced: false |
Folder C | Tidak ada | enforced: false |
Tidak ada | enforced: true |
Project X | enforced: true |
enforced: true |
Tidak ada | enforced: true |
Project Y | Tidak ada | enforced: false |
enforced: true |
enforced: true |
Menganalisis efek kebijakan organisasi dalam mode uji coba
Kebijakan organisasi dalam mode uji coba tidak memblokir operasi apa pun saat diterapkan. Untuk melihat pengaruh kebijakan organisasi, Anda dapat memeriksa log audit kebijakan organisasi.
Log audit kebijakan organisasi untuk kebijakan organisasi aktif dan kebijakan organisasi dalam mode uji coba dibuat berdasarkan apakah operasi diizinkan atau ditolak oleh kebijakan yang diterapkan pada resource tertentu. Tabel berikut menjelaskan situasi saat log audit kebijakan organisasi dibuat:
Kebijakan organisasi aktif | Kebijakan organisasi dalam mode uji coba | Log audit dibuat |
---|---|---|
Izinkan | Izinkan | Tidak |
Izinkan | Tolak | Log audit hanya dalam mode uji coba |
Tolak | Izinkan | Log audit dalam mode live dan dry run |
Tolak | Tolak | Log audit dalam mode live dan dry run |
Pelanggaran kebijakan organisasi dalam mode uji coba muncul bersama pelanggaran dalam mode aktif di log audit. Contoh:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 7,
"message": "PERMISSION_DENIED"
},
"authenticationInfo": {},
"requestMetadata": {
"callerIp": "1.2.3.4",
"requestAttributes": {},
"destinationAttributes": {}
},
"serviceName": "appengine.googleapis.com",
"methodName": "google.api.appengine.v1.appengine.apps.services.get",
"resourceName": "projects/sur-project-test-3",
"metadata": {
"constraint": "constraints/gcp.restrictServiceUsage",
"checkedValue": "appengine.googleapis.com",
"liveResult": "ALLOWED",
"@type": "type.googleapis.com/google.cloud.audit.OrgPolicyDryRunAuditMetadata",
"dryRunResult": "DENIED"
}
},
"insertId": "1f2bvoxcmg1",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "sur-project-test-3",
"service": "appengine.googleapis.com",
"method": "google.api.appengine.v1.appengine.apps.services.get"
}
},
"timestamp": "2022-06-16T19:42:58.244990928Z",
"severity": "WARNING",
"logName": "projects/sur-project-test-3/logs/cloudaudit.googleapis.com%2Fpolicy",
"receiveTimestamp": "2022-06-16T19:42:59.572025716Z"
}
Anda dapat menggunakan Logs Explorer untuk membuat kueri hanya pada pelanggaran kebijakan organisasi dalam mode uji coba.
Konsol
Di Konsol Google Cloud, Anda dapat menggunakan Logs Explorer guna mengambil entri log audit untuk project, folder, atau organisasi Google Cloud Anda:
Di konsol Google Cloud, buka halaman Logging> Logs Explorer.
Pilih project, folder, atau organisasi Google Cloud yang sudah ada.
Di panel Builder kueri, lakukan hal berikut:
Di Jenis resource, pilih resource Google Cloud yang log auditnya ingin Anda lihat.
Di Log name, pilih jenis log audit policy.
Di panel Query, masukkan hal berikut:
protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"
Jika mengalami masalah saat mencoba melihat log di Logs Explorer, lihat informasi pemecahan masalah.
Untuk mengetahui informasi selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membangun kueri di Logs Explorer.
gcloud
Google Cloud CLI menyediakan antarmuka command line ke Logging API. Berikan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan project ID, ID project yang Anda berikan harus merujuk ke nama project yang saat ini dipilih.
Untuk membaca entri log audit untuk pelanggaran kebijakan organisasi dalam mode uji coba, jalankan perintah berikut:
gcloud logging read protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED" \ --RESOURCE_TYPE=RESOURCE_ID \
Ganti kode berikut:
RESOURCE_TYPE
denganorganization
,folder
, atauproject
.RESOURCE_ID
dengan ID organisasi, ID folder, ID project, atau nomor project, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.
Tambahkan flag --freshness
ke perintah Anda untuk membaca log yang berusia lebih dari 1 hari.
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI, lihat gcloud logging read
.
Jika memiliki banyak project dalam organisasi, Anda dapat menggunakan sink gabungan untuk menggabungkan dan merutekan entri log audit dari semua project dalam organisasi ke tabel BigQuery. Untuk informasi selengkapnya tentang cara membuat sink gabungan, lihat Menggabungkan dan merutekan log tingkat organisasi ke tujuan yang didukung.
Langkah selanjutnya
Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengelola batasan kebijakan organisasi, lihat Menggunakan batasan.