Auf dieser Seite wird erläutert, wie Sie als Cloud Spanner-Datenbank Nutzer mit detaillierter Zugriffssteuerung.
Weitere Informationen zur detaillierten Zugriffssteuerung
Als Nutzer mit differenzierter Zugriffssteuerung müssen Sie eine Datenbankrolle zum Ausführen von SQL auswählen Anweisungen und Abfragen erstellen sowie Zeilenvorgänge für eine Datenbank ausführen. Ihre Rolle Die Auswahl bleibt während der gesamten Sitzung bestehen, bis Sie die Rolle ändern.
Wenn Sie eine Abfrage, DML oder einen Zeilenvorgang senden, überprüft 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 detaillierte Berechtigungen für die Zugriffssteuerung und kein IAM haben auf Datenbankebene haben, müssen Sie Zugriff auf den
spanner_sys_reader
-Systemrolle oder eine ihrer Mitgliederrollen. Rolle auswählen auf der Seite Übersicht der Datenbank, damit Ihre Google Cloud Console -Sitzung mit den erforderlichen Berechtigungen fort.
- 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 wird Ihre Sitzung mit den Berechtigungen auf Datenbankebene fortgesetzt.
Mit diesen Methoden können Sie beim Zugriff auf eine Spanner-Datenbank:
Console
Wählen Sie eine Datenbank aus und klicken Sie dann auf der Seite Übersicht der Datenbank auf das Datenbankrolle ändern (Stiftsymbol) neben dem Aktuelle Rolle:
Wenn sich ein Nutzer mit einer detaillierten Zugriffssteuerung anmeldet, hat dieses Feld standardmäßig 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