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 apublic
, 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çõesINFORMATION_SCHEMA
para bancos de dados com dialeto GoogleSQL einformation_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çõesinformation_schema
(bancos de dados do dialeto PostgreSQL).
spanner_sys_reader
Esse papel tem o privilégio
SELECT
nas tabelasSPANNER_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
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
Veja mais informações em: