Conectar-se ao AlloyDB para PostgreSQL
Como administrador do BigQuery, é possível criar uma conexão para acessar dados do AlloyDB. Essa conexão permite que os analistas de dados consultem os dados no AlloyDB.
Para se conectar ao AlloyDB, siga estas etapas:
Antes de começar
- Ative a API BigQuery Connection.
-
Para receber as permissões necessárias para criar uma conexão do AlloyDB, peça ao administrador para conceder a você o papel do IAM Administrador de conexão do BigQuery (
roles/bigquery.connectionAdmin
) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Criar uma conexão do AlloyDB
Como prática recomendada, use conexões para processar credenciais de banco de dados ao se conectar ao AlloyDB. As conexões são criptografadas e armazenadas com segurança no serviço de conexão do BigQuery. Se as credenciais do usuário forem válidas para outros dados na origem, a conexão poderá ser reutilizada. Por exemplo, é possível usar uma conexão para consultar o mesmo banco de dados em uma instância do AlloyDB várias vezes.
Selecione uma das seguintes opções para criar uma conexão do AlloyDB:
bq
Insira o comando bq mk
com as seguintes sinalizações:
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:
LOCATION
: especifique uma região do conjunto de dados do BigQuery a ser combinado com os dados do AlloyDB. As consultas que usam essa conexão precisam ser executadas nessa região.PROJECT_ID
: insira o ID do projeto do Google Cloud.DATABASE
: insira o nome do banco de dados.RESOURCE_PATH
: insira o URI de conexão da instância principal do AlloyDB com o prefixo //alloydb.googleapis.com. As instâncias de leitura do AlloyDB não têm suporte.- URI de amostra:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI de amostra:
USERNAME
: insira a senha do usuário do banco de dados.PASSWORD
: insira a senha do usuário do banco de dados.CONNECTION_ID
: insira um ID de conexão para identificar essa conexão.
API
Na API do BigQuery Connection, é possível invocar CreateConnection
no ConnectionService
para instanciar uma conexão. Consulte a página da biblioteca de cliente para mais detalhes.
Conceder acesso à conta de serviço
Uma conta de serviço é criada automaticamente quando você cria a primeira conexão em um projeto. O nome da conta de serviço é BigQuery Connection Service Agent. O ID da conta de serviço tem o seguinte formato:
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
.
Para se conectar ao AlloyDB, você precisa conceder à nova conexão acesso ao AlloyDB para que o BigQuery possa acessar os dados em nome dos usuários. A conta de serviço precisa ter a seguinte permissão:
alloydb.instances.connect
Você pode conceder à conta de serviço associada à conexão o papel do IAM de cliente do AlloyDB, que já tem essa permissão atribuída. É possível omitir esta etapa se a conta de serviço já tem a permissão necessária.
Console
Acesse a página IAM e administrador.
Clique em
Conceder acesso.A caixa de diálogo Adicionar principais é aberta.
No campo Novos principais, insira o nome da conta de serviço Agente de serviço de conexão do BigQuery ou o ID da conta de serviço retirado das informações de conexão.
No campo Selecionar papel, escolha AlloyDB e, em seguida, Cliente AlloyDB.
Clique em Salvar.
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
Forneça os valores a seguir:
PROJECT_ID
pelo ID do projeto do Google Cloud.SERVICE_ACCOUNT_ID
: substitua o número do projeto emservice-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
e use-o.
Compartilhar conexões com os usuários
Você pode conceder os seguintes papéis para permitir que os usuários consultem dados e gerenciem conexões:
roles/bigquery.connectionUser
: permite aos usuários usar conexões para se conectar a fontes de dados externas e executar consultas nelas.roles/bigquery.connectionAdmin
: permite que os usuários gerenciem conexões.
Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Selecione uma das seguintes opções:
bq
Use o comando set-iam-policy
a seguir:
bq set-iam-policy RESOURCE FILE_NAME
Substitua:
RESOURCE
: digite o nome do recurso no formatoproject_id.region.connection_id
ouregion.connection_id
.FILE_NAME
: insira o nome de arquivo que contém a política do IAM em um formato JSON.
Para mais informações sobre o comando set-iam-policy, consulte Controlar o acesso a recursos com o IAM.
API
Consulte o
método projects.locations.connections.setIAM
na seção de referência da API REST BigQuery Connections e
forneça uma instância do recurso policy
.
A seguir
- Saiba sobre diferentes tipos de conexão.
- Saiba mais sobre como gerenciar conexões.
- Saiba mais sobre consultas federadas.
- Saiba como consultar dados do AlloyDB.