Papéis de sistema de controle de acesso granular

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 detalhado fornece 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 os privilégios deste.

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

spanner_info_reader

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

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

  • Conceda associação nesse 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 do dialeto 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 será possível conceder outros privilégios a spanner_sys_reader.

  • Conceda assinatura 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.

  • Os papéis do sistema não podem ser membros de outros papéis de 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 do GoogleSQL também é inválida:

    GRANT ROLE public TO ROLE pii_access;

    No entanto, você pode 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

Confira mais informações: