Verwaltungsgrenzen konfigurieren

In diesem Dokument wird beschrieben, wie Sie mit Resource Manager Verwaltungsgrenzen und Funktionskonfigurationen einrichten und verwalten. Verwaltungsgrenzen ermöglichen die projektübergreifende Ressourcenerkennung und Governance für die Agent Registry.

Hinweis

Bevor Sie Grenzen und Funktionskonfigurationen konfigurieren, müssen Sie die erforderlichen Rollen abrufen und die erforderliche API aktivieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Grenzen und Funktionen benötigen:

  • Grenzen und Funktionskonfigurationen erstellen, aktualisieren und löschen: Resource Manager-Bearbeiter (roles/resourcemanager.editor) für den Zielordner oder die Zielorganisation (und das Verwaltungsprojekt, wenn Sie ein nutzerverwaltetes Verwaltungsprojekt bereitstellen)
  • Grenzen und Funktionskonfigurationen ansehen: Resource Manager-Betrachter (roles/resourcemanager.viewer) für den Zielordner oder die Zielorganisation
  • Tags an Mitgliedsprojekte anhängen:
    • Tag-Nutzer (roles/resourcemanager.tagUser) für den Zielordner, die Zielorganisation oder die Mitgliedsprojekte
    • Tag-Administrator (roles/resourcemanager.tagAdmin) für den Zielordner oder die Zielorganisation

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

API aktivieren

  • Verwenden Sie den Befehl gcloud services enable, um die Resource Manager API zu aktivieren:

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

    Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts.

Verwaltungsgrenze einrichten

Sie können eine Verwaltungsgrenze für einen Ordner oder eine Organisation auf zwei Arten einrichten:

  • Ordner- oder organisationsweite Grenze (kein Tag-Filter): Umfasst alle untergeordneten Projekte im Ordner oder in der Organisation. Überspringen Sie Schritt 1 und Schritt 4 und führen Sie nur Schritt 2: Grenze erstellen (ohne --tag-key und --tag-value) und Schritt 3: Funktionskonfiguration erstellen aus.
  • Tag-basierte Grenze: Partitioniert Projekte im Ordner oder in der Organisation nach Tag-Werten. Führen Sie alle vier Schritte unten aus.

Schritt 1: Partitionierungs-Tag-Schlüssel konfigurieren

Überspringen Sie diesen Schritt, wenn Sie eine ordner- oder organisationsweite Grenze ohne Tag-Filter erstellen. Standardmäßig ist für eine BoundaryConfig-Ressource kein Tag-Schlüssel konfiguriert.

Bei tagbasierten Grenzen legt eine BoundaryConfig-Ressource den Tag-Schlüssel fest, der zum Partitionieren von Projekten innerhalb eines Ordners oder einer Organisation verwendet wird. Konfigurieren Sie diese Ressource, bevor Sie tagbasierte Grenzen erstellen.

Verwenden Sie den Befehl gcloud resource-manager boundary-configs update, um den Partitionierungs-Tag-Schlüssel festzulegen:

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

Wenn Sie den Tag-Schlüssel für eine Organisation konfigurieren möchten, geben Sie --organization=ORGANIZATION_ID anstelle von --folder an. Wenn Sie zuvor einen Tag-Schlüssel konfiguriert haben und zu einer Grenze ohne Tag wechseln möchten (wenn unter dem übergeordneten Element keine Grenzen vorhanden sind), führen Sie diesen Befehl mit --clear-tag-key anstelle von --tag-key aus.

Ersetzen Sie Folgendes:

  • FOLDER_ID: die ID des übergeordneten Ordners
  • TAG_KEY_NAME: der Name Ihres Tag-Schlüssels, formatiert als ORGANIZATION_ID/TAG_KEY_SHORT_NAME, z. B. 123456789012/env

Schritt 2: Grenze erstellen

Erstellen Sie eine Boundary-Ressource in Ihrem Ordner oder Ihrer Organisation.

Wenn Sie eine ordnerweite Begrenzung ohne Tag-Filter erstellen möchten (wodurch automatisch alle untergeordneten Projekte im Ordner einbezogen werden), verwenden Sie den Befehl gcloud resource-manager boundaries create ohne --tag-key und --tag-value:

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

Wenn Sie nach dem Konfigurieren des Partitionierungs-Tag-Schlüssels in Schritt 1 eine tagbasierte Grenze erstellen möchten, fügen Sie die Flags --tag-key und --tag-value hinzu:

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

Wenn Sie eine Grenze in einer Organisation erstellen möchten, geben Sie --organization=ORGANIZATION_ID anstelle von --folder an.

Ersetzen Sie Folgendes:

  • BOUNDARY_ID: eine eindeutige ID für die Grenze, z. B. prod-boundary
  • FOLDER_ID: die ID des übergeordneten Ordners
  • TAG_KEY_NAME: der von Ihnen konfigurierte Tag-Schlüssel, z. B. 123456789012/env
  • TAG_VALUE_SHORT_NAME: der Tag-Wert, den Projekte haben müssen, um der Grenze beizutreten, z. B. prod

Schritt 3: Funktionskonfiguration erstellen

Erstellen Sie eine CapabilityConfig-Ressource, um Ihre Grenze mit einem Verwaltungsprojekt zu verknüpfen und anzugeben, welche Dienste über die Grenze hinweg verwaltet werden.

Verwenden Sie zum Erstellen einer Funktionskonfiguration den gcloud resource-manager capability-configs create-Befehl und geben Sie --types=agent-management für die Agent-Registry an:

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"

Wenn Sie die Funktionskonfiguration in einer Organisation erstellen möchten, geben Sie --organization=ORGANIZATION_ID anstelle von --folder an.

Ersetzen Sie Folgendes:

  • CAPABILITY_CONFIG_ID: eine eindeutige ID für die Funktionskonfiguration, z. B. prod-capabilities
  • FOLDER_ID: die ID des übergeordneten Ordners
  • BOUNDARY_ID: die ID der von Ihnen erstellten Grenze
  • DISPLAY_NAME: ein menschenlesbarer Anzeigename

Wenn Sie Funktionen für ein einzelnes eigenständiges Projekt ohne Grenzen aktivieren möchten, überspringen Sie die Schritte 1, 2 und 4 und führen Sie diesen Befehl mit --project=PROJECT_NUMBER und --management-project=projects/PROJECT_NUMBER anstelle von --folder und --boundaries aus.

Wenn Sie ein vorhandenes Projekt als Verwaltungsprojekt verwenden möchten, übergeben Sie das Flag --management-project=projects/PROJECT_NUMBER. Das von Ihnen angegebene Projekt muss die folgenden Anforderungen erfüllen, andernfalls schlägt der Befehl mit einem Fehler fehl:

  • Sie befinden sich direkt unter demselben übergeordneten Element (folders/FOLDER_ID oder organizations/ORGANIZATION_ID) wie die CapabilityConfig-Ressource.
  • Sie muss den Lebenszyklusstatus ACTIVE haben.
  • Es darf noch nicht als Verwaltungsprojekt festgelegt sein.

Wenn Sie --management-project weglassen, stellt Resource Manager automatisch ein dediziertes Verwaltungsprojekt direkt unter dem übergeordneten Ordner oder der übergeordneten Organisation bereit.

Wenn Sie eine CapabilityConfig-Ressource erstellen, werden die entsprechenden Dienst-APIs im Verwaltungsprojekt automatisch aktiviert (z. B. agentregistry.googleapis.com, wenn Sie agent-management angeben). Sie müssen diese APIs im Verwaltungsprojekt nicht manuell aktivieren.

Schritt 4: Tags an Mitgliedsprojekte anhängen

Überspringen Sie diesen Schritt, wenn Sie eine ordner- oder organisationsweite Grenze ohne Tag-Filter erstellt haben, da alle untergeordneten Projekte automatisch enthalten sind.

Bei tagbasierten Grenzen werden Projekte dynamisch in die Verwaltungsgrenze aufgenommen, wenn Sie den entsprechenden Tag-Wert an sie binden.

Verwenden Sie den Befehl gcloud resource-manager tags bindings create, um das Tag an jedes Projekt anzuhängen, das zur Grenze gehört:

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

Ersetzen Sie Folgendes:

  • TAG_VALUE_NAME: der Name des Tag-Werts, z. B. 123456789012/env/prod
  • PROJECT_NUMBER: die Projektnummer (oder Projekt-ID) des Projekts, das Sie in die Grenze aufnehmen möchten

Funktionskonfigurationen verwalten

Sie können Funktionskonfigurationen auflisten, beschreiben, aktualisieren und löschen. In den Beispielen in diesem Abschnitt wird --folder=FOLDER_ID verwendet. Wenn Sie Funktionskonfigurationen für eine Organisation oder ein Projekt verwalten möchten, geben Sie --organization=ORGANIZATION_ID oder --project=PROJECT_NUMBER anstelle von --folder an. (Grenzen können nur an Funktionskonfigurationen auf Ordner- oder Organisationsebene angehängt werden.)

Funktionskonfigurationen auflisten

Verwenden Sie den Befehl gcloud resource-manager capability-configs list, um alle Funktionskonfigurationen in einem Ordner aufzulisten:

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

Konfiguration einer Funktion beschreiben

Verwenden Sie den Befehl gcloud resource-manager capability-configs describe, um Konfigurationsdetails und das zugewiesene Verwaltungsprojekt aufzurufen:

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

Zugehörige Grenzen aktualisieren

Verwenden Sie den Befehl gcloud resource-manager capability-configs update, um die mit einer Funktionskonfiguration verknüpften Grenzen zu aktualisieren:

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

Der Befehl update akzeptiert auch die Flags --types und --display-name, um die aktivierten Funktionstypen oder den Anzeigenamen zu aktualisieren.

Funktionskonfiguration löschen

Eine CapabilityConfig-Ressource kann nicht gelöscht werden, solange ihr Grenzen zugeordnet sind. Eine Boundary-Ressource kann nicht gelöscht werden, solange sie einer CapabilityConfig-Ressource zugeordnet ist.

So löschen Sie eine Funktionskonfiguration, wenn die projektübergreifende Verwaltung nicht mehr erforderlich ist:

  1. Verwenden Sie den Befehl gcloud resource-manager capability-configs update mit dem Flag --clear-boundaries, um die zugehörigen Grenzen zu trennen:

    gcloud resource-manager capability-configs update \
      CAPABILITY_CONFIG_ID \
      --folder=FOLDER_ID \
      --clear-boundaries
    
  2. Verwenden Sie den Befehl gcloud resource-manager capability-configs delete, um die Funktionskonfiguration zu löschen:

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

Nächste Schritte