Controle de acesso refinado para sequências

Nesta página, explicamos como o controle de acesso detalhado funciona com as sequências do Spanner.

Para usuários de controle de acesso refinados, é possível conceder um dos privilégios a seguir ou ambos para permitir acesso a informações de sequência ou gerar valores dela.

  • Conceda SELECT na sequência para permitir acesso de leitura aos parâmetros e ao estado atual da sequência.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    
  • Conceda UPDATE na sequência para permitir chamadas ao gerador de valores de sequência.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    

Privilégios necessários para operações em sequência

A tabela a seguir contém detalhes sobre os privilégios necessários ao executar uma operação de sequência específica.

Operação Requisitos de privilégios

O Google SQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL

nextval()

Requer um privilégio UPDATE ou SELECT na sequência. Se você executar essa função por meio de colunas geradas ou valores padrão, também precisará ter um privilégio INSERT ou UPDATE na coluna. Um privilégio UPDATE em uma sequência não concede automaticamente nenhum privilégio às colunas em que você quer usar a sequência.

O Google SQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL

spanner.get_internal_sequence_state()

Exige o privilégio SELECT na sequência que você solicitar.

O Google SQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

É possível ter o privilégio SELECT ou UPDATE na sequência que você quer consultar. Só é possível ver as sequências que você tem o privilégio de visualizar.

A seguir