Nesta página, descrevemos a conectividade com bancos de dados veiculados pelo AlloyDB para PostgreSQL. Para mais informações, consulte Escolher como se conectar ao AlloyDB.
Rede:as instâncias do AlloyDB usam IPs públicos ou particulares em uma nuvem privada virtual (VPC). Várias técnicas permitem conexões seguras de aplicativos executados fora da VPC.
Autorização:o proxy de autenticação do AlloyDB permite usar o gerenciamento de identidade e acesso (IAM) para controlar quem tem acesso aos seus dados. O firewall da VPC permite ajustar ainda mais o acesso aos recursos do AlloyDB.
Autenticação:use técnicas padrão de autenticação de usuários do PostgreSQL para fazer login nas instâncias. O AlloyDB também oferece suporte à autenticação baseada no IAM usando papéis de usuário padrão do PostgreSQL.
Rede
Embora uma instância do AlloyDB contenha muitos nós, seus aplicativos se conectam a ela por um único endereço IP estático. Esse endereço pode ser privado para a VPC especificada ao configurar o cluster de uma instância pela primeira vez ou um IP público que permite conexões diretas de fora da VPC.
IP particular
Quando você configura o AlloyDB com um IP particular, a instância recebe um endereço IP particular na sua VPC.
Os endereços IP particulares afetam as conexões com seu aplicativo de duas maneiras:
Os aplicativos executados em outro lugar na VPC do projeto podem se conectar à instância ou a um proxy que a representa sem etapas ou recursos adicionais.
Por exemplo, Conectar um cliente psql a uma instância mostra como se conectar à sua instância do AlloyDB executando o programa de linha de comando
psql
em uma VM do Compute Engine na sua VPC.Os aplicativos executados fora da VPC exigem um serviço intermediário para se conectar à instância do AlloyDB. As soluções incluem executar serviços de proxy em uma VM na VPC da instância ou usar outros produtos doGoogle Cloud para estabelecer uma conexão permanente entre o aplicativo e a VPC.
Para mais informações, consulte Conectar-se a um cluster de fora da VPC.
As conexões por IP privado geralmente fornecem menor latência e vetores de ataque limitados porque não exigem a passagem da Internet.
Para saber mais sobre o IP particular no AlloyDB, consulte a Visão geral do IP particular.
IP público
Quando você configura o AlloyDB com IP público, sua instância recebe um endereço IP público para conexões de entrada, que pode ser acessado na Internet pública. Também é possível usar redes externas autorizadas para especificar um intervalo de endereços IP no formato CIDR que podem acessar sua instância.
Recomendamos usar o IP público com os conectores de linguagem do AlloyDB para garantir conexões seguras entre o cliente e sua instância.
Para mais informações sobre como adicionar um IP público e redes externas autorizadas à sua instância, consulte Conectar usando IP público.
O AlloyDB também é compatível com conexões de saída
para sua instância. É possível ativar o IP público de saída para migrar um banco de dados
para o AlloyDB diretamente de uma fonte externa usando o Database Migration Service
ou configurações autogerenciadas do pglogical
. O AlloyDB também permite
conectar-se a uma fonte de dados externa usando wrappers de dados externos, como
postgres_fdw
ou oracle_fdw
.
Para mais informações sobre como ativar o IP público de saída, consulte Adicionar conectividade de saída a uma instância.
Autorização
É possível controlar o acesso a um cluster do AlloyDB usando os conectores de linguagem do AlloyDB, o proxy de autenticação do AlloyDB ou regras de firewall da VPC.
Conectores de linguagem do AlloyDB
Os conectores de linguagem do AlloyDB são bibliotecas de cliente que fornecem mTLS automatizado usando TLS 1.3 e autorização do IAM ao se conectar a um cluster do AlloyDB.
Essas bibliotecas podem ser usadas diretamente nas respectivas linguagens de programação. Elas oferecem os mesmos recursos do proxy do AlloyDB sem exigir um processo externo. Isso proporciona maior segurança e requisitos de configuração reduzidos para se conectar ao AlloyDB.
Para mais informações, consulte a visão geral dos conectores de linguagem do AlloyDB.
Controlar o acesso com o IAM e o proxy de autenticação do AlloyDB
Embora seja possível se conectar diretamente a uma instância pelo endereço IP dela, recomendamos usar o proxy de autenticação do AlloyDB em ambientes de produção. Ele oferece controle de acesso baseado no IAM e criptografia de ponta a ponta entre o proxy e o cluster.
Para mais informações, consulte Sobre o proxy de autenticação do AlloyDB.
Limitar o acesso à VPC com regras de firewall
Como em qualquer projeto baseado na nuvem, ajuste as regras de firewall da VPC para restringir o acesso à rede apenas aos intervalos de IP ou sub-redes de onde seus aplicativos se conectam. Isso é especialmente importante com aplicativos externos, conforme detalhado em Conectar-se a um cluster de fora da VPC.
Para mais informações sobre como configurar o firewall da VPC, consulte Regras de firewall da VPC.
Autenticação
O AlloyDB é compatível com dois tipos de usuários de banco de dados, cada um com uma maneira própria de autenticar com seus bancos de dados:
As funções de usuário padrão do PostgreSQL fazem a autenticação usando um nome de usuário e uma senha. Você gerencia essas contas usando técnicas comuns de gerenciamento de usuários do PostgreSQL. Para mais informações, consulte Gerenciar funções de usuário do AlloyDB.
As contas de serviço e de usuário do IAM se autenticam como usuários do banco de dados usando tokens OAuth 2.0. Você gerencia essas contas usando o sistemaGoogle Cloud IAM. Para mais informações, consulte Gerenciar a autenticação do IAM.
Depois de autenticado com uma instância do AlloyDB, um aplicativo pode
tratar a instância como um servidor PostgreSQL comum. Depois de estabelecer
rotas de rede e autorização para uma instância, use técnicas padrão do
PostgreSQL para fazer login em uma instância e acessar seus dados. Isso é válido tanto para o login manual com uma ferramenta como psql
quanto para a conexão programática ao banco de dados usando uma biblioteca de código do PostgreSQL.
Normalmente, a primeira autenticação com um novo cluster do AlloyDB
envolve fazer login na instância principal como o usuário postgres
,
usando a senha especificada ao criar o cluster. Em seguida, crie usuários de banco de dados sem privilégios administrativos para uso do seu aplicativo.
A seguir
- Escolha como se conectar ao AlloyDB.
Saiba como se conectar a uma instância do AlloyDB com o shell de linha de comando
psql
. Isso inclui instruções para configurar uma VM na sua VPC e instalar opsql
nela.Saiba como criar um banco de dados.
Saiba como instalar e usar o proxy de autenticação do AlloyDB para estabelecer conexões seguras com sua instância do AlloyDB.
Saiba como se conectar usando os Conectores de Linguagem do AlloyDB.