Nesta página, explicamos como acessar um banco de dados do Spanner quando você for usuário de controle de acesso refinado.
Para saber mais sobre o controle de acesso detalhado, consulte Sobre o controle de acesso detalhado.
Como um usuário de controle de acesso refinado, você deve selecionar um papel de banco de dados para usar para executar SQL instruções e consultas e para executar operações de linha em um banco de dados. Sua função a seleção persiste durante toda a sua sessão até que você altere a função.
Quando você envia uma consulta, DML ou operação de linha, o Spanner verifica a autorização usando as seguintes regras:
- Console do Google Cloud
O Spanner primeiro verifica se você tem nível de banco de dados permissões do IAM. Nesse caso, o o console do Google Cloud um seletor de papéis de banco de dados e a sessão continua permissões no nível do banco de dados.
Se você tiver apenas privilégios de controle de acesso refinados e nenhum IAM permissões no nível do banco de dados, é preciso ter acesso ao
spanner_sys_reader
função do sistema ou uma das funções de membro dela. Selecione um papel na página Visão geral do banco de dados para que o console do Google Cloud a sessão continua com os privilégios necessários.
- SDK do Google Cloud
Se você especificar um papel de banco de dados ao enviar uma consulta, DML ou linha operação, as verificações do Spanner privilégios de controle de acesso granular. Se a verificação falhar, o Spanner não vai verifica as permissões do IAM no nível do banco de dados e a operação falhar.
Se você não especificar um papel de banco de dados, o Spanner vai verificar permissões do IAM em nível de banco de dados e, se as verificações forem bem-sucedidas, a sessão prossiga com as permissões no nível do banco de dados.
Use esses métodos para especificar um papel de banco de dados ao acessar um Banco de dados do Spanner:
Console
Selecione um banco de dados e, na página Overview do banco de dados, clique no ícone Alterar função do banco de dados (lápis) adjacente à Campo Função atual.
Por padrão, quando um usuário de controle de acesso detalhado faz login, esse campo o valor
public
. Para informações sobre o papel do sistemapublic
, consulte Papéis do sistema de controle de acesso refinado.Na caixa de diálogo Alterar função de banco de dados, selecione outra função na lista. de funções disponíveis.
Clique em Atualizar.
O campo Função atual mostra a nova função.
gcloud
Adicione a opção
--database-role
aogcloud spanner databases execute-sql
da seguinte forma:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Bibliotecas de cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby