Nesta página, explicamos como acessar um banco de dados do Spanner quando você é um usuário de controle de acesso minucioso.
Para saber mais sobre o controle de acesso minucioso, consulte Sobre o controle de acesso minucioso.
Como usuário de controle de acesso minucioso, você precisa selecionar um papel de banco de dados para executar instruções e consultas SQL e realizar operações de linha em um banco de dados. A seleção de papéis persiste durante toda a sessão até que você mude o papel.
Ao enviar uma consulta, DML ou operação de linha, o Spanner verifica a autorização usando as seguintes regras:
- Google Cloud Console do
O Spanner primeiro verifica se você tem permissões do Identity and Access Management (IAM) no nível do banco de dados. Se for o caso, o Google Cloud console não mostra um seletor de papéis 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 minucioso e nenhuma permissão do IAM no nível do banco de dados, será necessário ter recebido acesso ao papel do sistema
spanner_sys_readerou a um dos papéis de membro dele. Selecione um papel na página Visão geral do banco de dados para que sua Google Cloud sessão do console continue com os privilégios necessários.
- SDK Google Cloud
Se você especificar um papel de banco de dados ao enviar uma consulta, DML ou uma operação de linha, o Spanner vai verificar os privilégios de controle de acesso minucioso. 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 e, se as verificações forem bem-sucedidas, sua sessão vai continuar com as permissões no nível do banco de dados.
Use estes 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 do banco de dados, clique no ícone Mudar papel do banco de dados (lápis) adjacente ao campo Papel atual.
Por padrão, quando um usuário de controle de acesso minucioso 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 minucioso.Na caixa de diálogo Mudar papel do banco de dados, selecione outro papel na lista de papéis disponíveis.
Clique em Atualizar.
O campo Papel atual mostra o novo papel.
gcloud
Adicione a opção
--database-roleaogcloud spanner databases execute-sqlcomando, da seguinte maneira: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