Controlo de acesso detalhado para sequências

Esta página explica como o controlo de acesso detalhado funciona com as sequências do Spanner para bases de dados com dialeto GoogleSQL e bases de dados com dialeto PostgreSQL.

Para utilizadores com controlo de acesso detalhado, pode conceder um ou ambos os seguintes privilégios para permitir o acesso à leitura de informações de sequência ou gerar valores a partir 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 valores da 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ências

A tabela seguinte contém detalhes sobre os privilégios necessários quando realiza operações de sequência específicas.

Operação Requisitos de privilégios

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Requer um privilégio UPDATE ou SELECT na sequência. Tenha em atenção que, se executar esta função através de colunas geradas ou valores predefinidos, também tem de ter um privilégio INSERT ou UPDATE na coluna. Um privilégio UPDATE numa sequência não concede automaticamente privilégios nas colunas onde quer usar a sequência.

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Requer o privilégio SELECT na sequência que pedir.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Pode ter o privilégio SELECT ou UPDATE na sequência que quer consultar. Só pode ver as sequências para as quais tem privilégios de visualização.

O que se segue?