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

  1. 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.
  2. Install the Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with 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_ID with your Google Cloud project name.

  6. 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.

  7. Verify that billing is enabled for your Google Cloud project.

  8. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  9. Install the Google Cloud CLI.

  10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  11. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. 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 the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with 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_ID with your Google Cloud project name.

  13. 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.

  14. Verify that billing is enabled for your Google Cloud project.

  15. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  16. 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=default gibt 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)'
  17. 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:

    • 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

    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:

    • 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.

    Ordner

    gcloud beta services policies get --policy-name=default \
        --folder=FOLDER_ID \
        --output-file=OUTPUT_FILE
    

    Ersetzen Sie Folgendes:

    • 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.

    Organisation

    gcloud beta services policies get --policy-name=default \
        --organization=ORGANIZATION_ID \
        --output-file=OUTPUT_FILE
    

    Ersetzen Sie Folgendes:

    • 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.

    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:

    • --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.

    Wichtige Hinweise:

    • 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.

    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:

    • PROJECT_ID: Ihre Google Cloud Projekt-ID. Oder lassen Sie das Flag weg, um das aktuelle Projekt als Standard festzulegen.
    • VIEW: entweder BASIC, um eine begrenzte Menge an Metadaten abzurufen, oder FULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert ist BASIC.

    Ordner

    gcloud beta services policies get-effective --folder=FOLDER_ID \
        --view=VIEW
    

    Ersetzen Sie Folgendes:

    • FOLDER_ID: Ihre Google Cloud Ordner-ID.
    • VIEW: entweder BASIC, um eine begrenzte Menge an Metadaten abzurufen, oder FULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert ist BASIC.

    Organisation

    gcloud beta services policies get-effective --organization=ORGANIZATION_ID \
        --view=VIEW
    

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Ihre Google Cloud Organisations-Ressourcen-ID.
    • VIEW: entweder BASIC, um eine begrenzte Menge an Metadaten abzurufen, oder FULL, um die vollständigen Metadaten abzurufen, einschließlich der Informationen, wo die einzelnen Dienste in der Hierarchie aktiviert wurden. Der Standardwert ist BASIC.

    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:

    • 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.

    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:

    Beispiele

    Nutzerrichtlinie abrufen

    • 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=="

    Verbraucherrichtlinie wird aktualisiert

    • 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"
      }

    Effektive Richtlinie abrufen

    • 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']
      ...

    Prüfen, ob ein Dienst aktiviert ist

    • 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.

    Nächste Schritte