Gunakan kebijakan tamu untuk mempertahankan konfigurasi software yang konsisten di seluruh instance virtual machine (VM) Linux dan Windows.
Untuk menyiapkan kebijakan tamu di sekumpulan VM, selesaikan langkah-langkah berikut:
- Tetapkan izin yang diperlukan ke pengguna.
- Siapkan VM.
- Konfigurasi file JSON atau YAML kebijakan tamu.
- Buat kebijakan tamu.
Sebelum memulai
- 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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Untuk VM yang ditarget, kebijakan tamu akan diperbarui setiap kali agen melakukan pemeriksaan layanan. Pemeriksaan ini dilakukan setiap 10 hingga 15 menit.
- Tidak ada dasbor, notifikasi, atau layanan pemberitahuan kepatuhan yang tersedia pada kebijakan tamu OS lama ini. VM yang tidak menjalankan agen OS Config tidak melaporkan kegagalan. Untuk hasil terbaik, gunakan fitur ini dengan layanan pengelolaan inventaris OS atau alat pemantauan kepatuhan lainnya.
Urutan langkah software, dengan nama spesifik, hanya berjalan satu kali saat Anda membuat kebijakan tamu. Untuk menjalankan kembali urutan langkah software, Anda harus melakukan tindakan berikut:
- Mengganti nama urutan langkah software.
- Menghapus dan membuat ulang kebijakan tamu menggunakan urutan langkah software yang sudah diganti namanya.
- GuestPolicy Admin (
roles/osconfig.guestPolicyAdmin
). Berisi izin untuk membuat, menghapus, memperbarui, mendapatkan, dan menampilkan daftar kebijakan tamu. - GuestPolicy Editor (
roles/osconfig.guestPolicyEditor
). Berisi izin untuk mendapatkan, memperbarui, dan menampilkan daftar kebijakan tamu. - GuestPolicy Viewer (
roles/osconfig.guestPolicyViewer
). Berisi izin akses hanya baca untuk mendapatkan dan menampilkan daftar kebijakan tamu. PROJECT_ID
: project ID.USER_ID
: nama pengguna Google Workspace pengguna.- Bagian penetapan yang berisi daftar VM target.
- Bagian konfigurasi yang diperlukan yang berisi status yang ingin dipertahankan di VM.
- Nama instance. Lihat contoh 1.
- Awalan nama instance. Lihat contoh 2.
- Label instance. Lihat contoh 3.
- Zona. Lihat contoh 4.
- Informasi sistem operasi, yang berisi nama, versi, dan arsitektur OS. Lihat contoh 5. Perintah os-inventory describe dapat digunakan untuk menentukan nama, versi, dan arsitektur OS VM.
- Menginstal, menghapus, dan mengupdate otomatis paket software. Lihat contoh 1.
- Mengonfigurasi repositori paket software. Lihat contoh 1 atau contoh 3.
- Menginstal software menggunakan urutan langkah software.
- Untuk informasi selengkapnya tentang menetapkan kebijakan tamu untuk paket, lihat dokumen referensi Representasi JSON Package.
- Untuk informasi selengkapnya tentang menetapkan kebijakan tamu untuk repositori paket, lihat dokumen referensi Representasi JSON PackageRepository.
- Sistem operasi: Red Hat Enterprise Linux 7
- Label:
color=red
- Hanya menggunakan huruf kecil, angka, dan tanda hubung
- Diawali dengan huruf
- Diakhiri dengan angka atau huruf
- Berisi antara 1 hingga 63 karakter
- Setiap ID kebijakan harus unik dalam sebuah project
POLICY_ID
: nama untuk kebijakan tamu yang ingin dibuat.FILE
: file JSON atau YAML yang berisi spesifikasi kebijakan tamu. Untuk melihat contoh konfigurasi, baca Contoh file YAML kebijakan tamu.PROJECT_ID
: project ID Anda.POLICY_ID
: nama untuk kebijakan tamu.- Pelajari lebih lanjut kebijakan tamu OS (lama).
- Kelola kebijakan tamu.
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.
Batasan
Izin
Karena Anda dapat menggunakan kebijakan tamu untuk menginstal dan mengelola paket software di sebuah VM, pembuatan dan pengelolaan kebijakan tamu setara dengan pemberian akses eksekusi kode jarak jauh di sebuah VM.
Saat Anda menyiapkan kebijakan tamu, izin IAM digunakan untuk mengontrol akses ke resource kebijakan dan aktivitas akan dicatat dalam log audit. Namun, pengguna masih dapat menjalankan kode di VM yang berpotensi menimbulkan risiko keamanan. Untuk memitigasi hal ini, sebaiknya Anda hanya memberikan akses yang diperlukan kepada setiap pengguna.
Pemilik project memiliki akses penuh untuk membuat dan mengelola kebijakan. Untuk semua pengguna lainnya, Anda harus memberikan izin. Anda dapat memberikan salah satu peran terperinci berikut:
Misalnya, untuk memberikan akses administrator pengguna ke kebijakan tamu, jalankan perintah berikut:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.guestPolicyAdmin
Ganti kode berikut:
Menyiapkan VM
Untuk menggunakan kebijakan tamu, Anda harus menyiapkan VM Manager.
Mengonfigurasi file YAML atau JSON kebijakan tamu
Anda harus memberikan spesifikasi kebijakan tamu menggunakan file JSON atau YAML. Untuk melihat contoh konfigurasi, baca Contoh file YAML kebijakan tamu.
File YAML atau JSON berisi dua bagian utama berikut:
Penetapan
Anda dapat menetapkan kebijakan tamu ke semua VM di project atau menggunakan kunci
assignment
di file JSON atau YAML untuk menarget grup VM tertentu.Misalnya, Anda dapat menarget sekelompok VM menggunakan salah satu karakteristik berikut:
Untuk menetapkan kebijakan tamu menggunakan informasi sistem operasi, agen OS Config harus mengirimkan informasi sistem operasi ke endpoint atribut tamu untuk VM. Demi menjaga privasi, secara default, informasi sistem operasi untuk VM tidak tersedia. Untuk mengelompokkan VM berdasarkan informasi sistem operasi, Anda harus memastikan bahwa atribut tamu dan layanan OS Inventory Management diaktifkan. Untuk mengaktifkan layanan ini, lihat Menyiapkan VM.
Konfigurasi kebijakan tamu diterapkan secara otomatis ke semua VM baru yang cocok dengan penetapan.
Konfigurasi yang diperlukan
Konfigurasi yang diperlukan dapat diperoleh dengan menggunakan salah satu atau gabungan tugas berikut:
Contoh file YAML kebijakan tamu
Contoh 1
Instal paket
my-package
yang harus terus diupdate di instance VM berikut:my-instance-1
danmy-instance-2
.assignment: instances: - zones/us-east1-c/instances/my-instance-1 - zones/us-east1-c/instances/my-instance-2 packages: - name: "my-package" desiredState: UPDATED
Untuk informasi selengkapnya tentang menetapkan kebijakan tamu untuk paket, lihat dokumen referensi Representasi JSON Package.
Contoh 2
Instal agen Cloud Monitoring, menggunakan pengelola paket yum, di semua instance VM yang memiliki salah satu awalan nama instance berikut:
test-instance-
ataudev-instance-
.assignment: instanceNamePrefixes: - "test-instance-" - "dev-instance-" packages: - name: "stackdriver-agent" desiredState: INSTALLED manager: YUM packageRepositories: - yum: id: google-cloud-monitoring displayName: "Google Cloud Monitoring Agent Repository" baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el7-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
Untuk informasi selengkapnya tentang menetapkan kebijakan tamu untuk repositori paket, lihat dokumen referensi Representasi JSON PackageRepository.
Contoh 3
Instal
my-package
, lalu hapusbad-package-1
danbad-package-2
dari instance yang memiliki sekumpulan label tertentu. Tambahkan juga repositori untuk pengelola paket apt dan yum.assignment: # Assign to VM instances where `(label.color=red AND label.env=test) OR (label.color=blue AND label.env=test)` groupLabels: - labels: color: red env: test - labels: color: blue env: test packages: - name: "my-package" desiredState: INSTALLED - name: "bad-package-1" desiredState: REMOVED - name: "bad-package-2" desiredState: REMOVED manager: APT # Only apply this to systems with APT. packageRepositories: - apt: # Only apply this to systems with APT. uri: "https://packages.cloud.google.com/apt" archiveType: DEB distribution: cloud-sdk-stretch components: - main - yum: # Only apply this to systems with YUM. id: google-cloud-sdk displayName: "Google Cloud SDK" baseUrl: https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 gpgKeys: - https://packages.cloud.google.com/yum/doc/yum-key.gpg - https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Contoh 4
Instal software dari MSI yang dihosting di Cloud Storage ke semua instance di
us-east1-b
danus-east1-d
.assignment: zones: - us-east1-b - us-east1-d recipes: - name: "swr-msi-gcs" desiredState: INSTALLED artifacts: - id: "the-msi" gcs: bucket: "my-bucket" object: "executable.msi" # full URI gs://my-bucket/executable.msi#nnnnn generation: 1546030865175603 installSteps: - msiInstallation: artifactId: "the-msi"
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan urutan langkah, lihat dokumen referensi Representasi JSON SoftwareRecipe.
Contoh 5
Instal software dengan menjalankan skrip inline di semua instance VM yang memenuhi persyaratan berikut:
assignment: osTypes: - osShortName: rhel osVersion: "7" groupLabels: - labels: color: red recipes: - name: recipe-runscript desiredState: INSTALLED installSteps: - scriptRun: script: |- #!/bin/bash touch /TOUCH_FILE
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan urutan langkah, lihat dokumen referensi Representasi JSON SoftwareRecipe.
Contoh 6
Instal aplikasi di semua instance Windows menggunakan penginstal yang dapat dieksekusi yang memiliki awalan nama instance berikut:
test-instance-
.assignment: instanceNamePrefixes: - "test-instance-" osTypes: - osShortName: WINDOWS recipes: - name: windows-install-exe-example desiredState: INSTALLED artifacts: - id: installer gcs: bucket: my-bucket generation: '1597013478912389' object: MyApp.Installer.x64.exe installSteps: - fileExec: artifactId: installer args: - /S # Installation must be silent
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan urutan langkah, lihat dokumen referensi Representasi JSON SoftwareRecipe.
Membuat kebijakan tamu
Saat Anda membuat kebijakan tamu, nama kebijakan tamu harus memenuhi persyaratan penamaan berikut:
Gunakan salah satu metode berikut untuk membuat kebijakan tamu.
gcloud
Gunakan perintah
os-config guest-policies create
untuk membuat kebijakan tamu.gcloud beta compute os-config guest-policies create POLICY_ID \ --file=FILE
Ganti kode berikut:
REST
Di API, buat permintaan
POST
ke metodeprojects.guestPolicies.create
.POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies?guestPolicyId=POLICY_ID { For more information, see Guest policy JSON }
Ganti kode berikut:
Untuk melihat contoh konfigurasi, baca Contoh file YAML kebijakan tamu.
Pemecahan masalah
Untuk memecahkan masalah terkait kebijakan tamu, lihat Men-debug kebijakan tamu.
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-06 UTC.
-