Detaillierte Zugriffssteuerung für Sequenzen

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

Für Nutzer mit detaillierter 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.

  • Weisen Sie der Sequenz SELECT zu, 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 an den Sequenzwertgenerator 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

In der folgenden Tabelle finden Sie Details zu den Berechtigungen, die Sie für bestimmte 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. Eine UPDATE-Berechtigung 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 angeforderte Sequenz.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Sie benötigen das Berechtigungslevel SELECT oder UPDATE für die Sequenz, die Sie abfragen möchten. Sie können nur die Sequenzen sehen, für die Sie die Berechtigung haben.

Nächste Schritte