Controllo granulare degli accessi per le sequenze

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

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

  • Concedi a SELECT l'accesso alla sequenza per consentire l'accesso in lettura ai parametri e allo stato corrente 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 alla 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 di cui hai bisogno per eseguire operazioni di sequenza specifiche.

Operazione Requisiti dei privilegi

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Richiede un privilegio UPDATE o SELECT per la sequenza. Tieni presente che se esegui questa funzione tramite colonne generate o valori predefiniti, devi disporre anche del privilegio INSERT o UPDATE per la colonna. Un privilegio UPDATE 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()

È necessario il privilegio SELECT per la sequenza richiesta.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Devi disporre del privilegio SELECT o UPDATE sulla sequenza su cui vuoi eseguire una query. Puoi vedere solo le sequenze di cui disponi del privilegio di visualizzazione.

Passaggi successivi