Controle de acesso granular para sequências

Esta página explica como o controle de acesso detalhado funciona com as sequências do Spanner.

Para usuários com controle de acesso detalhado, é 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 da sequência.

  • Conceda SELECT na sequência para permitir o 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 para o gerador de valor 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 de sequência

A tabela a seguir contém detalhes sobre quais privilégios você precisa ao realizar operações de sequência específicas.

Operação Requisitos de privilégio

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Requer um privilégio UPDATE ou SELECT na sequência. Se você executar essa função usando 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 privilégios 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 privilégio SELECT ou UPDATE na sequência que quer consultar. Você só pode ver as sequências que tem permissão para visualizar.

A seguir