Esta página explica como aceder a uma base de dados do Spanner quando é um utilizador do controlo de acesso detalhado.
Para saber mais sobre o controlo de acesso detalhado, consulte o artigo Acerca do controlo de acesso detalhado.
Enquanto utilizador do controlo de acesso detalhado, tem de selecionar uma função de base de dados para usar na execução de consultas e declarações SQL, e para realizar operações de linhas numa base de dados. A seleção da sua função persiste durante toda a sessão até alterar a função.
Quando envia uma consulta, uma DML ou uma operação de linhas, o Spanner verifica a autorização através das seguintes regras:
- Google Cloud consola
O Spanner verifica primeiro se tem autorizações do IAM ao nível da base de dados. Se for esse o caso, a Google Cloud consola não mostra um seletor de funções da base de dados e a sua sessão prossegue com as suas autorizações ao nível da base de dados.
Se tiver apenas privilégios de controlo de acesso detalhado e não tiver autorizações ao nível da base de dados de IAM, tem de lhe ter sido concedido acesso à função do sistema
spanner_sys_reader
ou a uma das respetivas funções de membro. Selecione uma função na página Vista geral da base de dados para que a sessão da Google Cloud consola avance com os privilégios necessários.
- SDK Google Cloud
Se especificar uma função de base de dados quando envia uma consulta, DML ou uma operação de linha, o Spanner verifica os privilégios de controlo de acesso detalhado. Se a verificação falhar, o Spanner não verifica as autorizações do IAM ao nível da base de dados e a operação falha.
Se não especificar uma função da base de dados, o Spanner verifica as autorizações de IAM ao nível da base de dados e, se as verificações forem bem-sucedidas, a sessão prossegue com as autorizações ao nível da base de dados.
Use estes métodos para especificar uma função da base de dados quando acede a uma base de dados do Spanner:
Consola
Selecione uma base de dados e, de seguida, na página Vista geral da base de dados, clique no ícone Alterar função da base de dados (lápis) junto ao campo Função atual.
Por predefinição, quando um utilizador do controlo de acesso detalhado inicia sessão, este campo tem o valor
public
. Para informações sobre a função do sistemapublic
, consulte o artigo Funções do sistema de controlo de acesso detalhado.Na caixa de diálogo Alterar função da base 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 cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby