Gunakan kebijakan OS untuk mempertahankan konfigurasi software yang konsisten di seluruh instance virtual machine (VM) Linux dan Windows.
Sebelum memulai
- Tinjau penetapan kebijakan OS dan kebijakan OS.
- Tinjau kuota OS Config.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Admin OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Berisi izin untuk membuat, menghapus, mengupdate, mendapatkan, dan mencantumkan penetapan kebijakan OS. - Editor OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Berisi izin untuk mengupdate, mendapatkan, dan mencantumkan penetapan kebijakan OS. - Viewer OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Berisi izin akses hanya baca untuk mendapatkan dan mencantumkan penetapan kebijakan OS. PROJECT_ID
: ID projectUSER_ID
: nama pengguna Google Workspace- Siapkan VM Manager.
- Tetapkan izin yang diperlukan ke pengguna.
- Tinjau penetapan kebijakan OS dan kebijakan OS.
- Buat resource kebijakan OS.
Untuk membuat dan meluncurkan penetapan kebijakan OS, gunakan salah satu metode berikut:
Konsol
Untuk membuat dan meluncurkan penetapan kebijakan OS, selesaikan langkah-langkah berikut:
- Di klien lokal Anda, buat atau download kebijakan OS. File ini harus berupa file JSON atau YAML. Untuk mengetahui informasi selengkapnya tentang cara membuat kebijakan OS atau melihat contoh kebijakan OS, lihat kebijakan OS.
Di Konsol Google Cloud, buka halaman Kebijakan OS.
Klik Buat penetapan kebijakan OS.
Di bagian ID Penetapan, beri nama untuk penetapan kebijakan OS. Lihat Konvensi penamaan resource.
Di bagian Kebijakan OS, upload file kebijakan OS.
Di bagian Target VM instances, tentukan VM target.
- Pilih zona yang berisi VM yang ingin Anda terapkan kebijakan.
- Pilih kelompok OS.
- Opsional: Anda dapat memfilter VM lebih lanjut dengan menentukan label pengecualian dan penyertaan.
Misalnya, Anda dapat memilih semua VM Ubuntu di lingkungan pengujian Anda, dan mengecualikan VM yang menjalankan Google Kubernetes Engine, dengan menentukan hal berikut:
- Grup OS:
ubuntu
- Sertakan:
env:test
,env:staging
- Kecualikan:
goog-gke-node
Tentukan rencana peluncuran.
- Tentukan ukuran gelombang (disebut juga sebagai anggaran gangguan). Contoh, 10%.
- Menentukan waktu tunggu. Misalnya, 15 menit.
Klik Mulai peluncuran.
gcloud
Untuk membuat dan meluncurkan penetapan kebijakan OS di suatu zona, selesaikan langkah-langkah berikut:
Buat resource penetapan kebijakan OS dalam format JSON atau YAML. File ini menentukan kebijakan OS yang ingin Anda terapkan ke VM, VM target tempat Anda ingin menerapkan kebijakan, dan tingkat peluncuran untuk menerapkan kebijakan OS. Untuk mengetahui informasi selengkapnya tentang file ini dan contoh penetapan, lihat Penetapan kebijakan OS.
Gunakan perintah
os-config os-policy-assignments create
untuk membuat dan meluncurkan penetapan kebijakan OS di lokasi tertentu.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Ganti kode berikut:
OS_POLICY_ASSIGNMENT_ID
: nama untuk penetapan kebijakan OS. Lihat Konvensi penamaan resource.ZONE
: zona untuk membuat penetapan kebijakan OS.OS_POLICY_ASSIGNMENT_FILE
: jalur absolut ke file penetapan kebijakan OS yang Anda buat di langkah sebelumnya.
Contoh
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
Outputnya mirip dengan yang berikut ini:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Catat nama resource yang sepenuhnya memenuhi syarat untuk operasi. Dalam contoh sebelumnya, nama resource yang sepenuhnya memenuhi syarat adalah:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Anda dapat menggunakan nama resource yang sepenuhnya memenuhi syarat ini untuk mendapatkan detail peluncuran, atau untuk membatalkan peluncuran. Lihat Peluncuran.
Terraform
Untuk membuat penetapan kebijakan OS, gunakan resource
google_os_config_os_policy_assignment
.Contoh berikut memverifikasi apakah server web Apache berjalan di VM CentOS.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Untuk membuat penetapan kebijakan OS pada klien lokal Anda, selesaikan langkah-langkah berikut:
Buat penetapan kebijakan OS. File ini harus berupa file JSON. Untuk mengetahui informasi selengkapnya tentang cara membuat penetapan kebijakan OS atau melihat contoh penetapan kebijakan OS, lihat Penetapan kebijakan OS.
Jika ingin menggunakan contoh penetapan kebijakan YAML OS, Anda harus mengonversinya menjadi JSON.
Di API, buat permintaan
POST
ke metodeprojects.locations.osPolicyAssignments.create
.Di isi permintaan, tempel spesifikasi penetapan kebijakan OS dari langkah sebelumnya.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Ganti kode berikut:
PROJECT_ID
: project ID AndaOS_POLICY_ASSIGNMENT_ID
: nama untuk penetapan kebijakan OSJSON_OS_POLICY
: spesifikasi penetapan kebijakan OS yang dibuat di langkah sebelumnya. Nama ini harus dalam format JSON. Untuk mengetahui informasi selengkapnya tentang parameter dan format, lihatResource: OSPolicyAssignment
.ZONE
: zona untuk membuat penetapan kebijakan OS
Contoh
Misalnya, untuk membuat penetapan kebijakan OS untuk Google Cloud Observability yang menginstal agen pemantauan dan logging pada VM tertentu dengan menggunakan Penetapan kebijakan Contoh OS, selesaikan langkah-langkah berikut:
- Mengonversi contoh ke JSON
- Buat permintaan berikut:
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { "osPolicies": [ { "id": "setup-repo-and-install-package-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "setup-repo", "repository": { "yum": { "id": "google-cloud-monitoring", "displayName": "Google Cloud Monitoring Agent Repository", "baseUrl": "https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el8-x86_64-all", "gpgKeys": [ "https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" ] } } }, { "id": "install-pkg", "pkg": { "desiredState": "INSTALLED", "yum": { "name": "stackdriver-agent" } } } ] } ] } ], "instanceFilter": { "inclusionLabels": [ { "labels": { "used_for": "testing" } } ] }, "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": { "seconds": 300 } } }
Di Konsol Google Cloud, buka halaman Kebijakan OS.
Klik tab Penetapan kebijakan OS.
Untuk penetapan kebijakan OS yang ingin Anda batalkan peluncurannya, klik Action (> Cancel launch.
)Klik Batalkan peluncuran.
- Pelajari kebijakan OS lebih lanjut.
- Mengelola penetapan kebijakan OS.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Sistem operasi yang didukung
Untuk mengetahui daftar lengkap sistem operasi dan versi yang mendukung kebijakan OS, lihat Detail sistem operasi.
Izin
Karena Anda dapat menggunakan kebijakan OS untuk menginstal dan mengelola paket software di VM, pembuatan dan pengelolaan kebijakan OS sama dengan memberikan akses eksekusi kode jarak jauh pada VM. Saat Anda menyiapkan kebijakan OS, izin IAM digunakan untuk mengontrol akses ke resource kebijakan dan aktivitas akan dicatat dalam log audit.
Pemilik project memiliki akses penuh untuk membuat dan mengelola penetapan kebijakan OS. Untuk semua pengguna lainnya, Anda harus memberikan izin. Anda dapat memberikan salah satu peran terperinci berikut:
Contoh perintah untuk menetapkan izin
Untuk memberikan akses admin kepada pengguna untuk penetapan kebijakan OS, jalankan perintah berikut:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Ganti kode berikut:
Membuat penetapan kebijakan OS
Untuk membuat dan meluncurkan penetapan kebijakan OS, selesaikan langkah-langkah berikut:
Peluncuran
Penetapan kebijakan OS di-deploy sesuai dengan kecepatan peluncuran. Artinya, tugas yang menargetkan serangkaian VM dapat di-deploy secara bertahap dan tidak langsung diterapkan ke semua VM. Perubahan diluncurkan secara bertahap untuk memberi Anda kesempatan untuk mengintervensi dan membatalkan peluncuran jika perubahan baru menyebabkan regresi.
Jika panggilan metode ke API mungkin memerlukan waktu lama, API akan menampilkan operasi yang berjalan lama (LRO). Untuk mengetahui informasi selengkapnya tentang LRO, lihat Operasi yang berjalan lama.
OS Config API membuat LRO setiap kali Anda membuat, memperbarui, atau menghapus penetapan kebijakan OS. Setiap LRO menampilkan resource operasi. Resource operasi ini mirip dengan yang berikut ini:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Setiap operasi pembuatan, update, atau penghapusan juga menghasilkan revisi penetapan kebijakan OS yang baru. Untuk melihat revisi penetapan kebijakan OS, lihat Mencantumkan revisi penetapan kebijakan OS.
Anda dapat menggunakan Google Cloud CLI untuk mendapatkan detail peluncuran atau membatalkan peluncuran.
Mendapatkan detail peluncuran
Untuk mendapatkan detail peluncuran, gunakan perintah
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Ganti
FULLY_QUALIFIED_OPERATION_NAME
dengan nama resource yang sepenuhnya memenuhi syarat untuk operasi yang ditampilkan dari operasi pembuatan, pembaruan, atau penghapusan.Contoh
gcloud compute os-config os-policy-assignments operations describe \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Contoh output
done: true metadata: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignmentOperationMetadata apiMethod: CREATE osPolicyAssignment: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment@cfb78790-41d8-40d1-b8a1-1eaf6011b909 rolloutStartTime: '2021-04-15T00:53:52.963569Z' rolloutState: SUCCEEDED rolloutUpdateTime: '2021-04-15T00:53:53.094041Z' name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/cfb78790-41d8-40d1-b8a1-1eaf6011b909 response: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignment baseline: true description: My test policy instanceFilter: inclusionLabels: - labels: label-key-not-targeting-instances: label-value-not-targeting-instances name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment osPolicies: - id: q-test-policy mode: ENFORCEMENT resourceGroups: - osFilter: osShortName: centos osVersion: '7' resources: - id: add-repo repository: yum: baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el7-x86_64-all
Membatalkan peluncuran
Konsol
gcloud
Untuk membatalkan peluncuran, gunakan perintah
gcloud compute os-config os-policy-assignments operations cancel
.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Ganti
FULLY_QUALIFIED_OPERATION_NAME
dengan nama resource yang sepenuhnya memenuhi syarat untuk operasi yang ditampilkan dari operasi pembuatan, pembaruan, atau penghapusan.Contoh
gcloud compute os-config os-policy-assignments operations cancel \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Jika perintah berhasil, tidak ada output yang ditampilkan.
Apa langkah selanjutnya?
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 2024-12-22 UTC.
-