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 apublic
, 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çõesINFORMATION_SCHEMA
para bancos de dados do dialeto GoogleSQL einformation_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çõesinformation_schema
(bancos de dados de dialeto PostgreSQL).
spanner_sys_reader
Este papel tem o privilégio
SELECT
emSPANNER_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
espanner_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: