Auf dieser Seite wird erläutert, wie Sie eine detaillierte Zugriffssteuerung für Cloud Spanner-Datenbanken konfigurieren.
Weitere Informationen zur detaillierten Zugriffssteuerung finden Sie unter Detaillierte Zugriffssteuerung.
Die Konfiguration einer detaillierten Zugriffssteuerung umfasst die folgenden Schritte:
Nutzer mit detaillierter Zugriffssteuerung müssen dann eine Datenbankrolle angeben, um Abfragen, DML- oder Zeilenvorgänge für die Datenbank auszuführen.
Datenbankrollen erstellen und Berechtigungen erteilen
Eine Datenbankrolle ist eine Sammlung von detaillierten Zugriffsberechtigungen. Sie können für jede Datenbank bis zu 100 Datenbankrollen erstellen.
Legen Sie Rollen und Rollenhierarchien in Ihrer Datenbank fest und codieren Sie sie in DDL. Wie bei anderen Schemaänderungen in Spanner empfehlen wir dringend, Schemaänderungen nicht im Batch, sondern in einem Batch vorzunehmen. Weitere Informationen finden Sie unter Häufigkeit der Schemaaktualisierungen beschränken.
Console
So erstellen Sie eine Datenbankrolle und gewähren detaillierte Berechtigungen dafür:
Rufen Sie in der Google Cloud Console die Seite Instanzen auf.
Wählen Sie die Instanz mit der Datenbank aus, für die Sie die Rolle hinzufügen möchten.
Wählen Sie die Datenbank aus.
Klicken Sie auf der Seite Übersicht auf DDL schreiben.
Führen Sie auf der Seite DDL-Anweisungen schreiben für jede Datenbankrolle, die Sie erstellen und für die Sie Berechtigungen erteilen möchten, die folgenden Schritte aus:
Geben Sie die folgende Anweisung ein, um die Rolle zu erstellen:
CREATE ROLE ROLE_NAME;
Klicken Sie noch nicht auf Senden.
Wenn Sie Berechtigungen für die Rolle erteilen möchten, geben Sie in der nächsten Zeile nach der Anweisung
CREATE ROLE
die AnweisungGRANT
ein.Informationen zur Syntax der Anweisung
GRANT
finden Sie unter Google SQL-Datendefinitionssprache. Weitere Informationen zu Berechtigungen finden Sie unter Detaillierte Zugriffssteuerung.Wenn Sie beispielsweise
SELECT
,INSERT
undUPDATE
in den Tabellenemployees
undcontractors
der Datenbankrollehr_manager
zuweisen möchten, geben Sie die folgende Anweisung ein:GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_manager;
Sie können eine DDL-Vorlage für die
GRANT
-Anweisung verwenden. Wählen Sie im Drop-down-Menü DDL-VORLAGEN die Option Datenbankrollen und dann unter Rollenberechtigungen erteilen eine Vorlage aus.
Klicken Sie auf Senden.
Wenn die DDL Fehler enthält, gibt die Google Cloud Console einen Fehler zurück.
gcloud
Verwenden Sie den Befehl gcloud spanner databases ddl update
mit Anweisungen CREATE ROLE
und GRANT
, um eine Datenbankrolle zu erstellen und detaillierte Zugriffsberechtigungen zu erteilen.
Informationen zur Syntax der Anweisungen CREATE ROLE
und GRANT
finden Sie unter Google SQL-Datendefinitionssprache.
Verwenden Sie beispielsweise den folgenden Befehl, um eine Datenbankrolle zu erstellen und ihr Berechtigungen für eine oder mehrere Tabellen zu gewähren.
gcloud spanner databases ddl update DATABASE_NAME --instance=INSTANCE_NAME \ --ddl='CREATE ROLE ROLE_NAME; GRANT PRIVILEGES ON TABLE TABLES TO ROLE ROLE_NAME;'
PRIVILEGES
ist eine durch Kommas getrennte Liste detaillierter Berechtigungen für die Zugriffssteuerung. Informationen zu Berechtigungen finden Sie unter Detaillierte Zugriffssteuerungsberechtigungen.TABLES
ist eine durch Kommas getrennte Liste von Tabellen.
Wenn Sie beispielsweise SELECT
, INSERT
und UPDATE
in den Tabellen employees
und contractors
der Datenbankrolle hr_analyst
in der Datenbank hrdb1
in der Instanz hr
zuweisen möchten, geben Sie die folgende Anweisung ein:
gcloud spanner databases ddl update hrdb1 --instance=hr \ --ddl='CREATE ROLE hr_analyst; GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_analyst;'
Clientbibliotheken
In diesen Codebeispielen wird eine Datenbankrolle erstellt und gelöscht.
C++
C#
Einfach loslegen (Go)
Java
Node.js
PHP
Python
Ruby
Hierarchie von Rollen mit Übernahme erstellen
Sie können eine Hierarchie von Datenbankrollen erstellen, indem Sie einer anderen eine Rollen zuweisen. Untergeordnete Rollen (Mitgliederrollen) übernehmen die Berechtigungen des übergeordneten Elements.
Verwenden Sie die folgende Anweisung, um einer anderen Datenbankrolle eine Datenbankrolle zuzuweisen:
GRANT ROLE role1 TO ROLE role2;
Weitere Informationen finden Sie unter Hierarchierollen und Vererbung von Datenbanken.
IAM-Hauptkonten Zugriff auf Datenbankrollen gewähren
Mit IAM gewähren Sie Zugriff auf Datenbankrollen.
Console
So gewähren Sie einem IAM-Hauptkonto Zugriff auf Datenbankrollen:
Klicken Sie auf der Seite Übersicht der Datenbank auf Infofeld ansehen, wenn das Infofeld noch nicht geöffnet ist.
Klicken Sie auf PRINZIPAL HINZUFÜGEN.
Geben Sie im Bereich Zugriff auf database_name gewähren unter Hauptkonten hinzufügen ein oder mehrere IAM-Hauptkonten an.
Wählen Sie unter Rollen zuweisen im Menü Rolle auswählen die Option Cloud Spanner > Nutzer mit fein abgestimmtem Zugriff aus.
Sie müssen diese Rolle jedem Hauptkonto nur einmal zuweisen. Sie macht das Hauptkonto zu einem Nutzer mit detaillierter Zugriffssteuerung.
Klicken Sie auf WEITERE ROLLE HINZUFÜGEN.
Wählen Sie im Menü Rolle auswählen die Option Cloud Spanner > Nutzer der Cloud Spanner-Datenbankrolle aus.
Führen Sie die folgenden Schritte aus, um die IAM-Bedingung zu erstellen, die die zuzuweisenden Rollen angibt.
Klicken Sie neben der Rolle „Nutzer von Cloud Spanner-Datenbankrollen“ auf IAM-BEDINGUNG HINZUFÜGEN.
Geben Sie im Bereich Bedingung hinzufügen einen Titel und optional eine Beschreibung für die Bedingung ein.
Wenn Sie eine einzelne Datenbankrolle zuweisen, fügen Sie in der Regel den Rollennamen in den Bedingungstitel ein. Wenn Sie mehrere Rollen gewähren, können Sie etwas über die Gruppe von Rollen angeben.
Klicken Sie auf BEDINGUNGSEDITOR.
Geben Sie im Feld Ausdruck den folgenden Code ein:
resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE")
Ersetzen Sie
ROLE
durch Ihren Rollennamen.Wenn Sie mehr als einer Rolle Zugriff auf das Hauptkonto gewähren möchten, fügen Sie weitere Bedingungen mit dem Operator or (
||
) hinzu, wie im folgenden Beispiel gezeigt:resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))
Mit diesem Code werden zwei Rollen zugewiesen. Ersetzen Sie
ROLE1
undROLE2
durch Ihre Rollennamen. Wenn Sie mehr als zwei Rollen zuweisen möchten, fügen Sie weitere oder Bedingungen hinzu.Sie können einen beliebigen Bedingungsausdruck verwenden, der von IAM unterstützt wird. Weitere Informationen finden Sie unter Übersicht über IAM-Bedingungen.
Klicken Sie auf Speichern.
Überprüfen Sie im vorherigen Bereich, ob die Bedingung in der Spalte IAM-Bedingung neben dem Feld Rolle angezeigt wird.
Klicken Sie auf Speichern.
Beachten Sie im Infofeld unter Rolle/Hauptkonto, dass für jede definierte Bedingung Cloud Spanner-Datenbankrollennutzer angezeigt wird.
Die Zahl in Klammern neben der Bedingung gibt die Anzahl der Hauptkonten an, denen die Datenbankrolle durch diese Bedingung zugewiesen wurde. Sie können auf den Erweiterungspfeil klicken, um die Liste der Hauptkonten aufzurufen.
So korrigieren Sie Fehler in Namen oder Bedingungen von Datenbankrollen oder fügen zusätzliche Datenbankrollen für ein Hauptkonto hinzu:
Maximieren Sie den Eintrag Cloud Spanner-Datenbankrollennutzer, in dem die gewünschte Bedingung aufgeführt ist.
Klicken Sie neben einem Hauptkonto auf das Stiftsymbol Bearbeiten.
Führen Sie im Bereich Bearbeitungszugriff auf database_name einen der folgenden Schritte aus:
Klicken Sie auf WEITERE ROLLE HINZUFÜGEN.
Klicken Sie zum Bearbeiten der Bedingung auf das Stiftsymbol Bearbeiten neben dem Namen der Bedingung. Klicken Sie dann auf der Seite Bedingung bearbeiten auf Bedingungseditor bearbeiten, nehmen Sie Korrekturen vor und klicken Sie zweimal auf Speichern.
gcloud
So gewähren Sie einem IAM-Hauptkonto Zugriff auf Datenbankrollen:
Mit dem Befehl
gcloud spanner databases add-iam-policy-binding
können Sie eine detaillierte Zugriffssteuerung für das Hauptkonto aktivieren:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.fineGrainedAccessUser \ --member=MEMBER_NAME \ --condition=None
MEMBER_NAME
ist die Kennung für das Hauptkonto. Er muss das Formatuser|group|serviceAccount:email
oderdomain:domain
haben.Mit diesem Befehl wird das Hauptkonto zu einem Nutzer mit detaillierter Zugriffssteuerung. Senden Sie diesen Befehl nur einmal pro Hauptkonto.
Bei Erfolg gibt der Befehl die gesamte Richtlinie für die Datenbank aus.
Mit dem Befehl
gcloud spanner databases add-iam-policy-binding
erteilen Sie die Berechtigung zur Verwendung einer oder mehrerer Datenbankrollen:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.databaseRoleUser \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
ist die Kennung für das Hauptkonto. Er muss das Formatuser|group|serviceAccount:email
oderdomain:domain
haben.CONDITION
ist ein IAM-Bedingungsausdruck, der die Rollen angibt, die dem Hauptkonto gewährt werden sollen.CONDITION
hat das folgende Format:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE1")),title=TITLE,description=DESCRIPTION'
Wenn Sie mehr als einer Rolle Zugriff auf das Hauptkonto gewähren möchten, fügen Sie weitere Bedingungen mit dem Operator or (
||
) hinzu, wie im folgenden Beispiel gezeigt:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
Mit diesem Code werden zwei Rollen zugewiesen. Ersetzen Sie
ROLE1
undROLE2
durch Ihre Rollennamen. Wenn Sie mehr als zwei Rollen zuweisen möchten, fügen Sie mit dem Operator||
weitere oder Bedingungen hinzu.Sie können einen beliebigen Bedingungsausdruck verwenden, der von IAM unterstützt wird. Weitere Informationen finden Sie unter Übersicht über IAM-Bedingungen.
Bei Erfolg gibt der Befehl die gesamte Richtlinie für die Datenbank aus.
Im folgenden Beispiel werden dem Hauptkonto
jsmith@example.com
die Datenbankrollenhr_rep
undhr_manager
zugewiesen.gcloud spanner databases add-iam-policy-binding myDatabase \ --instance=myInstance \ --role=roles/spanner.databaseRoleUser \ --member=user:jsmith@example.com \ --condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/hr_rep") || resource.name.endsWith("/hr_manager"))),title=HR roles,description=Grant permissions on HR roles'
Clientbibliotheken
C++
C#
Einfach loslegen (Go)
Java
Node.js
PHP
Python
Ruby
Hauptkonto auf detaillierte Zugriffssteuerung umstellen
So wechseln Sie ein IAM-Hauptkonto von der Zugriffssteuerung auf Datenbankebene zur detaillierten Zugriffssteuerung:
Aktivieren Sie eine detaillierte Zugriffssteuerung für das Hauptkonto und gewähren Sie Zugriff auf alle erforderlichen Datenbankrollen, wie unter IAM-Hauptkonten Zugriff auf Datenbankrollen gewähren beschrieben.
Aktualisieren Sie alle Anwendungen, die als dieses Hauptkonto ausgeführt werden. Geben Sie in Aufrufen von Clientbibliotheksmethoden die entsprechenden Datenbankrollen an.
Widerrufen Sie alle IAM-Rollen auf Datenbankebene für das Hauptkonto. Auf diese Weise wird der Zugriff für das Hauptkonto nur von einer Methode geregelt.
Folgen Sie der Anleitung unter Berechtigungen auf Datenbankebene entfernen, um IAM-Rollen auf Datenbankebene zu widerrufen.
Datenbankrollen auflisten
Sie können die einer Rolle zugeordneten Datenbankrollen auflisten.
Console
Geben Sie zum Auflisten von Datenbankrollen die folgende Abfrage auf der Seite Abfrage für die Datenbank ein:
SELECT * FROM INFORMATION_SCHEMA.ROLES;
Die Antwort enthält die aktuelle Rolle und die Rollen, deren Berechtigungen die aktuelle Rolle durch Übernahme verwenden kann. Verwenden Sie den gcloud-Befehl, um alle Rollen abzurufen.
gcloud
Geben Sie den folgenden Befehl ein, um eine ungefilterte Liste der Datenbankrollen zu erhalten.
Hierfür ist die Berechtigung spanner.databaseRoles.list
erforderlich.
gcloud spanner databases roles list --database=DATABASE_NAME --instance=INSTANCE_NAME
Clientbibliotheken
C++
C#
Einfach loslegen (Go)
Java
Node.js
PHP
Python
Ruby
Berechtigungen ansehen, die einer Datenbankrolle gewährt wurden
Führen Sie die folgenden Abfragen aus, um die einer Rolle gewährten Berechtigungen anzuzeigen:
SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.CHANGE_STREAM_PRIVILEGES WHERE grantee = 'ROLE_NAME';
INFORMATION_SCHEMA.TABLE_PRIVILEGES
gibt Berechtigungen für Tabellen und Ansichten zurück.
Die Berechtigungen SELECT
, INSERT
und UPDATE
in TABLE_PRIVILEGES
werden auch in COLUMN_PRIVILEGES
angezeigt.
Nutzer der detaillierten Zugriffssteuerung ansehen
Führen Sie den folgenden Befehl aus, um eine Liste der Hauptkonten aufzurufen, die eine detaillierte Zugriffssteuerung ermöglichen. Zum Ausführen des Befehls müssen Sie die Cloud Asset API in Ihrem Projekt aktiviert und die IAM-Berechtigung cloudasset.assets.searchAllIamPolicies
haben.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.fineGrainedAccessUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
Die Ausgabe sieht etwa so aus:
MEMBERS user:222larabrown@gmail.com user:baklavainthebalkans@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com serviceAccount:cs-fgac-sa-2@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Weitere Informationen finden Sie unter API im Google Cloud-Projekt aktivieren.
IAM-Hauptkonten mit Zugriff auf eine Datenbankrolle ansehen
Führen Sie den folgenden Befehl aus, um eine Liste der Hauptkonten aufzurufen, denen Zugriff auf eine bestimmte Datenbankrolle gewährt wurde. Zum Ausführen des Befehls müssen Sie die Cloud Asset API in Ihrem Projekt aktiviert und die IAM-Berechtigung cloudasset.assets.searchAllIamPolicies
haben.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:"resource.name" AND policy:/ROLE_NAME AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
Die Ausgabe sieht etwa so aus:
MEMBERS 222larabrown@gmail.com
IAM-Bedingungen für ein Hauptkonto ansehen
Führen Sie den folgenden Befehl aus, um eine Liste der IAM-Bedingungen aufzurufen, die beim Zuweisen der Rolle Nutzer einer Cloud Spanner-Datenbankrolle angegeben wurden:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:resource.name AND policy:"PRINCIPAL_IDENTIFIER" AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[] \ --format='table(policy.bindings.condition.expression)'
Dabei ist PRINCIPAL_IDENTIFIER:
{ user:user-account-name | serviceAccount:service-account-name }
Beispiele für PRINCIPAL_IDENTIFIER:
user:222larabrown@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Die folgende Beispielausgabe zeigt zwei Bedingungsausdrücke.
EXPRESSION resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_analyst") resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_manager")
IAM-Richtlinien auf fehlende Bedingungen für Datenbankrollen prüfen
Nachdem Sie Hauptkonten Zugriff auf Datenbankrollen gewährt haben, sollten Sie dafür sorgen, dass für jede IAM-Bindung eine Bedingung angegeben ist.
Führen Sie dazu den folgenden Befehl aus:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles:roles/spanner.databaseRoleUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' --flatten=policy.bindings[].members[]
Die Ausgabe sieht in etwa so aus:
ROLE MEMBERS EXPRESSION roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-1@... roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-2@... resource.type == "spanner…"
Beachten Sie, dass im ersten Ergebnis eine Bedingung fehlt. Die Hauptkonten in dieser Bindung haben daher Zugriff auf alle Datenbankrollen.
Datenbankrolle löschen
Wenn Sie eine Datenbankrolle löschen, wird die Mitgliedschaft in anderen Rollen automatisch aufgehoben und die Rolle der Rolle in anderen Rollen widerrufen.
So löschen Sie eine Datenbankrolle:
- Widerrufen Sie alle detaillierten Berechtigungen zur Zugriffssteuerung für die Rolle.
- Entfernen Sie alle IAM-Richtlinienbindungen, die auf diese Rolle verweisen, sodass eine später erstellte Datenbankrolle mit demselben Namen diese Bindungen nicht übernimmt.
Console
So löschen Sie eine Datenbankrolle:
Klicken Sie auf der Seite Übersicht der Datenbank auf DDL schreiben.
Wenn Sie Berechtigungen aus der Rolle widerrufen möchten, geben Sie eine
REVOKE
-Anweisung ein.Informationen zur Syntax der Anweisung
REVOKE
finden Sie unter Google SQL-Datendefinitionssprache. Weitere Informationen zu Berechtigungen finden Sie unter Detaillierte Zugriffssteuerung.Wenn Sie beispielsweise
SELECT
,INSERT
undUPDATE
für die Tabellenemployees
undcontractors
aus der Datenbankrollehr_manager
widerrufen möchten, geben Sie die folgende Anweisung ein:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM ROLE hr_manager;
Sie können eine DDL-Vorlage für die
REVOKE
-Anweisung verwenden. Wählen Sie im Drop-down-Menü DDL-VORLAGEN die Option Datenbankrollen und dann unter Rollenberechtigungen widerrufen eine Vorlage aus.Löschen Sie alle IAM-Bedingungen, die mit der Rolle verknüpft sind.
Suchen Sie in der Liste der Rollen im Infofeld die Rolle Nutzer von Cloud Spanner-Datenbankrollen, neben der der Bedingungstitel angezeigt wird, und maximieren Sie dann die Rolle, um die Hauptkonten mit Zugriff auf die Rolle anzusehen.
Klicken Sie für eines der Hauptkonten auf das Symbol Hauptkonto bearbeiten (Stift).
Klicken Sie auf der Seite Bearbeitungszugriff neben der Cloud Spanner-Rolle für Datenbankrollen auf das Symbol Rolle löschen (Papierkorbsymbol).
Klicken Sie auf Speichern.
Wiederholen Sie die vorherigen drei Schritte für andere Hauptkonten, die unter der Bedingung aufgeführt sind.
Rufen Sie die Seite Write DDL auf und geben Sie die folgende Anweisung ein, um die Rolle zu löschen:
DROP ROLE ROLE_NAME;
Klicken Sie auf Senden.
gcloud
Wenn Sie alle Berechtigungen für eine Rolle widerrufen und dann die Rolle löschen möchten, verwenden Sie den Befehl
gcloud spanner databases ddl update
:gcloud spanner databases ddl update DATABASE_NAME \ --instance=INSTANCE_NAME \ --ddl='REVOKE PERMISSIONS ON TABLE TABLE_NAME FROM ROLE ROLE_NAME; DROP ROLE ROLE_NAME;'
Gültige Werte für
PERMISSIONS
sindSELECT
,INSERT
,UPDATE
undDELETE
.Verwenden Sie den Befehl
gcloud spanner databases remove-iam-policy-binding
so, um zugehörige IAM-Bedingungen zu löschen:gcloud spanner databases remove-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=ROLE_NAME \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
ist die Kennung für das Hauptkonto. Er muss das Formatuser|group|serviceAccount:email
oderdomain:domain
haben.CONDITION
ist ein IAM-Bedingungsausdruck, der die Rollen angibt, die dem Hauptkonto gewährt werden sollen.CONDITION
hat das folgende Format:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
Die gesamte Bedingungsspezifikation muss genau mit der Bedingungsspezifikation übereinstimmen, die im Befehl verwendet wurde, der die Berechtigung erteilt hat, einschließlich Titel und Beschreibung.
Clientbibliotheken
In diesen Codebeispielen wird eine Datenbankrolle erstellt und gelöscht.
C++
C#
Einfach loslegen (Go)
Java
Node.js
PHP
Python
Ruby
Weitere Informationen
- Detaillierte Zugriffssteuerung
- Detaillierte Zugriffssteuerung für Änderungsstreams
- Detaillierte Berechtigungen für die Zugriffssteuerung
- Google SQL-DDL-Referenz
- Schemaaktualisierungen vornehmen