Zugriff steuern und Instanzen mit Tags organisieren

Auf dieser Seite wird beschrieben, wie Sie Google Cloud Tags verwenden können, um den Zugriff auf Ihre Spanner-Instanzen zu verwalten.

Ein Google Cloud Tag ist ein Schlüssel/Wert-Paar, das Sie an Ihre Google Cloud Ressourcen anhängen können, z. B. Projekte oder Spanner-Instanzen. Sie können Tags verwenden, um Ihre Instanzen zu gruppieren und zu organisieren und um IAM-Zugriffsrichtlinien (Identity and Access Management) bedingt festzulegen, je nachdem, ob eine Instanz ein bestimmtes Tag hat. Sie können Spanner-Instanz-Tags mit der Google Cloud CLI oder derGoogle Cloud -Konsole erstellen und verwalten. Nachdem Sie Ihre Tags erstellt haben, können Sie eine Tag-Bindung erstellen, um das Tag an Ihre Google Cloud Ressourcen anzuhängen. Tag-Bindungen werden von untergeordneten Elementen der Ressource gemäß der Google Cloud Ressourcenhierarchie übernommen. Wenn Sie beispielsweise ein Tag an Ihr Projekt anhängen, übernehmen alle Instanzen in diesem Projekt das Tag. Sie können auch Labels verwenden, um Ihre Google Cloud Ressourcen zu organisieren. Allerdings können Sie mit Labels keine Bedingungen für IAM-Richtlinien festlegen.

Weitere Informationen zu Tags – Übersicht.

Häufige Anwendungsfälle für Spanner-Instanz-Tags

Häufige Anwendungsfälle für Tags:

  • IAM-Tags (Identity and Access Management):Weisen Sie IAM-Rollen (Identity and Access Management) basierend darauf zu, ob eine Instanz ein bestimmtes Tag hat. Das Vorhandensein oder Fehlen eines Tag-Werts ist die Bedingung für diese IAM-Richtlinie und trägt dazu bei, den Zugriff auf Ihre Spanner-Instanz zu steuern.
  • Status-Tags:Sie können den Status einer Instanz angeben und verwalten, indem Sie Tags erstellen. Beispiel: state:active, state:todelete und state:archive.
  • Umgebungstags:Geben Sie Produktions-, Test- und Entwicklungsumgebungen für Instanzen an, indem Sie Schlüssel/Wert-Paare wie env:prod, env:dev und env:test erstellen.

Spanner-Instanz-Tags erstellen und verwalten

Tags bestehen aus Schlüssel/Wert-Paaren. Sie erstellen einen Tag-Schlüssel unter Ihrer Organisationsressource und hängen dann Tag-Werte an den Tag-Schlüssel an, z. B. einen Tag-Schlüssel environment mit den Werten prod und dev. Anschließend können Sie eine Tag-Bindung erstellen, die den Tag-Wert mit einer Google Cloud -Ressource wie einem Projekt oder einer Spanner-Instanz verknüpft. Sie können einer Datenbank kein Tag zuweisen.

Erforderliche Berechtigungen

Welche Berechtigungen Sie benötigen, hängt von der auszuführenden Aktion ab. Weitere Informationen finden Sie in der Resource Manager-Dokumentation unter Erforderliche Berechtigungen.

Tag-Schlüssel und -Werte erstellen

Bevor Sie ein Tag an Ihre Instanz anhängen können, müssen Sie das Tag erstellen und seinen Wert zuweisen. Informationen zum Erstellen von Tag-Schlüsseln und -Werten finden Sie unter Tag erstellen und Tag-Wert hinzufügen.

Tag an eine Instanz anhängen

Nachdem Sie Ihre Tag-Schlüssel/Wert-Paare erstellt haben, können Sie eine Tag-Bindung erstellen und an Ihre Spanner-Instanz anhängen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Cloud Spanner-Instanzen aufrufen

  2. Wählen Sie die Instanz aus, an die Sie ein Tag anhängen möchten.

  3. Klicken Sie auf Tags.

  4. Wenn Ihre Organisation nicht im Bereich Tags angezeigt wird, klicken Sie auf Bereich auswählen. Wählen Sie Ihre Organisation aus und klicken Sie auf Öffnen.

  5. Wählen Sie im Bereich „Tags“ die Option Tag hinzufügen aus.

  6. Wählen Sie im Feld Schlüssel den Schlüssel für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.

  7. Wählen Sie im Feld Wert den Wert für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.

  8. Wenn Sie weitere Tags anhängen möchten, klicken Sie auf Tag hinzufügen und wählen Sie für jedes Tag den Schlüssel und den Wert aus.

  9. Klicken Sie auf Speichern.

  10. Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag anzuhängen.

    Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.

gcloud

Führen Sie den folgenden Befehl aus, um eine Tag-Bindung zu erstellen und an Ihre Instanz anzuhängen:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
  • PROJECT_ID: ID des Projekts
  • INSTANCE_ID: Die ID der Instanz.
  • ORG_ID: Die ID der Organisation.
  • KEY_NAME: Der Anzeigename (Kurzname) Ihres Tag-Schlüssels. Beispiel: env.
  • VALUE_NAME: Der Anzeigename (Kurzname) Ihres Tag-Werts. Beispiel: prod.
  • LOCATION: Der Standort Ihrer Instanz. Beispiel: us-east1

Wenn Sie beispielsweise eine Tag-Bindung für Ihre Spanner-Instanz my-instance mit dem Tag-Schlüssel/Wert-Paar env:prod erstellen möchten, führen Sie den folgenden Befehl aus:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1

IAM-Bedingungen und -Tags

Mit Tags und IAM-Bedingungen können Sie Nutzern bedingte Rollenbindungen zuweisen. Wenn eine IAM-Richtlinie mit bedingten Rollenbindungen angewendet wird, kann das Ändern oder Löschen des Tags, das an eine Ressource angehängt ist, den Nutzerzugriff auf diese Ressource entfernen.

Weitere Informationen finden Sie unter Übersicht über IAM Conditions.

Console

Informationen dazu, wie Sie mit Tags Rollenbindungen für Nutzer bedingt gewähren, finden Sie unter Zugriff auf Tags verwalten.

gcloud

Wenn Sie einer IAM-Richtlinie eine tagbasierte Bedingung hinzufügen möchten, müssen Sie die erforderlichen Berechtigungen haben. Führen Sie dann den folgenden Befehl aus:

gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
  • ORG_ID: Die ID der Organisation.
  • ROLE: Der Rollenname, der dem Hauptkonto zugewiesen werden soll. Der Rollenname ist der vollständige Pfad einer vordefinierten Rolle, z. B. roles/logging.viewer, oder die Rollen-ID für eine benutzerdefinierte Rolle, z. B. organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: Das Hauptkonto, für das Sie die Rollenbindung hinzufügen möchten. Das Format sollte user|group|serviceAccount:email oder domain:domain sein. Beispiel: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com oder domain:example.domain.com.
  • PROJECT_ID: ID des Projekts
  • KEY_NAME: Der Anzeigename (Kurzname) Ihres Tag-Schlüssels. Beispiel: env.
  • VALUE_NAME: Der Anzeigename (Kurzname) Ihres Tag-Werts. Beispiel: prod.

Mit diesem Befehl wird der IAM-Richtlinie einer Organisation eine IAM-Richtlinienbindung hinzugefügt. Eine Richtlinienbindung besteht aus einem Mitglied, einer Rolle und einer optionalen Bedingung.

Wenn Sie beispielsweise user1@example.com die Rolle spanner.backupAdmin in allen 123456789012-Projektressourcen mit dem Tag env:prod bedingt zuweisen möchten, führen Sie den folgenden Befehl aus:

gcloud organizations add-iam-policy-binding my-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')

An eine Instanz angehängte Tags auflisten

Sie können eine Liste der Tag-Bindungen aufrufen, die direkt an die Instanz angehängt oder von ihr übernommen wurden.

gcloud

Verwenden Sie den Befehl gcloud resource-manager tags bindings list, um eine Liste der Tag-Bindungen abzurufen, die direkt an eine Ressource angehängt sind: Wenn Sie das --effective-Flag hinzufügen, erhalten Sie auch alle Tag-Bindungen, die von dieser Ressource übernommen wurden.

Führen Sie den folgenden Befehl aus, um alle Tag-Bindungen aufzulisten, die an eine Instanz angehängt sind:

gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
  • PROJECT_ID: ID des Projekts
  • INSTANCE_ID: Die ID der Instanz.
  • LOCATION: Der Standort Ihrer Instanz. Beispiel: us-east1

Tag-Bindung löschen

Achten Sie beim Entfernen eines Tag-Schlüssels oder einer Wertedefinition darauf, dass das Tag von der Instanz getrennt ist. Sie müssen vorhandene Tag-Bindungen löschen, bevor Sie das Tag löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Cloud Spanner-Instanzen aufrufen

  2. Wählen Sie die Instanz aus, für die Sie eine Tag-Bindung löschen möchten.

  3. Klicken Sie auf Tags.

  4. Klicken Sie im Bereich „Tags“ neben dem Tag, das Sie trennen möchten, auf Element löschen.

  5. Klicken Sie auf Speichern.

  6. Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag zu trennen.

    Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.

gcloud

Führen Sie den folgenden Befehl aus, um eine Tag-Bindung zu löschen:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
  • PROJECT_ID: ID des Projekts
  • INSTANCE_ID: Die ID der Instanz.
  • ORG_ID: Die ID der Organisation.
  • KEY_NAME: Der Anzeigename (Kurzname) Ihres Tag-Schlüssels. Beispiel: env.
  • VALUE_NAME: Der Anzeigename (Kurzname) Ihres Tag-Werts. Beispiel: prod.
  • LOCATION: Der Standort Ihrer Instanz. Beispiel: us-east1

Löschen eines Tags

Nachdem Sie die Tag-Bindung gelöscht haben, können Sie das Tag löschen. Informationen zum Löschen von Tag-Schlüsseln und Tag-Werten finden Sie unter Tags löschen.

Nächste Schritte