Auf dieser Seite wird beschrieben, wie Sie als Nutzer der detaillierten Zugriffssteuerung auf eine Spanner-Datenbank zugreifen.
Weitere Informationen zur detaillierten Zugriffssteuerung finden Sie unter Detaillierte Zugriffssteuerung.
Als Nutzer der detaillierten Zugriffssteuerung müssen Sie eine Datenbankrolle auswählen, die zum Ausführen von SQL-Anweisungen und ‑Abfragen sowie zum Ausführen von Zeilenoperationen für eine Datenbank verwendet werden soll. Ihre Rollenauswahl bleibt während der gesamten Sitzung bestehen, bis Sie die Rolle ändern.
Wenn Sie eine Abfrage, einen DML- oder einen Zeilenvorgang senden, prüft Spanner die Autorisierung anhand der folgenden Regeln:
- Google Cloud console
Spanner prüft zuerst, ob Sie IAM-Berechtigungen auf Datenbankebene haben. In diesem Fall wird in derGoogle Cloud -Konsole keine Auswahl für die Datenbankrolle angezeigt und Ihre Sitzung wird mit Ihren Berechtigungen auf Datenbankebene fortgesetzt.
Wenn Sie nur detaillierte Zugriffssteuerungsberechtigungen und keine IAM-Berechtigungen auf Datenbankebene haben, muss Ihnen Zugriff auf die Systemrolle
spanner_sys_reader
oder eine ihrer Mitgliedsrollen gewährt worden sein. Wählen Sie auf der Seite Übersicht der Datenbank eine Rolle aus, damit Ihre Google Cloud Console-Sitzung mit den erforderlichen Berechtigungen fortgesetzt wird.
- Google Cloud SDK
Wenn Sie beim Senden einer Abfrage, eines DML- oder eines Zeilen-Vorgangs eine Datenbankrolle angeben, prüft Spanner die Berechtigungen für die detaillierte Zugriffssteuerung. Wenn die Prüfung fehlschlägt, prüft Spanner nicht auf IAM-Berechtigungen auf Datenbankebene und der Vorgang schlägt fehl.
Wenn Sie keine Datenbankrolle angeben, prüft Spanner die IAM-Berechtigungen auf Datenbankebene. Wenn die Prüfungen erfolgreich sind, wird Ihre Sitzung mit Ihren Berechtigungen auf Datenbankebene fortgesetzt.
Mit diesen Methoden können Sie eine Datenbankrolle angeben, wenn Sie auf eine Spanner-Datenbank zugreifen:
Console
Wählen Sie eine Datenbank aus und klicken Sie dann auf der Seite Übersicht der Datenbank neben dem Feld Aktuelle Rolle auf das Stiftsymbol Datenbankrolle ändern.
Wenn sich ein Nutzer mit detaillierter Zugriffssteuerung anmeldet, hat dieses Feld standardmäßig den Wert
public
. Informationen zur Systemrollepublic
finden Sie unter Systemrollen für die detaillierte Zugriffssteuerung.Wählen Sie im Dialogfeld Datenbankrolle ändern eine andere Rolle aus der Liste der verfügbaren Rollen aus.
Klicken Sie auf Aktualisieren.
Im Feld Aktuelle Rolle wird die neue Rolle angezeigt.
gcloud
Fügen Sie dem Befehl
gcloud spanner databases execute-sql
die Option--database-role
hinzu:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Clientbibliotheken
C++
C#
Go
Java
Node.js
PHP
Python
Ruby