Papéis granulares de sistema de controle de acesso

Nesta página, definimos as características, as restrições e o uso pretendido dos três papéis de sistema predefinidos 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 de controle de acesso refinado têm associação do IAM em public por padrão.

  • Todas as funções de banco de dados herdam privilégios desse papel.

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

spanner_info_reader

  • Esse papel tem o privilégio SELECT em visualizações INFORMATION_SCHEMA para bancos de dados de dialetos GoogleSQL e visualizações information_schema para bancos de dados de dialetos PostgreSQL.

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

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

spanner_sys_reader

  • Este papel tem o privilégio SELECT em SPANNER_SYS tabelas.

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

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

Restrições das funções do sistema

  • Não é possível excluir um papel 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 GoogleSQL é inválida:

    GRANT ROLE pii_access TO ROLE spanner_info_reader;

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

    GRANT ROLE public TO ROLE pii_access;

    No entanto, é possível conceder assinatura nos papéis spanner_info_reader e spanner_sys_reader. Por exemplo, as instruçõ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: