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 mirip dengan kebijakan organisasi lainnya, dan pelanggaran kebijakan akan dicatat ke dalam log audit, tetapi tindakan yang melanggar tidak akan ditolak.
Sebelum memulai
Untuk menggunakan kebijakan organisasi dalam mode uji coba, Anda harus mengaktifkan penagihan untuk project Google Cloud. Untuk mengetahui informasi tentang cara memeriksa apakah penagihan diaktifkan untuk sebuah project, baca artikel Memverifikasi status penagihan project Anda.
Untuk 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.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, perluas 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 mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
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 lainnya akan menghasilkan 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 kebijakan organisasinya ingin Anda tetapkan.
Pilih batasan Restrict Resource Service Usage dari daftar di halaman Organization policies.
Pilih tab Dry run.
Klik Kelola kebijakan uji coba.
Di halaman Edit kebijakan uji coba, pilih Ganti kebijakan induk.
Di bagian Penegakan kebijakan, klik Ganti.
Klik Tambahkan Aturan.
Dari Nilai kebijakan, pilih Kustom.
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 Tetapkan kebijakan uji coba. Anda juga dapat menetapkan kebijakan aktif dengan mengklik Set policy.
Anda dapat memverifikasi status kebijakan organisasi dalam mode uji coba dengan membuka tab Dry run untuk batasan kebijakan organisasi.
Untuk project dengan kebijakan organisasi dalam mode uji coba yang diterapkan pada project tersebut, Anda dapat melihat log audit dengan mengklik View penolakan log. 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: denied_values: - compute.googleapis.com
Ganti kode berikut:
RESOURCE_TYPE
denganorganizations
,folders
, atauprojects
.RESOURCE_ID
dengan ID organisasi, ID folder, ID project, atau nomor project Anda, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.
Kebijakan organisasi ini tidak akan menerapkan batasan gcp.restrictServiceUsage
, tetapi log audit menampilkan pelanggaran seolah-olah melanggar.
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
hanya untuk 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 disetel saat memperbarui kebijakan organisasi yang ada, perintah ini akan menyebabkan error dan kebijakan organisasi tidak akan diperbarui.
Anda dapat memverifikasi bahwa kebijakan organisasi dalam mode uji coba telah disetel menggunakan
perintah org-policies describe
. Kolom dryRunSpec
hanya muncul jika
ada dalam kebijakan organisasi.
Kebijakan organisasi di atas akan menerapkan batasan gcp.restrictServiceUsage
sehingga hanya container.googleapis.com
yang diizinkan. Namun, log audit juga menampilkan pelanggaran 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 kebijakan organisasinya ingin Anda tetapkan.
Pilih kebijakan organisasi kustom yang ingin Anda terapkan dari daftar di halaman Kebijakan organisasi.
Pilih tab Dry run.
Klik Kelola kebijakan uji coba.
Di halaman Edit kebijakan uji coba, pilih Ganti kebijakan induk.
Klik Tambahkan Aturan.
Di bagian Penegakan, pilih Aktif, lalu klik Selesai.
Untuk menerapkan kebijakan organisasi dalam mode uji coba, klik Tetapkan kebijakan uji coba. Setelah memastikan bahwa kebijakan organisasi dalam mode uji coba berfungsi sebagaimana mestinya, Anda dapat menetapkan kebijakan aktif dengan mengklik Set policy.
Anda dapat memverifikasi status kebijakan organisasi dalam mode uji coba dengan membuka tab Dry run untuk batasan kebijakan organisasi.
Untuk project dengan kebijakan organisasi dalam mode uji coba yang diterapkan pada project tersebut, Anda dapat melihat log audit dengan mengklik View penolakan log. 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 Anda, 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 melanggar.
Anda dapat menetapkan kebijakan organisasi aktif dan kebijakan organisasi dalam mode uji coba dalam 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
hanya untuk 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 disetel saat memperbarui kebijakan organisasi yang ada, perintah ini akan menyebabkan error dan kebijakan organisasi tidak akan diperbarui.
Anda dapat memverifikasi bahwa kebijakan organisasi dalam mode uji coba telah disetel 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 batasan kustom.
Membuat kebijakan organisasi dalam mode uji coba dari kebijakan aktif
Anda dapat menggunakan kebijakan organisasi yang sudah ada sebagai titik awal untuk kebijakan organisasi dalam mode uji coba. Anda mungkin perlu melakukan ini untuk melihat dampak perubahan 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 memiliki batasan Restrict Resource Service Usage, yang dikonfigurasi pada resource tersebut.
Pilih batasan Restrict Resource Service Usage dari daftar di halaman Organization policies.
Pilih tab Live.
Klik Manage Policy.
Klik Tambahkan Aturan.
Dari Nilai kebijakan, pilih Kustom.
Dari Jenis kebijakan, pilih Tolak.
Di kotak Custom values, masukkan
appengine.googleapis.com
.Klik Selesai, lalu Tetapkan kebijakan uji coba.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba berdasarkan kebijakan organisasi
live yang sudah 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 ubah kolom spec
menjadi
dryRunSpec
. Buat perubahan pada konfigurasi batasan yang ingin Anda uji di 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 flag --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 kebijakan organisasinya ingin Anda tetapkan.
Pilih batasan Restrict Resource Service Usage dari daftar di halaman Organization policies.
Pilih tab Dry run.
Klik Hapus kebijakan uji coba.
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 Anda, 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 spesifikasi.
Untuk menghapus kebijakan organisasi yang 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 Anda, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.
Evaluasi efektif terhadap kebijakan organisasi dalam mode uji coba
Kebijakan organisasi dalam mode uji coba diwariskan, mirip dengan kebijakan organisasi lainnya. Jika kebijakan organisasi dalam mode uji coba ditetapkan pada resource organisasi, kebijakan tersebut akan diwarisi oleh semua resource turunan, kecuali diganti pada level yang lebih rendah dalam hierarki.
Evaluasi kebijakan yang efektif menunjukkan hasil dari kebijakan organisasi yang digabungkan pada resource tersebut. Oleh karena itu, penyesuaian pada kebijakan organisasi live tercermin dalam kebijakan organisasi yang efektif dalam mode uji coba jika kebijakan mode uji coba diwariskan, bukan disetel secara lokal.
Misalnya, pertimbangkan resource organisasi, Organization A
, dengan kebijakan organisasi
live yang ditetapkan ke enforced: false
, dan kebijakan organisasi dalam
mode uji coba ditetapkan ke enforced: true
. Resource turunan, Folder B
, juga menetapkan
kebijakan organisasi langsung ke enforced: false
, dan mewarisi
kebijakan organisasi dalam mode uji coba. Di Folder B
, kebijakan aktif yang ditetapkan berarti
evaluasi kebijakan yang efektif terhadap kebijakan organisasi dalam mode uji coba juga
bernilai enforce: false
, yang menggantikan 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
efektif terhadap kebijakan organisasi dalam mode uji coba untuk Project X
adalah
enforced: true
, karena kebijakan langsung disetel.
Resource turunan lainnya dari Folder B
, Project Y
, menetapkan kebijakan organisasi
dalam mode uji coba ke enforced: true
. Class 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 | Tetapkan 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 |
Proyek X | enforced: true |
enforced: true |
Tidak ada | enforced: true |
Proyek 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 dampak kebijakan organisasi, Anda dapat memeriksa log audit kebijakan organisasi.
Log audit kebijakan organisasi untuk kebijakan organisasi yang 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 live | 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 uji coba |
Tolak | Tolak | Log audit dalam mode live dan uji coba |
Kebijakan organisasi dalam pelanggaran 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 terhadap kebijakan organisasi dalam pelanggaran 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 Query builder, 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 perintah 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, project ID yang Anda berikan harus merujuk ke nama project yang saat ini dipilih.
Guna membaca entri log audit untuk kebijakan organisasi dalam pelanggaran 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 Anda, 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 mengarahkan entri log audit dari semua project dalam organisasi Anda ke tabel BigQuery. Untuk mengetahui informasi selengkapnya tentang cara membuat sink gabungan, lihat Mengompilasi 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.