Controllo dell'accesso granulare per le sequenze

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

Per utenti di controllo dell'accesso granulari, puoi concedere uno o entrambi i seguenti privilegi per consentire l'accesso in lettura alle informazioni della sequenza o per generare 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 nella 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 obbligatori per le operazioni in sequenza

La seguente tabella contiene i dettagli dei privilegi richiesti quando si eseguono operazioni in 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 di un privilegio INSERT o UPDATE per la colonna. Un privilegio UPDATE per una sequenza non concede automaticamente alcun privilegio per le 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 richiesta.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Puoi disporre del privilegio SELECT o UPDATE per la sequenza su cui vuoi eseguire la query. Puoi visualizzare solo le sequenze per cui disponi dei privilegi.

Passaggi successivi