Controllo dell'accesso granulare per le sequenze

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

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 delle sequenze o generano valori dalla sequenza.

  • Concedi SELECT nella sequenza per consentire l'accesso in lettura ai parametri e lo 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 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 in sequenza

La tabella seguente contiene i dettagli sui privilegi richiesti quando eseguendo operazioni di sequenza specifiche.

Operazione Requisiti di privilegio

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Richiede un privilegio UPDATE o SELECT nella sequenza. Tieni presente che se esegui questa funzione tramite le colonne generate o i valori predefiniti, devi avere anche INSERT o UPDATE nella 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

Puoi avere SELECT o UPDATE privilegio sulla sequenza su cui vuoi eseguire la query. Puoi vedere solo le sequenze di cui disponi dei diritti di visualizzazione.

Passaggi successivi