Visão geral da conexão

Esta página resume como se conectar a bancos de dados atendidos pelo AlloyDB para PostgreSQL:

  • Redes:as instâncias do AlloyDB usam IPs públicos ou privados em uma nuvem privada virtual (VPC). Várias técnicas permitem conexões seguras de aplicativos em execução fora do VPC.

  • Autorização:o AlloyDB Auth Proxy 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 funções de usuário padrão do PostgreSQL.

Rede

Embora uma instância do AlloyDB contenha muitos nós, seus apps se conectam a uma instância usando um único endereço IP estático. Esse endereço pode ser particular 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 IP privado, a instância recebe um endereço IP particular na 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.

    Como 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 VPC.

  • Os aplicativos executados fora da VPC exigem um serviço intermediário para se conectar à instância do AlloyDB. As soluções incluem a execução de serviços de proxy em uma VM na VPC da instância ou o uso de outros produtosGoogle 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 do VPC.

As conexões por IP particular 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 Visão geral do IP particular.

IP público

Quando você configura o AlloyDB com IP público, a instância recebe um endereço IP público para conexões de entrada, que é acessível 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 a instância.

Recomendamos o uso de IP público com 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 oferece suporte a 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 origem externa usando o Database Migration Service ou configurações de pglogical autogerenciadas. O AlloyDB também oferece suporte à conexão com 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 as 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.

É possível usar essas bibliotecas 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 a conexão com o 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, recomendamos usar o proxy de autenticação do AlloyDB em ambientes de produção. Ele oferece controle de acesso baseado em 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, é preciso ajustar as regras de firewall da VPC para restringir o acesso à rede apenas aos intervalos de IP ou sub-redes em que os 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 oferece suporte a dois tipos de usuários de banco de dados, cada um com sua própria forma de autenticação com os bancos de dados:

  • As funções padrão de usuário do PostgreSQL são autenticadas 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 usuário e de serviço 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, você pode usar técnicas padrão do PostgreSQL para fazer login em uma instância e acessar seus dados. Isso é verdadeiro se você fizer login manualmente com uma ferramenta como psql ou se conectar ao seu banco de dados de forma programática usando uma biblioteca de código do PostgreSQL.

Normalmente, sua primeira autenticação com um novo cluster do AlloyDB envolve fazer login na instância principal como 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 aplicativo.

A seguir