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 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 mengetahui informasi tentang cara memeriksa apakah penagihan diaktifkan untuk project, lihat Memverifikasi status penagihan project Anda.
Untuk mengetahui informasi selengkapnya tentang apa itu kebijakan dan batasan organisasi serta cara kerjanya, lihat Pengantar Layanan Kebijakan Organisasi.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengelola kebijakan organisasi, minta administrator Anda 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.
Anda dapat mendelegasikan administrasi kebijakan organisasi dengan menambahkan Kondisi IAM ke binding peran administrator kebijakan Organisasi. Untuk mengontrol resource tempat pokok dapat mengelola kebijakan organisasi, Anda dapat membuat binding peran bersyarat pada tag tertentu. Untuk mengetahui informasi selengkapnya, lihat Menggunakan batasan.
Batasan
Satu-satunya batasan kebijakan organisasi yang tersedia untuk digunakan dalam kebijakan organisasi uji coba adalah:
- Membatasi penggunaan resource
- Membatasi penggunaan endpoint
- Membatasi versi TLS
- Membatasi cipher suite TLS
- Batasan kustom
- Batasan terkelola
Mencoba membuat kebijakan organisasi dalam mode uji coba menggunakan batasan lain akan menghasilkan error.
Membuat kebijakan organisasi dalam mode uji coba
Menggunakan parameter daftar
Anda dapat membuat kebijakan organisasi dalam mode uji coba untuk batasan menggunakan
Google Cloud konsol atau Google Cloud CLI. Contoh berikut menunjukkan cara
membuat kebijakan organisasi dalam mode uji coba yang mengaudit efek batasan terkelola
compute.managed.restrictProtocolForwardingCreationForTypes
.
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Membatasi penggunaan penerusan protokol dari daftar di halaman Kebijakan organisasi.
Pilih tab Uji coba.
Klik Kelola kebijakan uji coba.
Di halaman Edit kebijakan uji coba, pilih Ganti kebijakan induk.
Klik Tambahkan Aturan.
Di bagian Enforcement, pilih On.
Di bagian Parameter, pilih Edit
.Di panel Edit nilai parameter, pilih Ditentukan pengguna.
Di kotak Nilai yang ditentukan pengguna, masukkan
EXTERNAL
, lalu klik Simpan.Klik Uji perubahan 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 menerapkan kebijakan organisasi dalam mode uji coba, Anda dapat melihat log audit dengan mengklik Lihat log penolakan. Untuk kebijakan organisasi ini, log audit menampilkan pelanggaran seolah-olah batasan Membatasi penggunaan penerusan protokol diterapkan untuk mengizinkan hanya deployment penerusan protokol EXTERNAL
.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba, buat file YAML yang menentukan batasan dengan dryRunSpec
. Contoh:
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.restrictProtocolForwardingCreationForTypes dryRunSpec: rules: - enforce: true parameters: allowedSchemes: - EXTERNAL
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 dalamRESOURCE_TYPE
.
Kebijakan organisasi ini tidak akan menerapkan batasan compute.managed.restrictProtocolForwardingCreationForTypes
, 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/compute.managed.restrictProtocolForwardingCreationForTypes spec: rules: - values: allowedValues: - INTERNAL - EXTERNAL dryRunSpec: rules: - values: allowedValues: - INTERNAL
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 disetel 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 telah ditetapkan menggunakan perintah org-policies describe
. Kolom dryRunSpec
hanya muncul jika ada di kebijakan organisasi.
Kebijakan organisasi ini akan menerapkan batasan compute.managed.restrictProtocolForwardingCreationForTypes
sehingga semua nilai diizinkan. Namun, log audit menampilkan pelanggaran seolah-olah hanya deployment penerusan protokol INTERNAL
yang diizinkan.
Menggunakan aturan boolean
Anda dapat membuat kebijakan organisasi dalam mode uji coba untuk batasan dengan aturan boolean menggunakan Google Cloud konsol atau Google Cloud CLI. Contoh berikut menunjukkan cara membuat kebijakan organisasi dalam mode uji coba yang mengaudit efek kebijakan organisasi kustom.
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
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 Uji coba.
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 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 menerapkan kebijakan organisasi dalam mode uji coba, 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 Anda, bergantung pada jenis resource yang ditentukan dalamRESOURCE_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 kebijakan tersebut diterapkan.
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 disetel 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 dengan menggunakan perintah org-policies describe
. Kolom dryRunSpec
hanya muncul jika ada di 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 ada sebagai titik awal untuk kebijakan organisasi dalam mode uji coba. Anda mungkin ingin melakukan hal ini 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 Google Cloud konsol atau Google Cloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
Dari pemilih project, pilih resource yang sudah mengonfigurasi batasan Batasi Penggunaan Layanan Resource.
Pilih batasan Batasi Penggunaan Layanan Resource dari daftar di halaman Kebijakan organisasi.
Pilih tab Live.
Klik Manage Policy.
Klik Tambahkan Aturan.
Dari Nilai kebijakan, pilih Kustom.
Dari Jenis kebijakan, pilih Tolak.
Di kotak Nilai kustom, masukkan
appengine.googleapis.com
.Klik Selesai, lalu Tetapkan kebijakan uji coba.
gcloud
Untuk membuat kebijakan organisasi dalam mode uji coba berdasarkan kebijakan organisasi aktif yang ada, dapatkan kebijakan saat ini pada 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 apa pun pada konfigurasi batasan yang ingin Anda uji dalam kebijakan organisasi Anda 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 Kebijakan organisasi.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Batasi Penggunaan Layanan Resource dari daftar di halaman Kebijakan organisasi.
Pilih tab Uji coba.
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 dalamRESOURCE_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 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 dalamRESOURCE_TYPE
.
Evaluasi efektif kebijakan organisasi 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 pada resource tersebut. Oleh karena itu, penyesuaian pada kebijakan organisasi aktif akan tercermin dalam kebijakan organisasi 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 menggantikan kebijakan organisasi dalam mode uji coba yang ditetapkan di organisasi induknya.
Resource turunan Folder B
, Project X
, menetapkan kebijakan aktif ke
enforced: true
. Mirip dengan perilaku di Folder B
, evaluasi
efektif kebijakan organisasi dalam mode uji coba untuk Project X
adalah
enforced: true
, karena kebijakan aktif telah 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 aktif yang berlaku | 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 efek yang akan ditimbulkan oleh kebijakan organisasi Anda, Anda dapat memeriksa log audit kebijakan organisasi.
Log audit kebijakan organisasi untuk kebijakan organisasi aktif dan kebijakan organisasi dalam mode uji coba dihasilkan 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 uji coba |
Tolak | Tolak | Log audit dalam mode live dan uji coba |
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 pelanggaran kebijakan organisasi dalam mode uji coba.
Konsol
Di konsol Google Cloud , Anda dapat menggunakan Logs Explorer untuk mengambil entri log audit untuk project, folder, atau organisasi Google Cloud Anda:
Di Google Cloud konsol, 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 berikut ini:
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 ID project, 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 Anda, bergantung pada jenis resource yang ditentukan dalamRESOURCE_TYPE
.
Tambahkanflag --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 mengetahui informasi selengkapnya tentang cara membuat sink gabungan, lihat Menggabungkan dan merutekan log tingkat organisasi ke tujuan yang didukung.
Langkah berikutnya
Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengelola batasan kebijakan organisasi, lihat Menggunakan batasan.