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, Cloud de Confiance by S3NS 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 Cloud de Confiance by S3NS dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan Cloud de Confiance by S3NS dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
-
- Tetapkan region dan zona default.
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, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .
- 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:
Evaluasi 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.disableSerialPortAccess |
serial-port-enable |
Project, Zonal, Instance |
compute.managed.requireOsLogin |
enable-oslogin |
Project, Zonal, Instance |
compute.managed.disableGuestAttributesAccess |
enable-guest-attributes |
Project, Zonal, Instance |
compute.managed.requireOsConfig |
enable-osconfig |
Project, Zonal, Instance |
compute.managed.disallowGlobalDns |
VmDnsSetting |
Project, 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 Cloud de Confiance , 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.
Memvalidasi dengan uji coba
Mode uji coba mencatat pelanggaran ke Cloud Logging, tetapi tidak menerapkan batasan.
Untuk menguji batasan, gunakan perintah gcloud org-policies set-policy sebagai 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 Cloud de Confiance by S3NS sistem.
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 osLoginOptional untuk mengidentifikasi
resource yang dikecualikan dari persyaratan Login OS. Saat Anda mengikat tag ini dengan nilai true ke 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 beralih dari batasan compute.* lama ke batasan compute.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 Cloud de Confiance 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 Cloud de Confiance dan filter menurut
Langkah berikutnya
- Pelajari lebih lanjut konsep dan manfaat dasar 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 Cloud de Confiance by S3NS .
- Pelajari cara menggunakan Simulator Kebijakan untuk analisis dampak lanjutan kebijakan organisasi Anda.