Papéis do sistema de controle de acesso granular

Esta página define as características, restrições e o uso pretendido das três funções predefinidas do sistema que o controle de acesso refinado oferece para cada banco de dados. Cada função do sistema tem um conjunto diferente de privilégios, que não podem ser revogados.

public

  • Todos os usuários do controle de acesso detalhado têm a associação do IAM em public por padrão.

  • Todos os papéis de banco de dados herdam privilégios dessa função.

  • Inicialmente, public não tem privilégios, mas você pode conceder privilégios a ele. Se você conceder um privilégio a public, ele vai estar disponível para todos os papéis de banco de dados, incluindo os criados depois.

spanner_info_reader

  • Essa função tem o privilégio SELECT nas visualizações INFORMATION_SCHEMA para bancos de dados com dialeto GoogleSQL e information_schema para bancos de dados com dialeto PostgreSQL.

  • Não é possível conceder outros privilégios a spanner_info_reader.

  • Conceda a associação a esta função a qualquer papel do banco de dados que precise ter acesso de leitura não filtrado às visualizações INFORMATION_SCHEMA (bancos de dados do dialeto GoogleSQL) ou às visualizações information_schema (bancos de dados do dialeto PostgreSQL).

spanner_sys_reader

  • Esse papel tem o privilégio SELECT nas tabelas SPANNER_SYS.

  • Não é possível conceder outros privilégios a spanner_sys_reader.

  • Conceda a associação a essa função a qualquer papel do banco de dados que precise ter acesso de leitura ao esquema SPANNER_SYS.

Restrições em papéis do sistema

  • Não é possível excluir uma função do sistema usando uma instrução DROP ROLE.

  • As funções do sistema não podem ser membros de outras funções do banco de dados. Ou seja, a seguinte instrução do GoogleSQL é inválida:

    GRANT ROLE pii_access TO ROLE spanner_info_reader;

  • Não é possível conceder a associação ao papel public aos papéis do banco de dados. Por exemplo, a seguinte instrução do GoogleSQL também é inválida:

    GRANT ROLE public TO ROLE pii_access;

    No entanto, é possível conceder a associação nos papéis spanner_info_reader e spanner_sys_reader. Por exemplo, as declarações a seguir são válidas.

    GoogleSQL

    GRANT ROLE spanner_info_reader TO ROLE pii_access;
    GRANT ROLE spanner_sys_reader TO ROLE pii_access;
    

    PostgreSQL

    GRANT spanner_info_reader TO pii_access;
    GRANT spanner_sys_reader TO pii_access;
    

Mais informações

Veja mais informações em: