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
- Tag-Nutzer (
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_IDErsetzen Sie
PROJECT_IDdurch 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-keyund--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 OrdnersTAG_KEY_NAME: der Name Ihres Tag-Schlüssels, formatiert alsORGANIZATION_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-boundaryFOLDER_ID: die ID des übergeordneten OrdnersTAG_KEY_NAME: der von Ihnen konfigurierte Tag-Schlüssel, z. B.123456789012/envTAG_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-capabilitiesFOLDER_ID: die ID des übergeordneten OrdnersBOUNDARY_ID: die ID der von Ihnen erstellten GrenzeDISPLAY_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_IDoderorganizations/ORGANIZATION_ID) wie dieCapabilityConfig-Ressource. - Sie muss den Lebenszyklusstatus
ACTIVEhaben. - 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/prodPROJECT_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:
Verwenden Sie den Befehl
gcloud resource-manager capability-configs updatemit dem Flag--clear-boundaries, um die zugehörigen Grenzen zu trennen:gcloud resource-manager capability-configs update \ CAPABILITY_CONFIG_ID \ --folder=FOLDER_ID \ --clear-boundariesVerwenden 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