Auf dieser Seite wird beschrieben, wie Sie mit Google Cloud-Tags den Zugriff auf Ihre Spanner-Instanzen verwalten können.
Ein Google Cloud-Tag ist ein Schlüssel/Wert-Paar, das Sie an Ihre Google Cloud-Ressourcen wie Projekte oder Spanner-Instanzen anhängen können. Mit Tags können Sie Instanzen gruppieren und organisieren und IAM-Zugriffsrichtlinien (Identity and Access Management) bedingt festlegen, je nachdem, ob eine Instanz ein bestimmtes Tag hat. Sie können Spanner-Instanz-Tags mit der Google Cloud CLI oder der Google Cloud Console erstellen und verwalten. Nachdem Sie die 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. Mit Labels können Sie Ihre Google Cloud-Ressourcen organisieren. Sie können jedoch keine Bedingungen für IAM-Richtlinien festlegen.
Weitere Informationen zu Tags – Übersicht.
Häufige Anwendungsfälle für Spanner-Instanz-Tags
Im Folgenden finden Sie einige häufige Anwendungsfälle für Tags:
- Tags für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM):Weisen Sie IAM-Rollen (Identity and Access Management) abhängig davon zu, ob eine Instanz ein bestimmtes Tag hat. Das Vorhandensein oder Fehlen eines Tag-Werts ist die Bedingung für diese IAM-Richtlinie und hilft Ihnen, den Zugriff auf Ihre Spanner-Instanz zu steuern.
- Status-Tags:Sie können den Status einer Instanz durch Erstellen von Tags angeben und verwalten.
Beispiel:
state:active
,state:todelete
undstate:archive
. - Umgebungs-Tags: Legen Sie Produktions-, Test- und Entwicklungsumgebungen für Instanzen fest, indem Sie Schlüssel/Wert-Paare wie
env:prod
,env:dev
undenv:test
erstellen.
Spanner-Instanz-Tags erstellen und verwalten
Tags sind als Schlüssel/Wert-Paare strukturiert. Sie erstellen einen Tag-Schlüssel unter Ihrer Organisationsressource und hängen dann Tag-Werte an ihn an (z. B. den 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. Beachten Sie, dass Sie einer Datenbank kein Tag zuweisen können.
Erforderliche Berechtigungen
Welche Berechtigungen Sie benötigen, hängt von der auszuführenden Aktion ab. Weitere Informationen finden Sie unter Erforderliche Berechtigungen in der Dokumentation zu Resource Manager.
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 Tag-Werten finden Sie unter Tag erstellen und Tag-Wert hinzufügen.
Tag an 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
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, an die Sie ein Tag anhängen möchten.
Klicken Sie auf
Tags.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.
Wählen Sie im Bereich „Tags“ die Option Tag hinzufügen aus.
Wählen Sie im Feld Schlüssel aus der Liste den Schlüssel für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
Wählen Sie im Feld Wert den Wert für das Tag aus der Liste aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
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.Klicken Sie auf Speichern.
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 die 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 ProjektsINSTANCE_ID
: Die ID der Instanz.ORG_ID
: ID der Organisation.KEY_NAME
: Der Anzeigename Ihres Tag-Schlüssels (kurz). Beispiel:env
.VALUE_NAME
: Der Anzeigename des Tag-Werts (kurz). Beispiel:prod
.LOCATION
: Der Standort Ihrer Instanz. Beispiel:us-east1
Führen Sie beispielsweise den folgenden Befehl aus, um eine Tag-Bindung für die Spanner-Instanz my-instance
mit dem Tag-Schlüssel/Wert-Paar env:prod
zu erstellen:
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
Sie können Tags und IAM-Bedingungen verwenden, um Nutzern Rollenbindungen bedingt zuzuweisen. Wenn eine IAM-Richtlinie mit bedingten Rollenbindungen angewendet wird, kann das Ändern oder Löschen des an eine Ressource angehängten Tags den Nutzerzugriff auf diese Ressource entfernen.
Weitere Informationen finden Sie in der Übersicht über IAM-Bedingungen.
Console
Informationen zum Verwenden von Tags, um Nutzern Rollenbindungen bedingt zu gewähren, finden Sie unter Zugriff auf Tags verwalten.
gcloud
Wenn Sie eine Tag-basierte Bedingung auf eine IAM-Richtlinie anwenden möchten, benötigen Sie die erforderlichen Berechtigungen. 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
: ID der Organisation.ROLE
: Der Name der Rolle, 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, dem Sie die Rollenbindung hinzufügen möchten. Diese sollte das Formatuser|group|serviceAccount:email
oderdomain:domain
haben. Beispiel:user:test-user@gmail.com
,group:admins@example.com
,serviceAccount:test123@example.domain.com
oderdomain:example.domain.com
.PROJECT_ID
: ID des ProjektsKEY_NAME
: Der Anzeigename Ihres Tag-Schlüssels (kurz). Beispiel:env
.VALUE_NAME
: Der Anzeigename des Tag-Werts (kurz). 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 Flag --effective
hinzufügen, erhalten Sie auch alle Tag-Bindungen, die von dieser Ressource übernommen werden.
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 ProjektsINSTANCE_ID
: Die ID der Instanz.LOCATION
: Der Standort Ihrer Instanz. Beispiel:us-east1
Tag-Bindung löschen
Wenn Sie einen Tag-Schlüssel oder eine Wertdefinition entfernen, muss das Tag von der Instanz getrennt sein. Löschen Sie vorhandene Tag-Bindungen, bevor Sie das Tag löschen.
Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Wählen Sie die Instanz aus, für die Sie eine Tag-Bindung löschen möchten.
Klicken Sie auf
Tags.Klicken Sie im Bereich „Tags“ neben dem Tag, das Sie trennen möchten, auf
Element löschen.Klicken Sie auf Speichern.
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 ProjektsINSTANCE_ID
: Die ID der Instanz.ORG_ID
: ID der Organisation.KEY_NAME
: Der Anzeigename Ihres Tag-Schlüssels (kurz). Beispiel:env
.VALUE_NAME
: Der Anzeigename des Tag-Werts (kurz). 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 Ihr Tag löschen. Informationen zum Löschen von Tag-Schlüsseln und Tag-Werten finden Sie unter Tags löschen.
Nächste Schritte
Weitere Informationen zum Erstellen und Verwalten von Tags auf Ihren Spanner-Instanzen mit Resource Manager
Weitere Informationen zu Labels, einer weiteren Möglichkeit, Google Cloud-Ressourcen zu organisieren
Weitere Informationen zum Erstellen von IAM-Zulassungsrichtlinien mit Bedingungen