Controllo granulare degli accessi per le sequenze

Questa pagina spiega come funziona il controllo dell'accesso granulare con le sequenze Spanner.

Per gli utenti con controllo dell'accesso 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