Prasyarat untuk menggunakan orchestrator kebijakan

Halaman ini menjelaskan prasyarat untuk menggunakan fitur pengelola kebijakan di VM Manager.

Menyiapkan project kuota untuk orkestrasi organisasi dan folder

Saat menggunakan orkestrator kebijakan untuk mengelola resource kebijakan OS di organisasi atau folder Anda, Anda membuat permintaan ke API berbasis klien. Project kuota diperlukan untuk API berbasis klien. Untuk mengetahui informasi selengkapnya tentang API berbasis klien dan penyiapan project kuota, lihat Ringkasan project kuota.

Saat Anda menggunakan gcloud CLI atau REST API untuk memanggil metode pengelola kebijakan, tentukan project kuota sebagai berikut:

gcloud

Tetapkan project kuota di properti konfigurasi gcloud CLI Anda:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Ganti QUOTA_PROJECT_ID dengan project ID project kuota.

Atau, tetapkan project kuota untuk perintah tertentu menggunakan flag --billing-project, yang lebih diutamakan daripada properti konfigurasi.

REST

Tambahkan header HTTP x-goog-user-project untuk menentukan project kuota di setiap permintaan. Untuk mengetahui detailnya, lihat Menetapkan project kuota dengan permintaan REST.

Mengaktifkan OS Config API

Untuk menggunakan fitur pengelola kebijakan di VM Manager, aktifkan OS Config API di project berikut:

  • Untuk orkestrasi tingkat organisasi dan folder, aktifkan OS Config API untuk project kuota.
  • Untuk orkestrasi tingkat project, aktifkan OS Config API di project tempat Anda membuat pengorkestrasi kebijakan.

Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan OS Config API.

Aktifkan Progressive Rollout API untuk project

Konsol

  1. Di konsol Trusted Cloud , pilih project Trusted Cloud yang ingin Anda aktifkan API-nya, lalu buka halaman APIs & Services:

    Buka APIs & Services

  2. Klik Aktifkan API dan Layanan.

  3. Telusuri "Progressive Rollout".

  4. Di hasil penelusuran, klik Progressive Rollout API.

  5. Jika API belum diaktifkan, klik Enable.

gcloud

  1. Untuk melihat apakah Progressive Rollout API diaktifkan, jalankan perintah berikut setelah mengganti PROJECT_ID dengan ID project yang ingin Anda aktifkan API-nya:

     gcloud services list --project=PROJECT_ID
    

    Jika progressiverollout.googleapis.com muncul di output, API diaktifkan.

  2. Jika API tidak diaktifkan, jalankan perintah berikut untuk mengaktifkannya:

     gcloud services enable progressiverollout.googleapis.com
    

    Untuk informasi selengkapnya, lihat gcloud services.

Menyiapkan agen layanan Konfigurasi OS

Pengelola kebijakan menggunakan agen layanan OS Config untuk melakukan tindakan di project Anda. Hal ini juga bergantung pada Progressive Rollout API, yang memiliki agen layanannya sendiri. Untuk mengetahui informasi selengkapnya, lihat Agen layanan.

Anda harus membuat agen layanan untuk setiap project, folder, atau organisasi tempat Anda membuat orkestrator kebijakan.

Untuk membuat agen layanan, lakukan hal berikut.

  1. Tinjau format alamat email agen layanan untuk setiap resource:

    Project

    • service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ganti PROJECT_NUMBER dengan ID numerik project tempat Anda membuat orkestrator kebijakan.

    Folder

    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ganti FOLDER_NUMBER dengan ID numerik folder tempat Anda membuat orkestrator kebijakan.

    Organisasi

    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    Ganti ORGANIZATION_NUMBER dengan ID numerik organisasi tempat Anda membuat orkestrator kebijakan.

  2. Untuk membuat agen layanan untuk API dan resource tertentu, gunakan perintah gcloud beta services identity create:

    Project

    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER
    

    Ganti PROJECT_NUMBER dengan ID numerik project tempat Anda ingin membuat agen layanan.

    Folder

    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER
    

    Ganti FOLDER_NUMBER dengan ID numerik folder tempat Anda ingin membuat agen layanan.

    Organisasi

    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER
    

    Ganti ORGANIZATION_NUMBER dengan ID numerik organisasi tempat Anda ingin membuat agen layanan.

Memberikan peran IAM ke agen layanan

Agar orkestrator kebijakan berfungsi dengan baik, Anda harus memberikan semua peran agen layanan yang diperlukan ke akun layanan masing-masing, di resource induk orkestrator:

  • OSConfig Service Agent (roles/osconfig.serviceAgent) untuk akun @gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
  • OSConfig Rollout Service Agent (roles/osconfig.rolloutServiceAgent) untuk akun @gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
  • Agen Layanan Peluncuran Bertahap (roles/progressiverollout.serviceAgent) untuk akun @gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

Untuk memberikan peran IAM ke agen layanan, gunakan konsol Trusted Cloud atau perintah add-iam-policy-binding. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran kepada agen layanan.

Peran yang diperlukan

  • Untuk mendapatkan izin yang diperlukan saat memberikan akses kepada agen layanan, minta administrator untuk memberi Anda peran IAM berikut pada project, folder, atau organisasi yang Anda berikan akses:

    • Memberikan agen layanan akses ke project: Project IAM Admin (roles/resourcemanager.projectIamAdmin)
    • Memberikan agen layanan akses ke folder: Folder Admin (roles/resourcemanager.folderAdmin)
    • Memberikan agen layanan akses ke project, folder, dan organisasi: Admin Organisasi (roles/resourcemanager.organizationAdmin)

    Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin yang diperlukan untuk memberikan akses kepada agen layanan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk memberikan akses kepada agen layanan:

    • Memberikan agen layanan akses ke project:
      • resourcemanager.projects.getIamPolicy
      • resourcemanager.projects.setIamPolicy
    • Memberikan agen layanan akses ke folder:
      • resourcemanager.folders.getIamPolicy
      • resourcemanager.folders.setIamPolicy
    • Memberikan agen layanan akses ke organisasi:
      • resourcemanager.organizations.getIamPolicy
      • resourcemanager.organizations.setIamPolicy

    Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk memberikan peran agen layanan, jalankan gcloud add-iam-policy-binding sebagai berikut:

Project

gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ganti PROJECT_NUMBER dengan ID numerik project tempat binding kebijakan IAM ditambahkan.

Folder

gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
--member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ganti FOLDER_NUMBER dengan ID numerik folder tempat binding kebijakan IAM ditambahkan.

Organisasi

gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Ganti ORGANIZATION_NUMBER dengan ID numerik organisasi tempat pengikatan kebijakan IAM ditambahkan.

Apa langkah selanjutnya?