Batasan terkelola adalah kebijakan organisasi yang telah ditentukan sebelumnya, yang dibangun di platform modern, yang memberikan kontrol terpusat dan terprogram atas resource Compute Engine Anda. Hal ini mencakup dukungan bawaan untuk alat peluncuran yang aman seperti Policy Simulator dan uji coba.
Batasan terkelola dapat diidentifikasi dengan awalan compute.managed.* dan berfungsi
sebagai pengganti langsung untuk batasan compute.* lama.
Manfaat
- Peluncuran dan pemantauan yang aman: Terapkan kebijakan dengan alat lengkap, kontrol perubahan yang lebih cepat, dan deployment bertahap menggunakan kemampuan simulasi dan uji coba.
- Logging yang konsisten: Menerapkan keseragaman dalam pesan error dan logging, sehingga menyederhanakan pemantauan terpusat dan menyederhanakan audit.
Pewarisan kebijakan
Kebijakan organisasi yang Anda tetapkan pada resource diwarisi oleh turunan resource tersebut dalam hierarki resource. Misalnya, jika Anda menerapkan kebijakan pada folder, Google Cloud akan menerapkan kebijakan tersebut pada semua project di folder tersebut.
Harga
Layanan Kebijakan Organisasi, termasuk kebijakan organisasi yang telah ditetapkan (lama), terkelola, dan kustom, ditawarkan tanpa biaya.
Sebelum memulai
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
- Set a default region and zone.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
- Pastikan Anda mengetahui ID organisasi Anda.
- Jika Anda belum melakukannya, instal
gcloud CLI dan lakukan inisialisasi dengan menjalankan
gcloud init. - Tetapkan project default untuk pengujian Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengelola kebijakan organisasi dengan batasan terkelola, minta administrator Anda untuk memberi Anda peran IAM berikut :
-
Administrator kebijakan organisasi (
roles/orgpolicy.policyAdmin) di resource organisasi -
Untuk menguji batasan:
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) pada project
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi dengan batasan terkelola. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan organisasi dengan batasan terkelola:
-
orgpolicy.constraints.list -
orgpolicy.policies.create -
orgpolicy.policies.delete -
orgpolicy.policies.list -
orgpolicy.policies.update -
orgpolicy.policy.get -
orgpolicy.policy.set -
Untuk menguji batasan:
compute.instances.createpada project- Untuk menggunakan image kustom guna membuat VM:
compute.images.useReadOnlypada image - Untuk menggunakan snapshot guna membuat VM:
compute.snapshots.useReadOnlypada snapshot - Untuk menggunakan template instance guna membuat VM:
compute.instanceTemplates.useReadOnlydi template instance - Untuk menetapkan jaringan lama ke VM:
compute.networks.usepada project - Untuk menentukan alamat IP statis untuk VM:
compute.addresses.usedi project - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama:
compute.networks.useExternalIpdi project - Untuk menentukan subnet bagi VM:
compute.subnetworks.usepada project atau pada subnet yang dipilih - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC:
compute.subnetworks.useExternalIpdi project atau di subnet yang dipilih - Untuk menetapkan metadata instance VM untuk VM:
compute.instances.setMetadatadi project - Untuk menyetel tag untuk VM:
compute.instances.setTagsdi VM - Untuk menyetel label VM:
compute.instances.setLabelsdi VM - Untuk menyetel akun layanan yang akan digunakan VM:
compute.instances.setServiceAccountdi VM - Untuk membuat disk baru untuk VM:
compute.disks.createdi project - Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis:
compute.disks.usepada disk - Untuk memasang disk yang ada dalam mode hanya baca:
compute.disks.useReadOnlypada disk
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Batasan terkelola yang tersedia
Batasan kebijakan organisasi terkelola berikut tersedia untuk Compute Engine:
Batasan Deskripsi Setelan enkripsi Lampiran VLAN yang diizinkan Batasan daftar ini menentukan setelan enkripsi yang diizinkan untuk Lampiran VLAN baru.
Secara default, Lampiran VLAN diizinkan untuk menggunakan setelan enkripsi apa pun.
Tetapkan IPSEC sebagai nilai yang diizinkan untuk mewajibkan pembuatan lampiran VLAN terenkripsi saja.constraints/compute.managed.allowedVlanAttachmentEncryptionMemblokir Fitur Pratinjau Compute Engine Batasan ini memastikan bahwa fitur pratinjau diblokir kecuali jika batasan ini diizinkan secara eksplisit. Setelah disetel ke izinkan, Anda dapat mengontrol fitur pratinjau mana yang dapat diaktifkan atau dinonaktifkan secara terpisah untuk project Anda. Hanya fitur pratinjau yang diaktifkan yang dapat diakses dalam project. Selanjutnya, menonaktifkan kebijakan tidak akan mengubah status fitur pratinjau individual yang telah ditetapkan & fitur tersebut dapat dinonaktifkan secara individual. Batasan ini hanya berlaku untuk fitur Compute Alpha API.
constraints/compute.managed.blockPreviewFeaturesMenonaktifkan Virtualisasi Bertingkat VM [Pratinjau Publik] Batasan boolean ini menonaktifkan virtualisasi bertingkat dengan akselerasi hardware untuk semua VM Compute Engine yang menjadi bagian dari organisasi, project, atau folder yang menetapkan batasan ini ke
True.
Secara default, virtualisasi bertingkat dengan akselerasi hardware diizinkan untuk semua VM Compute Engine yang berjalan di platform CPU Intel Haswell atau yang lebih baru.constraints/compute.managed.disableNestedVirtualizationMembatasi pengaktifan metadata akses port serial VM Pratinjau: Batasan ini mencegah kunci metadata serial-port-enable disetel ke benar (true) untuk VM Compute Engine dalam organisasi, project, atau folder tempat batasan ini diberlakukan. Secara default, akses port serial dapat diaktifkan per VM, per zona, atau per project menggunakan kunci metadata ini. Untuk mengizinkan akses port serial bagi VM tertentu, Anda dapat mengecualikannya dari kebijakan ini menggunakan tag dan aturan bersyarat.
Penting: Menerapkan batasan ini tidak memengaruhi VM yang ada yang serial-port-enable-nya sudah disetel ke benar (true); VM tersebut akan mempertahankan akses kecuali jika metadatanya diperbarui.constraints/compute.managed.disableSerialPortAccessNonaktifkan logging port serial VM ke Stackdriver [Pratinjau Publik] Jika diberlakukan, batasan ini akan menonaktifkan logging port serial ke Stackdriver dari VM Compute Engine.
Secara default, logging port serial untuk VM Compute Engine dinonaktifkan, dan dapat diaktifkan secara selektif per VM atau per project menggunakan atribut metadata. Menonaktifkan logging port serial dapat menyebabkan layanan tertentu yang mengandalkannya, seperti cluster Google Kubernetes Engine, tidak berfungsi dengan benar. Sebelum Anda menerapkan batasan ini, pastikan produk di project Anda tidak bergantung pada logging port serial. Anda dapat mengizinkan instance VM tertentu menggunakan logging port serial. Pertama, terapkan tag untuk menandai instance, lalu gunakan aturan bersyarat berdasarkan nilai tag untuk mengecualikan instance tersebut dari penegakan.constraints/compute.managed.disableSerialPortLoggingMembatasi penggunaan DNS Internal Global (gDNS) untuk project yang memiliki setelan DNS ZonalOnly. [Pratinjau Publik] Batasan ini, jika diterapkan, akan membatasi penggunaan gDNS. Pembatasan ini menonaktifkan pembuatan VM gDNS dan mengupdate VM untuk menggunakan gDNS. Mengembalikan project zDNS ke gDNS tidak akan diblokir, tetapi akan menyebabkan penegakan pelanggaran kebijakan selama pemanggilan Instance API berikutnya.
constraints/compute.managed.disallowGlobalDnsMemerlukan Konfigurasi OS [Pratinjau Publik] Jika diterapkan, batasan ini akan mewajibkan pengaktifan VM Manager (OS Config) di semua project baru. Pada project baru dan yang sudah ada, batasan ini mencegah pembaruan metadata yang dapat menonaktifkan VM Manager di tingkat project, project-zonal, atau instance. Anda dapat mengizinkan instance VM tertentu untuk menonaktifkan VM Manager. Pertama, terapkan tag untuk menandai instance, lalu gunakan aturan bersyarat berdasarkan nilai tag untuk mengecualikan instance tersebut dari penegakan.
constraints/compute.managed.requireOsConfigPerlu Login OS [Pratinjau Publik] Jika diterapkan, batasan ini akan mewajibkan pengaktifan Login OS di semua Project yang baru dibuat. Pada project baru dan yang sudah ada, batasan ini mencegah pembaruan metadata yang dapat menonaktifkan Login OS di tingkat project, project-zonal, atau instance. Anda dapat mengizinkan instance VM tertentu untuk menonaktifkan Login OS. Pertama, terapkan tag untuk menandai instance, lalu gunakan aturan bersyarat berdasarkan nilai tag untuk mengecualikan instance tersebut dari penegakan.
constraints/compute.managed.requireOsLoginMembatasi penggunaan penerusan protokol Batasan ini memungkinkan Anda membatasi jenis deployment penerusan protokol (internal atau eksternal) yang dapat dibuat di organisasi Anda. Untuk mengonfigurasi batasan, Anda menentukan daftar yang diizinkan dari jenis deployment penerusan protokol yang akan diizinkan. Daftar yang diizinkan hanya dapat menyertakan nilai berikut:
- INTERNAL
- EKSTERNAL
constraints/compute.managed.restrictProtocolForwardingCreationForTypesMembatasi penerusan IP VM [Pratinjau Publik] Batasan ini menentukan apakah instance VM Compute Engine dapat mengaktifkan penerusan IP. Secara default, jika tidak ada kebijakan yang ditentukan, semua VM dapat mengaktifkan penerusan IP di jaringan virtual mana pun. Jika diberlakukan, batasan ini akan menolak pembuatan atau update instance VM dengan penerusan IP yang diaktifkan. Anda dapat mengizinkan instance VM tertentu untuk mengaktifkan penerusan IP. Pertama, terapkan tag untuk menandai instance, lalu gunakan aturan bersyarat berdasarkan nilai tag untuk mengecualikan instance tersebut dari penegakan.
constraints/compute.managed.vmCanIpForwardMembatasi IP Eksternal Untuk Instance VM [Pratinjau Publik] Batasan ini menentukan apakah instance VM Compute Engine diizinkan menggunakan alamat IP eksternal IPv4. Secara default, semua instance VM diizinkan untuk menggunakan alamat IP eksternal. Jika diterapkan, batasan ini akan menolak pembuatan atau update instance VM dengan alamat IP eksternal IPv4. Batasan ini tidak akan membatasi penggunaan alamat IP eksternal IPv6. Anda dapat mengizinkan instance VM tertentu menggunakan alamat IP IPv4 eksternal. Pertama, terapkan tag untuk menandai instance, lalu gunakan aturan bersyarat berdasarkan nilai tag untuk mengecualikan instance tersebut dari penegakan.
constraints/compute.managed.vmExternalIpAccessEvaluasi metadata hierarkis
Batasan terkelola yang mengandalkan kunci metadata yang telah ditentukan sebelumnya, seperti Login OS atau Akses Port Serial, mendukung evaluasi hierarkis. Saat mengevaluasi batasan ini, Compute Engine akan memeriksa nilai metadata yang ditetapkan di tingkat instance VM, project, atau zona.
Menetapkan nilai metadata di tingkat project atau zona memungkinkan Anda mengelola instance VM dalam skala besar. Namun, penerapan batasan hanya terjadi selama panggilan API pembuatan atau update instance VM. Oleh karena itu, perubahan pada metadata project atau zona memengaruhi kepatuhan terhadap batasan instance VM hanya saat instance tersebut dibuat atau diupdate.
Batasan dan tingkat berbasis metadata
Batasan Kunci metadata Tingkat hierarki metadata compute.managed.disableSerialPortAccessserial-port-enableProject, Zonal, Instance compute.managed.requireOsLoginenable-osloginProject, Zonal, Instance compute.managed.disableGuestAttributesAccessenable-guest-attributesProject, Zonal, Instance compute.managed.requireOsConfigenable-osconfigProject, Zonal, Instance compute.managed.disallowGlobalDnsVmDnsSettingProject, Instance Peluncuran yang aman: Siklus proses kebijakan
Untuk mencegah gangguan layanan saat Anda menerapkan batasan baru secara bertahap, Google merekomendasikan agar Anda menerapkan batasan terkelola dengan mengikuti langkah-langkah berikut:
Menganalisis dengan Policy Simulator
Sebelum menerapkan kebijakan, gunakan Policy Simulator untuk melihat resource yang ada yang melanggar kebijakan. Ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Organization Policies.
Di kolom filter, cari batasan Anda, lalu klik nama batasan untuk membuka halaman Policy details.
Klik Uji Perubahan untuk membuat laporan simulasi.
Perubahan metadata hierarkis mungkin memerlukan waktu beberapa jam untuk ditampilkan di laporan simulasi terkait batasan pada setelan metadata VM.
Tinjau laporan untuk mengonfigurasi ulang resource yang tidak mematuhi kebijakan atau meminta pengecualian.
Validasi dengan uji coba
Mode uji coba mencatat pelanggaran ke Cloud Logging, tetapi tidak menerapkan batasan.
Untuk menguji batasan, gunakan perintah
gcloud org-policies set-policysebagai berikut:Buat file YAML kebijakan (misalnya,
dry-run-policy.yaml) dengandryRunSpec:name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin dryRunSpec: rules: - enforce: trueGanti
PROJECT_IDdengan project ID Anda.Terapkan kebijakan:
gcloud org-policies set-policy dry-run-policy.yaml
Penerapan penuh
Setelah menyimulasikan dan menguji kebijakan, Anda dapat menerapkannya pada resource. Perubahan kebijakan dapat memerlukan waktu hingga 15 menit untuk diterapkan di semua sistem.Google Cloud
Menguji penerapan batasan
Setelah menetapkan kebijakan, Anda dapat memverifikasi penegakan menggunakan gcloud CLI. Misalnya, untuk menguji batasan
compute.managed.requireOsLogin, ikuti langkah-langkah berikut:Mencantumkan kebijakan yang ada untuk mengonfirmasi konfigurasi Anda:
gcloud org-policies list --project=PROJECT_IDTerapkan kebijakan terkait Proses Penegakan Kebijakan menggunakan file YAML:
gcloud org-policies set-policy enforce_managed_constraint.yamlVerifikasi penerapan dengan memanggil API mutasi. Mencoba membuat instance VM dengan metadata yang tidak sesuai akan gagal:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata=enable-oslogin=falseGanti kode berikut:
VM_NAME: nama untuk instance VM baru.MACHINE_TYPE: jenis mesin yang valid, misalnya,e2-micro.IMAGE_FAMILY: kelompok image yang valid, misalnya,debian-11.IMAGE_PROJECT: project kelompok gambar, misalnya,debian-cloud.
Periksa pesan error. Anda akan melihat penolakan yang menunjukkan batasan spesifik yang dilanggar:
ERROR: (gcloud.compute.instances.create) Could not fetch resource: - Operation denied by org policy: [constraints/compute.managed.requireOsLogin]
Pengecualian bersyarat dengan tag
Anda dapat menggunakan tag untuk memberikan pengecualian pada resource tertentu berdasarkan kebutuhan bisnis. Dalam contoh ini, kita menggunakan tag bernama
osLoginOptionaluntuk mengidentifikasi resource yang dikecualikan dari persyaratan Login OS. Saat Anda mengikat tag ini dengan nilaitrueke resource, kebijakan organisasi mengizinkan resource tertentu tersebut ada tanpa mengaktifkan Login OS, meskipun kebijakan tetap diberlakukan secara ketat untuk lingkungan Anda lainnya.Untuk memberikan pengecualian menggunakan tag, ikuti langkah-langkah berikut:
Buat tag: Gunakan gcloud CLI untuk membuat kunci tag dan nilai tag.
Buat kunci tag:
gcloud resource-manager tags keys create osLoginOptional \ --parent=organizations/ORGANIZATION_IDBuat nilai tag:
gcloud resource-manager tags values create true \ --parent=organizations/ORGANIZATION_ID/tagKeys/osLoginOptional
Ganti
ORGANIZATION_IDdengan ID organisasi Anda.Ikat tag ke resource. Untuk mengecualikan project dari batasan
compute.managed.requireOsLogin, ikat tagosLoginOptional=trueke project menggunakan perintahgcloud resource-manager tags bindings create:gcloud resource-manager tags bindings create \ --tag-value=ORGANIZATION_ID/osLoginOptional/true \ --parent=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID \ --location=globalGanti
ORGANIZATION_IDdengan ID organisasi Anda, danPROJECT_IDdengan ID project yang ingin Anda kecualikan.Untuk mempelajari cara mengikat tag ke resource lain, lihat Mengikat tag ke resource.
Perbarui kebijakan: Buat atau perbarui file YAML kebijakan Anda (misalnya,
policy.yaml) untuk menyertakan aturan bersyarat.name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin spec: rules: - condition: expression: "resource.matchTag('ORGANIZATION_ID/osLoginOptional', 'true')" enforce: false - enforce: trueGanti kode berikut:
PROJECT_ID: project ID Anda.ORGANIZATION_ID: ID organisasi Anda.
Terapkan kebijakan: Gunakan perintah gcloud CLI berikut untuk mengaktifkan konfigurasi:
gcloud org-policies set-policy policy.yaml
Migrasi dari batasan lama
Saat melakukan migrasi, perhatikan bahwa batasan terkelola meningkatkan, tetapi tidak mereplikasi secara persis, perilaku kebijakan lama. Batasan terkelola menawarkan prediktabilitas yang lebih besar dengan memeriksa pelanggaran hanya selama permintaan API yang membuat atau mengubah resource. Jika permintaan melanggar batasan, panggilan API akan gagal dengan error yang jelas. Hal ini berbeda dengan kebijakan lama, yang dapat diterapkan pada berbagai tahap operasi atau digunakan sebagai atribut resource, sehingga perilaku penerapan kurang dapat diprediksi.
Saat berpindah dari batasan
compute.*lama ke batasancompute.managed.*modern yang setara, ikuti langkah-langkah berikut untuk mencegah pengetatan batasan yang tidak diinginkan:- Temukan: Mengidentifikasi alternatif batasan terkelola baru.
- Analisis dan validasi: Gunakan Simulator Kebijakan dan uji coba seperti yang dijelaskan sebelumnya.
- Terapkan batasan terkelola: Terapkan batasan terkelola baru bersama dengan batasan lama.
- Hapus kebijakan lama:
- Buka Inventaris Aset di konsol Google Cloud dan filter menurut
orgpolicy.Policydan nama batasan lama untuk mengidentifikasi semua kebijakan yang menggunakan batasan lama. - Hapus semua kebijakan yang menggunakan batasan lama. Menghapus kebijakan akan mereset kebijakan tersebut ke perilaku default yang dikelola Google untuk batasan tersebut.
- Buka Inventaris Aset di konsol Google Cloud dan filter menurut
Langkah berikutnya
- Pelajari lebih lanjut konsep dasar dan manfaat layanan ini di Pengantar Layanan Kebijakan Organisasi.
- Untuk mengetahui petunjuk mendetail tentang cara membuat dan mengelola kebijakan, lihat dokumentasi Resource Manager.
- Lihat daftar lengkap batasan yang tersedia di semua layanan Google Cloud .
- Pelajari cara menggunakan Simulator Kebijakan untuk analisis dampak lanjutan kebijakan organisasi Anda.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2026-03-04 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-03-04 UTC."],[],[]] -