Detaillierte Zugriffssteuerung für Sequenzen

Auf dieser Seite wird erläutert, wie die detaillierte Zugriffssteuerung mit Spanner-Sequenzen funktioniert.

Nutzern einer fein abgestimmten Zugriffssteuerung können Sie entweder eine oder beide der folgenden Berechtigungen gewähren, um den Zugriff zum Lesen von Sequenzinformationen oder zum Generieren von Werten aus der Sequenz zu ermöglichen.

  • Gewähren Sie SELECT für die Sequenz, um Lesezugriff auf die Parameter und den aktuellen Status der Sequenz zu gewähren.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    
  • Gewähren Sie UPDATE für die Sequenz, um Aufrufe des Sequenzwertgenerators zuzulassen.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    

Erforderliche Berechtigungen für Sequenzvorgänge

Die folgende Tabelle enthält Details dazu, welche Berechtigungen Sie zum Ausführen bestimmter Sequenzvorgänge benötigen.

Vorgang Berechtigungsanforderungen

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Erfordert die Berechtigung UPDATE oder SELECT für die Sequenz. Wenn Sie diese Funktion über generierte Spalten oder Standardwerte ausführen, benötigen Sie außerdem die Berechtigung INSERT oder UPDATE für die Spalte. Die Berechtigung UPDATE für eine Sequenz gewährt nicht automatisch Berechtigungen für die Spalten, in denen Sie die Sequenz verwenden möchten.

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Erfordert die Berechtigung SELECT für die von Ihnen angeforderte Sequenz.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Sie können die Berechtigung SELECT oder UPDATE für die Sequenz haben, die Sie abfragen möchten. Sie können nur die Sequenzen sehen, für die Sie eine Leseberechtigung haben.

Nächste Schritte