Controllo dell'accesso granulare per le sequenze

Questa pagina spiega come funziona il controllo dell'accesso granulare con le sequenze Spanner per i database con dialetto GoogleSQL e PostgreSQL.

Per gli utenti con controllo dell'accesso granulare, puoi concedere uno o entrambi i seguenti privilegi per consentire l'accesso alla lettura delle informazioni sulla sequenza o alla generazione di valori dalla sequenza.

  • Concedi SELECT sulla sequenza per consentire l'accesso in lettura ai parametri e allo stato attuale della sequenza.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
  • Concedi UPDATE sulla sequenza per consentire le chiamate al generatore di valori della sequenza.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;

Privilegi richiesti per le operazioni di sequenza

La tabella seguente contiene i dettagli sui privilegi necessari per eseguire operazioni di sequenza specifiche.

Operazione Requisiti dei privilegi

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Richiede un privilegio UPDATE o SELECT sulla sequenza. Tieni presente che, se esegui questa funzione tramite colonne generate o valori predefiniti, devi disporre anche di un INSERT o UPDATE privilegio sulla colonna. Un UPDATE privilegio su una sequenza non concede automaticamente alcun privilegio sulle colonne in cui vuoi utilizzare la sequenza.

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Richiede il privilegio SELECT sulla sequenza che si richiede.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Puoi avere il SELECT o UPDATE privilegio sulla sequenza che vuoi eseguire una query. Puoi visualizzare solo le sequenze per cui hai il privilegio di visualizzazione.

Passaggi successivi