Mengonfigurasi batas pengelolaan

Dokumen ini menjelaskan cara menyiapkan dan mengelola batas pengelolaan dan konfigurasi kemampuan menggunakan Resource Manager. Batas pengelolaan memungkinkan penemuan dan tata kelola resource lintas project untuk Registry Agen.

Sebelum memulai

Sebelum mengonfigurasi batasan dan konfigurasi kemampuan, dapatkan peran yang diperlukan dan aktifkan API yang diperlukan.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi batasan dan kemampuan, minta administrator untuk memberi Anda peran IAM berikut:

  • Membuat, memperbarui, dan menghapus batas dan konfigurasi kemampuan: Resource Manager Editor (roles/resourcemanager.editor) pada folder atau organisasi target (dan project pengelolaan, jika Anda menyediakan project pengelolaan yang dikelola pengguna)
  • Melihat konfigurasi batasan dan kemampuan: Resource Manager Viewer (roles/resourcemanager.viewer) di folder atau organisasi target
  • Lampirkan tag ke project anggota:
    • Tag User (roles/resourcemanager.tagUser) di folder target, organisasi, atau project anggota
    • Tag Administrator (roles/resourcemanager.tagAdmin) di folder atau organisasi target

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

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Aktifkan API

  • Untuk mengaktifkan Resource Manager API, gunakan perintah gcloud services enable:

    gcloud services enable cloudresourcemanager.googleapis.com \
      --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Anda.

Menyiapkan batas pengelolaan

Anda dapat menyiapkan batas pengelolaan pada folder atau organisasi dengan salah satu dari dua cara berikut:

  • Batas seluruh folder atau seluruh organisasi (tanpa filter tag): Mencakup semua project turunan dalam folder atau organisasi. Lewati langkah 1 dan langkah 4, dan selesaikan hanya Langkah 2: Buat batas (tanpa --tag-key dan --tag-value) dan Langkah 3: Buat konfigurasi kemampuan.
  • Batasan berbasis tag: Mempartisi project dalam folder atau organisasi berdasarkan nilai tag. Selesaikan keempat langkah di bawah.

Langkah 1: Konfigurasi kunci tag partisi

Lewati langkah ini jika Anda membuat batas di seluruh folder atau organisasi tanpa filter tag. Secara default, resource BoundaryConfig tidak memiliki kunci tag yang dikonfigurasi.

Untuk batasan berbasis tag, resource BoundaryConfig menetapkan kunci tag yang digunakan untuk mempartisi project dalam folder atau organisasi. Konfigurasikan resource ini sebelum membuat batas berbasis tag.

Untuk menetapkan kunci tag partisi, gunakan perintah gcloud resource-manager boundary-configs update:

gcloud resource-manager boundary-configs update \
  --folder=FOLDER_ID \
  --tag-key=TAG_KEY_NAME

Untuk mengonfigurasi kunci tag di organisasi, tentukan --organization=ORGANIZATION_ID, bukan --folder. Jika sebelumnya Anda mengonfigurasi kunci tag dan ingin beralih ke batas yang tidak diberi tag (jika tidak ada batas di bawah induk), jalankan perintah ini dengan --clear-tag-key, bukan --tag-key.

Ganti kode berikut:

  • FOLDER_ID: ID folder induk
  • TAG_KEY_NAME: nama kunci tag Anda, yang diformat sebagai ORGANIZATION_ID/TAG_KEY_SHORT_NAME, seperti 123456789012/env

Langkah 2: Buat batas

Buat resource Boundary di folder atau organisasi Anda.

Untuk membuat batas seluruh folder tanpa filter tag (yang otomatis menyertakan semua project turunan dalam folder), gunakan perintah gcloud resource-manager boundaries create tanpa --tag-key dan --tag-value:

gcloud resource-manager boundaries create BOUNDARY_ID \
  --folder=FOLDER_ID \
  --display-name="Production Boundary"

Untuk membuat batas berbasis tag setelah mengonfigurasi kunci tag partisi di langkah 1, sertakan flag --tag-key dan --tag-value:

gcloud resource-manager boundaries create BOUNDARY_ID \
  --folder=FOLDER_ID \
  --display-name="Production Boundary" \
  --tag-key=TAG_KEY_NAME \
  --tag-value=TAG_VALUE_SHORT_NAME

Untuk membuat batas dalam organisasi, tentukan --organization=ORGANIZATION_ID, bukan --folder.

Ganti kode berikut:

  • BOUNDARY_ID: ID unik untuk batas, seperti prod-boundary
  • FOLDER_ID: ID folder induk
  • TAG_KEY_NAME: kunci tag yang Anda konfigurasi, seperti 123456789012/env
  • TAG_VALUE_SHORT_NAME: nilai tag yang harus dimiliki project untuk bergabung dengan batas, seperti prod

Langkah 3: Buat konfigurasi kemampuan

Buat resource CapabilityConfig untuk menautkan batas Anda ke project pengelolaan dan mendeklarasikan layanan mana yang dikelola di seluruh batas.

Untuk membuat konfigurasi kemampuan, gunakan perintah gcloud resource-manager capability-configs create dan tentukan --types=agent-management untuk Agent Registry:

gcloud resource-manager capability-configs create \
  CAPABILITY_CONFIG_ID \
  --folder=FOLDER_ID \
  --types=agent-management \
  --boundaries=folders/FOLDER_ID/boundaries/BOUNDARY_ID \
  --display-name="DISPLAY_NAME"

Untuk membuat konfigurasi kemampuan di organisasi, tentukan --organization=ORGANIZATION_ID, bukan --folder.

Ganti kode berikut:

  • CAPABILITY_CONFIG_ID: ID unik untuk konfigurasi kemampuan, seperti prod-capabilities
  • FOLDER_ID: ID folder induk
  • BOUNDARY_ID: ID batas yang Anda buat
  • DISPLAY_NAME: nama tampilan yang dapat dibaca manusia

Untuk mengaktifkan kemampuan pada satu project mandiri tanpa batasan, lewati langkah 1, 2, dan 4, lalu jalankan perintah ini dengan --project=PROJECT_NUMBER dan --management-project=projects/PROJECT_NUMBER, bukan --folder dan --boundaries.

Untuk menggunakan project yang ada sebagai project pengelolaan, teruskan flag --management-project=projects/PROJECT_NUMBER. Project yang Anda tentukan harus memenuhi persyaratan berikut, atau perintah akan gagal dengan error:

  • Berada langsung di bawah induk yang sama (folders/FOLDER_ID atau organizations/ORGANIZATION_ID) dengan resource CapabilityConfig.
  • Berada dalam status siklus proses ACTIVE.
  • Belum ditetapkan sebagai project pengelolaan.

Jika Anda menghilangkan --management-project, Resource Manager akan otomatis menyediakan project pengelolaan khusus langsung di bawah folder atau organisasi induk.

Membuat resource CapabilityConfig akan otomatis mengaktifkan API layanan yang sesuai di project pengelolaan (seperti agentregistry.googleapis.com saat Anda menentukan agent-management). Anda tidak perlu mengaktifkan API ini secara manual di project pengelolaan.

Langkah 4: Lampirkan tag ke project anggota

Lewati langkah ini jika Anda membuat batas di seluruh folder atau organisasi tanpa filter tag, karena semua project turunan akan disertakan secara otomatis.

Untuk batasan berbasis tag, project akan bergabung secara dinamis ke batasan pengelolaan saat Anda mengikat nilai tag yang cocok ke project tersebut.

Untuk memasang tag ke setiap project yang termasuk dalam batasan, gunakan perintah gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
  --tag-value=TAG_VALUE_NAME \
  --parent=//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER

Ganti kode berikut:

  • TAG_VALUE_NAME: nama nilai tag, seperti 123456789012/env/prod
  • PROJECT_NUMBER: nomor project (atau project ID) dari project yang ingin Anda sertakan dalam batas

Mengelola konfigurasi kemampuan

Anda dapat mencantumkan, mendeskripsikan, memperbarui, dan menghapus konfigurasi kemampuan. Contoh di bagian ini menggunakan --folder=FOLDER_ID. Untuk mengelola konfigurasi kemampuan di organisasi atau project, tentukan --organization=ORGANIZATION_ID atau --project=PROJECT_NUMBER, bukan --folder (batas hanya dapat dilampirkan ke konfigurasi kemampuan tingkat folder atau tingkat organisasi).

Mencantumkan konfigurasi kemampuan

Untuk mencantumkan semua konfigurasi kemampuan dalam folder, gunakan perintah gcloud resource-manager capability-configs list:

gcloud resource-manager capability-configs list \
  --folder=FOLDER_ID

Menjelaskan konfigurasi kemampuan

Untuk melihat detail konfigurasi dan project pengelolaan yang ditetapkan, gunakan perintah gcloud resource-manager capability-configs describe:

gcloud resource-manager capability-configs describe \
  CAPABILITY_CONFIG_ID \
  --folder=FOLDER_ID

Memperbarui batas terkait

Untuk memperbarui batasan yang ditautkan ke konfigurasi kemampuan, gunakan perintah gcloud resource-manager capability-configs update:

gcloud resource-manager capability-configs update \
  CAPABILITY_CONFIG_ID \
  --folder=FOLDER_ID \
  --boundaries=folders/FOLDER_ID/boundaries/BOUNDARY_ID_1,folders/FOLDER_ID/boundaries/BOUNDARY_ID_2

Perintah update juga menerima flag --types dan --display-name untuk memperbarui jenis kemampuan atau nama tampilan yang diaktifkan.

Menghapus konfigurasi kemampuan

Resource CapabilityConfig tidak dapat dihapus saat batas dilampirkan ke resource tersebut, dan resource Boundary tidak dapat dihapus saat dilampirkan ke resource CapabilityConfig.

Untuk menghapus konfigurasi kemampuan saat pengelolaan lintas project tidak lagi diperlukan:

  1. Untuk melepaskan batas terkait, gunakan perintah gcloud resource-manager capability-configs update dengan flag --clear-boundaries:

    gcloud resource-manager capability-configs update \
      CAPABILITY_CONFIG_ID \
      --folder=FOLDER_ID \
      --clear-boundaries
    
  2. Untuk menghapus konfigurasi kemampuan, gunakan perintah gcloud resource-manager capability-configs delete:

    gcloud resource-manager capability-configs delete \
      CAPABILITY_CONFIG_ID \
      --folder=FOLDER_ID
    

Langkah berikutnya