Estabeleça ligação ao AlloyDB para PostgreSQL
Como administrador do BigQuery, pode criar uma associação para aceder aos dados do AlloyDB. Esta ligação permite aos analistas de dados consultar dados no AlloyDB.
Para se ligar ao AlloyDB, tem de efetuar os seguintes passos:
Antes de começar
- Ative a API BigQuery Connection.
-
Para receber as autorizações de que precisa para criar uma associação do AlloyDB, peça ao seu administrador para lhe conceder a função de IAM administrador da associação do BigQuery (
roles/bigquery.connectionAdmin
) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Crie uma ligação ao AlloyDB
Como prática recomendada, use associações para processar as credenciais da base de dados quando se associar ao AlloyDB. As associações são encriptadas e armazenadas em segurança no serviço de associação do BigQuery. Se as credenciais do utilizador forem válidas para outros dados na origem, pode reutilizar a associação. Por exemplo, pode usar uma ligação para consultar a mesma base de dados numa instância do AlloyDB várias vezes.
Selecione uma das seguintes opções para criar uma ligação do AlloyDB:
Consola
Aceda à página do BigQuery.
No painel Explorador, clique em
Adicionar.É apresentada a caixa de diálogo Adicionar dados.
No painel Filtrar por, na secção Tipo de origem de dados, selecione Bases de dados.
Em alternativa, no campo Pesquisar origens de dados, pode introduzir
alloydb
.Na secção Origens de dados em destaque, clique em Google Cloud AlloyDB.
Clique no cartão da solução AlloyDB: federação do BigQuery.
Na caixa de diálogo Origem de dados externa, introduza as seguintes informações:
- Em Tipo de ligação, selecione AlloyDB.
- Para o ID da ligação, introduza um identificador para o recurso de ligação. São permitidas letras, números e sublinhados. Por exemplo,
bq_alloydb_connection
. - Em Localização dos dados, selecione uma localização (ou uma região) do BigQuery compatível com a região da sua origem de dados externa.
- Opcional: para Nome amigável, introduza um nome amigável para a associação, como
My connection resource
. O nome amigável pode ser qualquer valor que ajude a identificar o recurso de ligação se precisar de o modificar mais tarde. - Opcional: em Descrição, introduza uma descrição para este recurso de ligação.
- Opcional: Encriptação. Se quiser usar uma chave de encriptação gerida pelo cliente (CMEK) para encriptar as suas credenciais, selecione Chave de encriptação gerida pelo cliente (CMEK) e, em seguida, selecione uma chave gerida pelo cliente. Caso contrário, as suas credenciais estão protegidas pela predefinição Google-owned and Google-managed encryption key.
- Em Nome da base de dados, introduza o nome da base de dados.
- Para Nome de utilizador da base de dados, introduza o nome de utilizador da base de dados.
- Para Palavra-passe da base de dados, introduza a palavra-passe da base de dados.
- Opcional: para ver a palavra-passe, clique em Mostrar palavra-passe.
Para AlloyDB Instance, introduza o URI de ligação da instância principal ou de leitura do AlloyDB com o prefixo //alloydb.googleapis.com.
- URI de exemplo:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI de exemplo:
Clique em Criar associação.
Clique em Aceder à associação.
No painel Informações da ligação, copie o ID da conta de serviço para usar no passo seguinte para conceder as autorizações do IAM corretas.
bq
Introduza o comando bq mk
com as seguintes flags:
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "google-alloydb",
"asset": {
"database": "DATABASE",
"google_cloud_resource": "RESOURCE_PATH"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
}
}' \
CONNECTION_ID
Substitua o seguinte:
LOCATION
: especifique uma região do conjunto de dados do BigQuery a combinar com os dados do AlloyDB. As consultas que usam esta ligação têm de ser executadas a partir desta região.PROJECT_ID
: introduza o seu Google Cloud ID do projeto.DATABASE
: introduza o nome da base de dados.RESOURCE_PATH
: introduza o URI de ligação da instância principal ou de leitura do AlloyDB com o prefixo //alloydb.googleapis.com.- URI de exemplo:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI de exemplo:
USERNAME
: introduza o nome do utilizador da base de dados.PASSWORD
: introduza a palavra-passe do utilizador da base de dados.CONNECTION_ID
: introduza um ID de associação para identificar esta associação.
API
Na API BigQuery Connection, pode invocar CreateConnection
no ConnectionService
para instanciar uma ligação. Consulte a página da biblioteca de cliente para mais detalhes.
Conceda acesso à conta de serviço
É criada automaticamente uma conta de serviço quando cria a primeira associação num projeto. O nome da conta de serviço é Agente do serviço de ligação do BigQuery. O ID da conta de serviço tem o seguinte formato:
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
.
Para estabelecer ligação ao AlloyDB, tem de conceder à nova ligação acesso ao AlloyDB para que o BigQuery possa aceder aos dados em nome dos utilizadores. A conta de serviço tem de ter a seguinte autorização:
alloydb.instances.connect
Pode conceder à conta de serviço associada à ligação a função de IAM de cliente do AlloyDB, que já tem esta autorização atribuída. Pode omitir este passo se a conta de serviço já tiver a autorização necessária.
Consola
Aceda à página IAM e administrador.
Clique em
Conceder acesso.É apresentada a caixa de diálogo Adicionar responsáveis.
No campo Novos responsáveis, introduza o nome da conta de serviço Agente do serviço de ligação do BigQuery ou o ID da conta de serviço retirado das informações de ligação.
No campo Selecionar uma função, selecione AlloyDB e, de seguida, selecione Cliente do AlloyDB.
Clique em Guardar.
gcloud
Use o comando
gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client
Indique os seguintes valores:
PROJECT_ID
: o ID do seu Google Cloud projeto.SERVICE_ACCOUNT_ID
: substitua o número do projeto emservice-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
e use-o.
Partilhe ligações com utilizadores
Pode conceder as seguintes funções para permitir que os utilizadores consultem dados e geram ligações:
roles/bigquery.connectionUser
: permite que os utilizadores usem associações para estabelecer ligação a origens de dados externas e executar consultas nas mesmas.roles/bigquery.connectionAdmin
: permite que os utilizadores geram associações.
Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Selecione uma das seguintes opções:
Consola
Aceda à página do BigQuery.
As associações são apresentadas no seu projeto, num grupo denominado Associações externas.
No painel Explorador, clique no nome do projeto > Ligações externas > ligação.
No painel Detalhes, clique em Partilhar para partilhar uma associação. Depois, faça o seguinte:
Na caixa de diálogo Autorizações de ligação, partilhe a ligação com outros responsáveis adicionando ou editando responsáveis.
Clique em Guardar.
bq
Use o seguinte set-iam-policy
comando:
bq set-iam-policy RESOURCE FILE_NAME
Substitua o seguinte:
RESOURCE
: introduza o nome do recurso no formatoproject_id.region.connection_id
ouregion.connection_id
.FILE_NAME
: introduza o nome do ficheiro que contém a política de IAM num formato JSON.
Para mais informações sobre o comando set-iam-policy, consulte o artigo Controle o acesso aos recursos com a IAM.
API
O que se segue?
- Saiba mais sobre os diferentes tipos de ligações.
- Saiba como gerir associações.
- Saiba mais acerca das consultas federadas.
- Saiba como consultar dados do AlloyDB.