Controle de acesso refinado para sequências

Nesta página, explicamos como o controle de acesso refinado funciona com sequências do Spanner para bancos de dados com dialeto do GoogleSQL e do PostgreSQL.

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

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

    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 dela.

    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 de sequência

A tabela a seguir contém detalhes sobre quais privilégios são necessários ao realizar operações de sequência específicas.

Operação Requisitos de privilégio

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

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

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Requer o privilégio SELECT na sequência solicitada.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

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

A seguir