Detaillierte Zugriffssteuerung für Sequenzen

Auf dieser Seite wird erläutert, wie die granulare Zugriffssteuerung mit Cloud Spanner-Sequenzen für Datenbanken im GoogleSQL-Dialekt und Datenbanken im PostgreSQL-Dialekt funktioniert.

Nutzern mit detaillierter Zugriffssteuerung können Sie eines oder beide der folgenden Berechtigungen gewähren, um den Zugriff auf das Lesen von Sequenzinformationen oder das 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 ermöglichen.

    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 Generators für Sequenzwerte zu ermöglichen.

    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 dazu, welche Berechtigungen Sie benötigen, wenn Sie bestimmte Sequenzvorgänge ausführen.

Vorgang Voraussetzungen für Berechtigungen

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 auch die Berechtigung INSERT oder UPDATE für die Spalte. Ein UPDATE-Privileg für eine Sequenz gewährt nicht automatisch ein Privileg 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 SELECT- oder UPDATE-Privileg für die Sequenz, die Sie abfragen möchten. Sie können nur die Sequenzen sehen, für die Sie eine Berechtigung haben.

Nächste Schritte