Nesta página, explicamos como acessar um banco de dados do Spanner quando você é um usuário do controle de acesso minucioso.
Para saber mais sobre o controle de acesso refinado, consulte Sobre o controle de acesso refinado.
Como usuário do controle de acesso minucioso, você precisa selecionar uma função de banco de dados para usar na execução de instruções e consultas SQL e para realizar operações de linha em um banco de dados. Sua seleção de função persiste durante toda a sessão até que você a mude.
Quando você envia uma consulta, DML ou operação de linha, o Spanner verifica a autorização usando as seguintes regras:
- Google Cloud console
Primeiro, o Spanner verifica se você tem permissões do IAM no nível do banco de dados. Nesse caso, o consoleGoogle Cloud não mostra um seletor de função de banco de dados, e sua sessão continua com as permissões no nível do banco de dados.
Se você tiver apenas privilégios de controle de acesso refinado e nenhuma permissão do IAM no nível do banco de dados, precisará ter recebido acesso à função de sistema
spanner_sys_reader
ou a uma das funções de membro dela. Selecione uma função na página Visão geral do banco de dados para que sua sessão do Google Cloud console continue com os privilégios necessários.
- SDK do Google Cloud
Se você especificar uma função de banco de dados ao enviar uma consulta, DML ou operação de linha, o Spanner vai verificar os privilégios de controle de acesso refinado. Se a verificação falhar, o Spanner não vai verificar as permissões do IAM no nível do banco de dados, e a operação vai falhar.
Se você não especificar um papel de banco de dados, o Spanner vai verificar as permissões do IAM no nível do banco de dados. Se as verificações forem bem-sucedidas, a sessão vai continuar 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 Visão geral, clique no ícone Mudar função do banco de dados (lápis) ao lado do campo Função atual.
Por padrão, quando um usuário de controle de acesso refinado faz login, esse campo tem o valor
public
. Para informações sobre o papel do sistemapublic
, consulte Papéis do sistema de controle de acesso detalhado.Na caixa de diálogo Mudar função do 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
ao comandogcloud 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