Verbraucherrichtlinien verwalten
Mit der hierarchischen Dienstaktivierung können Sie die Dienstaktivierung verwalten, die über die Google Cloud -Ressourcenhierarchie übernommen wird. Weitere Informationen finden Sie in der Übersicht.
ConsumerPolicy ist eine Service Usage API-Ressource, die auf jeder Ebene derGoogle Cloud -Ressourcenhierarchie zu finden ist. Diese Ressource, die immer default heißt, enthält die enableRules, die definieren, welche Dienste aktiviert sind. Anstatt einen bestimmten Dienst zu aktivieren oder zu deaktivieren, können Sie die ConsumerPolicy-Ressource ändern. Wenn ein Dienstname in der Liste enthalten ist, ist der Dienst auf dieser Hierarchieebene aktiviert.
In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud CLI Richtlinien für Projekte, Ordner und Organisationen verwalten.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Usage API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Usage API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
- Wenn Sie die Google Cloud Ressource, die Sie verwalten möchten, nicht angeben, wird in den Befehlen in diesem Dokument standardmäßig das aktuelle Projekt verwendet.
gcloud beta services policies get --policy-name=defaultgibt beispielsweise die Verbraucherrichtlinie für das aktuelle Projekt zurück.Sie können die aktuelle Projekt-ID abrufen:
gcloud config list --format='text(core.project)'
-
Verbraucherrichtlinie abrufen:
serviceusage.consumerpolicy.get -
Verbraucherrichtlinie aktualisieren:
-
serviceusage.consumerpolicy.analyze -
serviceusage.consumerpolicy.update
-
-
Effektive Richtlinie abrufen:
serviceusage.effectivepolicy.get -
Prüfen, ob ein Dienst aktiviert ist:
serviceusage.values.test PROJECT_ID: Ihre Google Cloud Projekt-ID. Oder lassen Sie das Flag weg, um das aktuelle Projekt als Standard festzulegen.OUTPUT_FILE: (optional) Der Pfad zu einer Ausgabedatei, in der der Inhalt der Verbraucherrichtlinie gespeichert werden kann. Unterstützte Dateiformate sind JSON und YAML.FOLDER_ID: Ihre Google Cloud Ordner-ID.OUTPUT_FILE: (optional) Der Pfad zu einer Ausgabedatei, in der der Inhalt der Verbraucherrichtlinie gespeichert werden kann. Unterstützte Dateiformate sind JSON und YAML.ORGANIZATION_ID: Ihre Google Cloud Organisations-Ressourcen-ID.OUTPUT_FILE: (optional) Der Pfad zu einer Ausgabedatei, in der der Inhalt der Verbraucherrichtlinie gespeichert werden kann. Unterstützte Dateiformate sind JSON und YAML.--bypass-api-usage-check, um Nutzungsprüfungen zu umgehen. Andernfalls gibt das System einen Fehler zurück, wenn ein Dienst, den Sie deaktivieren möchten, in den letzten 30 Tagen verwendet oder in den letzten 3 Tagen aktiviert wurde.--bypass-dependency-check, um die Prüfung auf Abhängigkeiten zu umgehen. Wenn Sie einen Dienst hinzufügen, müssen alle Dienstabhängigkeiten in der Richtlinie vorhanden sein. Wenn Sie einen Dienst entfernen, dürfen keine anderen Dienste in der Richtlinie von ihm abhängen. Andernfalls schlägt das Update fehl und es wird ein Fehler zurückgegeben.--validate-only, um das Update zu validieren, ohne den Vorgang tatsächlich auszuführen.Wenn Sie eine YAML-Vorlage für die Richtliniendatei abrufen möchten, rufen Sie zuerst die Verbraucherrichtlinie ab und verwenden Sie das
--output-file-Flag, um die Richtlinie in einer Datei zu speichern. Ändern Sie dann diese Datei und verwenden Sie sie als Eingabe für den Update-Befehl. Beispielvorlage:name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/SERVICE - ... - ...Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-ID. Andere unterstützte Ressourcennamen haben ein ähnliches Format, z. B.folders/FOLDER_ID/consumerPolicies/default.SERVICE: der Name des Dienstes, z. B.bigquery.googleapis.com.
PROJECT_ID: Ihre Google Cloud Projekt-ID. Oder lassen Sie das Flag weg, um das aktuelle Projekt als Standard festzulegen.VIEW: entwederBASIC, um eine begrenzte Menge an Metadaten abzurufen, oderFULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert istBASIC.FOLDER_ID: Ihre Google Cloud Ordner-ID.VIEW: entwederBASIC, um eine begrenzte Menge an Metadaten abzurufen, oderFULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert istBASIC.ORGANIZATION_ID: Ihre Google Cloud Organisations-Ressourcen-ID.VIEW: entwederBASIC, um eine begrenzte Menge an Metadaten abzurufen, oderFULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert istBASIC.SERVICE: Der Name des Dienstes, den Sie prüfen möchten.PROJECT_ID: Ihre Google Cloud Projekt-ID. Oder lassen Sie das Flag weg, um das aktuelle Projekt als Standard festzulegen.SERVICE: Der Name des Dienstes, den Sie prüfen möchten.FOLDER_ID: Ihre Google Cloud Ordner-ID.SERVICE: Der Name des Dienstes, den Sie prüfen möchten.ORGANIZATION_ID: Ihre Google Cloud Organisations-Ressourcen-ID.- Nutzerrichtlinie für das aktuelle Projekt abrufen:
gcloud beta services policies get
Ausgabe:
name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com updateTime: 2025-09-11T23:05:22.758394Z createTime: 2025-01-31T20:17:37.272343Z etag: W/"W9nsVJK0V1m7ee7tM7pFDg=="
- Nutzerrichtlinie wurde aktualisiert:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Ausgabe:
Operation [operations/ucpat.p39-581601899707-86fe7e37-c7f9-4624-90c4-d54754d57eed] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/apikeys.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
- Aktualisierung der Verbraucherrichtlinie fehlgeschlagen:
gcloud beta services policies update --consumer-policy-file=/tmp/test.json
Fehlermeldung:
ERROR: (gcloud.beta.services.policies.update) Invalid consumer_policy_file format. Please provide path to a yaml file.
- Versuch, die Verbraucherrichtlinie zu aktualisieren, wenn der Dienst vor Kurzem verwendet oder aktiviert wurde:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Ausgabe:
The operation "operations/ucpat.p39-581601899707-4884bdb0-d899-49ac-9c83-38457950ef33" resulted in a failure "The services apikeys.googleapis.com have usage in the last 30 days or were enabled in the past 3 days. Please specify force if you want to proceed with the destructive policy change. Help Token: AVSZLmtCfGwMm4oHmOyExdDEFRQ0pFiBrl879nbZlY2JkfVzeU63u66ApXYr6MIEAoig..."
- Aktualisieren der Nutzerrichtlinie, wenn der Dienst kürzlich verwendet oder aktiviert wurde, indem die Nutzungsprüfung umgangen wird:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml --bypass-api-usage-check
Ausgabe:
Operation [operations/ucpat.p39-581601899707-8ffda670-ed04-4776-8d43-d2f8e1817e00] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/serviceusage.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
BASIC-Ansicht der geltenden Richtlinie für das aktuelle Projekt abrufen:gcloud beta services policies get-effective
Ausgabe:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com
FULL-Ansicht der geltenden Richtlinie für das aktuelle Projekt abrufen:gcloud beta services policies get-effective --view=FULL
Ausgabe:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com Metadata of effective policy: EnabledService: services/apikeys.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] EnabledService: services/bcidcloudenforcer-pa.googleapis.com EnabledPolicies: ['folders/FOLDER_ID/consumerPolicies/default'] EnabledService: services/compute.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] ...
- Status des aktivierten API-Schlüsseldienstes für das aktuelle Projekt prüfen:
gcloud beta services policies test-enabled apikeys.googleapis.com
Ausgabe:
Service apikeys.googleapis.com is ENABLED for resource projects/test-project Hierarchical Service Activation. - Status eines deaktivierten App Hub-Dienstes für das aktuelle Projekt prüfen:
gcloud beta services policies test-enabled apphub.googleapis.com
Ausgabe:
Service apphub.googleapis.com is NOT ENABLED for resource projects/test-project Hierarchical Service Activation. - Informationen zum Aktivieren und Deaktivieren von Diensten finden Sie unter Dienste aktivieren und deaktivieren.
- Informationen zum Untersuchen von Dienstabhängigkeiten finden Sie unter Dienstabhängigkeiten auflisten.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Service Usage Admin (roles/serviceusage.serviceUsageAdmin) für die Zielressource zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Verbraucherrichtlinien benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwalten von Verbraucherrichtlinien erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Verbraucherrichtlinien zu verwalten:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Nutzerrichtlinie abrufen
Sie können die ConsumerPolicy für ein Projekt, einen Ordner oder eine Organisation mit dem Befehl gcloud beta services policies get abrufen.
Dieser Befehl gibt die enableRules zurück, die auf dieser Ressourcenebene festgelegt sind, und nicht übernommene Regeln. Eine umfassendere Ansicht, die auch übernommene Regeln enthält, erhalten Sie, wenn Sie die effektive Richtlinie abrufen. Nur der Richtlinienname default wird unterstützt.
Projekt
gcloud beta services policies get --policy-name=default \
--project=PROJECT_ID \
--output-file=OUTPUT_FILE
Ersetzen Sie Folgendes:
Ordner
gcloud beta services policies get --policy-name=default \
--folder=FOLDER_ID \
--output-file=OUTPUT_FILE
Ersetzen Sie Folgendes:
Organisation
gcloud beta services policies get --policy-name=default \
--organization=ORGANIZATION_ID \
--output-file=OUTPUT_FILE
Ersetzen Sie Folgendes:
Verbraucherrichtlinie aktualisieren
Sie können ein ConsumerPolicy mit dem Befehl gcloud beta services policies update aktualisieren. So können Sie die aktuelle Richtlinie ersetzen und eine YAML-Datei verwenden, um viele aktivierte Dienste gleichzeitig zu aktualisieren.
Mit diesem Befehl werden Dienstabhängigkeiten nicht automatisch aktiviert.
Sie müssen alle Dienstabhängigkeiten explizit in der Eingabedatei auflisten. Mit dem Flag --validate-only können Sie sich Änderungen ansehen, bevor Sie sie anwenden.
gcloud beta services policies update --consumer-policy-file=PATH_TO_CONSUMER_POLICY
Ersetzen Sie PATH_TO_CONSUMER_POLICY durch den Pfad zur YAML-Datei, die die Richtlinie für Verbraucher enthält, z. B.:
gcloud beta services policies update --consumer-policy-file=/path/to/the/file.yaml
Unterstützte Flags:
Wichtige Hinweise:
Effektive Richtlinie abrufen
Sie können die effektive Richtlinie für eine Ressource mit dem Befehl gcloud beta services policies get-effective abrufen.
Die geltende Richtlinie kombiniert die ConsumerPolicy der Ressource mit den Richtlinien aller ihrer übergeordneten Elemente. So erhalten Sie einen vollständigen Überblick über alle aktivierten Dienste, einschließlich aller Dienste, die direkt für die Ressource aktiviert sind, und der Dienste, die von ihren übergeordneten Elementen übernommen wurden.
Projekt
gcloud beta services policies get-effective --project=PROJECT_ID \
--view=VIEW
Ersetzen Sie Folgendes:
Ordner
gcloud beta services policies get-effective --folder=FOLDER_ID \
--view=VIEW
Ersetzen Sie Folgendes:
Organisation
gcloud beta services policies get-effective --organization=ORGANIZATION_ID \
--view=VIEW
Ersetzen Sie Folgendes:
Prüfen, ob ein Dienst aktiviert ist
Sie können mit dem Befehl gcloud beta services policies test-enabled prüfen, ob ein Dienst für eine Ressource aktiviert ist.
Wenn Sie den Status eines Dienstes prüfen, berücksichtigt dieser Befehl die effektive Richtlinie und die vollständige Google Cloud Ressourcenhierarchie.
Projekt
gcloud beta services policies test-enabled SERVICE \
--project=PROJECT_ID
Ersetzen Sie Folgendes:
Ordner
gcloud beta services policies test-enabled SERVICE \
--folder=FOLDER_ID
Ersetzen Sie Folgendes:
Organisation
gcloud beta services policies test-enabled SERVICE \
--organization=ORGANIZATION_ID
Ersetzen Sie Folgendes: