Prasyarat untuk menggunakan orchestrator kebijakan

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

Menyiapkan project kuota untuk organisasi dan orkestrasi folder

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

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

gcloud

Tetapkan project kuota di properti konfigurasi gcloud CLI:

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 orchestrator kebijakan di VM Manager, aktifkan OS Config API di project berikut:

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

Untuk informasi selengkapnya, lihat Mengaktifkan OS Config API.

Mengaktifkan Progressive Rollout API untuk project

Konsol

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

    Buka API & Layanan

  2. Klik Aktifkan API dan Layanan.

  3. Telusuri "Peluncuran Progresif".

  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 API-nya ingin Anda aktifkan:

     gcloud services list --project=PROJECT_ID
    

    Jika progressiverollout.googleapis.com muncul dalam output, API akan 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

Orkestrator 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.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com

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

    Folder

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

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

    Organisasi

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

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

  2. Untuk membuat agen layanan untuk API dan resource yang ditentukan, 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 benar, 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.iam.gserviceaccount.com
  • Agen Layanan Peluncuran OSConfig (roles/osconfig.rolloutServiceAgent) untuk akun @gcp-sa-osconfig-rollout.iam.gserviceaccount.com
  • Agen Layanan Progressiverollout (roles/progressiverollout.serviceAgent) untuk akun @gcp-sa-progrollout.iam.gserviceaccount.com

Untuk memberikan peran IAM kepada agen layanan, gunakan Konsol Google 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: Organization Admin (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.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.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.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.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.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.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

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

Apa langkah selanjutnya?