Control de acceso detallado para secuencias

En esta página, se explica cómo funciona el control de acceso detallado con las secuencias de Spanner.

Para los usuarios de control de acceso detallado, puedes otorgar uno o ambos de los siguientes privilegios a fin de permitir el acceso para leer la información de la secuencia o generar valores a partir de la secuencia.

  • Otorga SELECT en la secuencia para permitir el acceso de lectura a los parámetros y el estado actual de la secuencia.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    
  • Otorga UPDATE en la secuencia para permitir llamadas al generador de valores de secuencia.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    

Privilegios obligatorios para las operaciones de secuencia

La siguiente tabla contiene detalles sobre los privilegios que necesitas cuando realizas operaciones de secuencia específicas.

Operación Requisitos de privilegios

SQL de Google:

GET_NEXT_SEQUENCE_VALUE()

En PostgreSQL:

nextval()

Requiere un privilegio UPDATE o SELECT en la secuencia. Ten en cuenta que si ejecutas esta función a través de columnas generadas o valores predeterminados, también debes tener un privilegio INSERT o UPDATE en la columna. Un privilegio UPDATE en una secuencia no otorga ningún privilegio de forma automática en las columnas en las que deseas usar la secuencia.

SQL de Google:

GET_INTERNAL_SEQUENCE_STATE()

En PostgreSQL:

spanner.get_internal_sequence_state()

Requiere el privilegio SELECT en la secuencia que solicitas.

SQL de Google:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Puedes tener el privilegio SELECT o UPDATE en la secuencia que deseas consultar. Solo puedes ver las secuencias para las que tienes privilegios.

¿Qué sigue?