Controllo granulare degli accessi per le sequenze

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

Per gli utenti che hanno un controllo dell'accesso granulare, puoi concedere una o entrambe le seguenti opzioni: i seguenti privilegi per consentire l'accesso in lettura alle informazioni della sequenza o generano valori dalla sequenza.

  • Concedi a SELECT il ruolo nella 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 sulla sequenza per consentire le chiamate al valore della sequenza generatore.

    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 nella 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 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 per la sequenza in cui 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