Auf dieser Seite wird beschrieben, wie Sie als Nutzer der detaillierten Zugriffssteuerung auf eine Spanner-Datenbank zugreifen.
Weitere Informationen zur detaillierten Zugriffssteuerung
Als Nutzer der detaillierten Zugriffssteuerung müssen Sie eine Datenbankrolle auswählen, um SQL-Anweisungen und ‑Abfragen auszuführen und Zeilenvorgänge in einer Datenbank auszuführen. Ihre Rolle Die Auswahl bleibt während der gesamten Sitzung bestehen, bis Sie die Rolle ändern.
Wenn Sie eine Abfrage, DML-Anweisung oder einen Zeilenvorgang senden, prüft Spanner die Autorisierung anhand der folgenden Regeln:
- Google Cloud Console
Spanner prüft zuerst, ob Sie auf Datenbankebene IAM-Berechtigungen. Wenn ja, wird der Google Cloud Console eine Datenbankrollenauswahl anzeigen und Ihre Sitzung wird mit auf Datenbankebene.
Wenn Sie nur Berechtigungen für die detaillierte Zugriffssteuerung und keine IAM-Berechtigungen auf Datenbankebene haben, müssen Sie Zugriff auf die Systemrolle
spanner_sys_reader
oder eine ihrer Mitgliedsrollen erhalten haben. 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, DML oder einer Zeile eine Datenbankrolle angeben Vorgang, Spanner überprüft detaillierte Berechtigungen für die Zugriffssteuerung. Wenn die Prüfung fehlschlägt, IAM-Berechtigungen auf Datenbankebene prüfen und Vorgang schlägt fehl.
Wenn Sie keine Datenbankrolle angeben, prüft Spanner IAM-Berechtigungen auf Datenbankebene und wenn die Prüfungen erfolgreich sind, wird Ihre Sitzung mit den Berechtigungen auf Datenbankebene fortgesetzt.
Mit diesen Methoden können Sie beim Zugriff auf eine Spanner-Datenbank eine Datenbankrolle angeben:
Console
Wählen Sie eine Datenbank aus und klicken Sie auf der Seite Übersicht neben dem Feld Aktuelle Rolle auf das Symbol Datenbankrolle ändern (Stift).
Wenn sich ein Nutzer mit der Zugriffssteuerung anmeldet, hat dieses Feld standardmäßig den Wert
public
. Informationen zur Systemrollepublic
findest du unter Detailgenaue Rollen für das Zugriffssteuerungssystem.Wählen Sie im Dialogfeld Datenbankrolle ändern eine andere Rolle aus der Liste aus. der verfügbaren Rollen.
Klicken Sie auf Aktualisieren.
Im Feld Aktuelle Rolle wird die neue Rolle angezeigt.
gcloud
Fügen Sie die Option
--database-role
zumgcloud spanner databases execute-sql
wie folgt ausführen: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