Vista geral da associação

Esta página resume como estabelecer ligação a bases de dados fornecidas pelo AlloyDB for PostgreSQL:

  • Redes: as instâncias do AlloyDB usam IPs públicos ou privados numa nuvem virtual privada (VPC). Várias técnicas permitem ligações seguras a partir de aplicações executadas fora da VPC.

  • Autorização: o proxy Auth do AlloyDB permite-lhe usar a gestão de identidade e de acesso (IAM) para controlar quem tem acesso aos seus dados. A firewall da VPC permite-lhe ajustar ainda mais o acesso aos recursos do AlloyDB.

  • Autenticação: use técnicas de autenticação de utilizadores do PostgreSQL padrão para iniciar sessão nas suas instâncias. O AlloyDB também suporta a autenticação baseada no IAM através de funções de utilizador padrão do PostgreSQL.

Trabalhar em rede

Embora uma instância do AlloyDB contenha muitos nós, as suas aplicações ligam-se a uma instância através de um único endereço IP estático. Este endereço pode ser um endereço privado para a VPC que especifica quando configura pela primeira vez o cluster de uma instância ou um IP público que permite ligações diretas a partir do exterior da VPC.

IP privado

Quando configura o AlloyDB com IP privado, a sua instância recebe um endereço IP privado na sua VPC.

Os endereços IP privados afetam as ligações à sua aplicação de duas formas:

  • As aplicações executadas noutro local na VPC do seu projeto podem estabelecer ligação à instância, ou a um proxy que represente a instância, sem passos nem recursos adicionais.

    Por exemplo, o artigo Ligue um cliente psql a uma instância mostra como estabelecer ligação à sua instância do AlloyDB executando o programa de linha de comandos psql numa VM do Compute Engine na sua VPC.

  • As aplicações executadas fora da VPC requerem um serviço intermediário para estabelecer ligação à instância do AlloyDB. As soluções incluem a execução de serviços de proxy numa VM dentro da VPC da instância ou a utilização de outros produtos para estabelecer uma ligação permanente entre a sua aplicação e a sua VPC.Google Cloud

    Para mais informações, consulte o artigo Ligue-se a um cluster a partir do exterior da respetiva VPC.

Normalmente, as ligações através de IP privado oferecem uma latência inferior e vetores de ataque limitados, uma vez que não requerem o atravessamento da Internet.

Para saber mais sobre o IP privado no AlloyDB, consulte o artigo Vista geral do IP privado.

IP público

Quando configura o AlloyDB com um IP público, a sua instância recebe um endereço IP público para ligações de entrada, que é acessível na Internet pública. Opcionalmente, pode usar redes externas autorizadas para especificar um intervalo de endereços IP no formato CIDR que podem aceder à sua instância.

Recomendamos a utilização do IP público com os AlloyDB Language Connectors para garantir ligações seguras entre o cliente e a sua instância.

Para mais informações sobre como adicionar um IP público e redes externas autorizadas à sua instância, consulte o artigo Estabeleça ligação através do IP público.

O AlloyDB também suporta ligações de saída à sua instância. Pode ativar o IP público de saída para migrar uma base de dados para o AlloyDB diretamente a partir de uma origem externa através do serviço de migração de bases de dados ou configurações pglogical autogeridas. O AlloyDB também suporta a ligação a uma origem de dados externa através de wrappers de dados externos, como o postgres_fdw ou o oracle_fdw.

Para mais informações sobre como ativar o IP público de saída, consulte o artigo Adicione conetividade de saída a uma instância.

Autorização

Pode controlar o acesso a um cluster do AlloyDB através dos AlloyDB Language Connectors, do AlloyDB Auth Proxy ou das regras de firewall da VPC.

Conetores de idiomas do AlloyDB

Os conetores de linguagem do AlloyDB são bibliotecas de cliente que fornecem mTLS automatizado através do TLS 1.3 e autorização da IAM quando se ligam a um cluster do AlloyDB.

Pode usar estas bibliotecas diretamente a partir das respetivas linguagens de programação. Oferecem as mesmas capacidades que o AlloyDB Proxy sem necessitar de um processo externo. Isto oferece uma segurança melhorada e requisitos de configuração reduzidos para estabelecer ligação ao AlloyDB.

Para mais informações, consulte o artigo Vista geral dos conetores de linguagem do AlloyDB.

Controle o acesso com a IAM e o proxy de autenticação do AlloyDB

Embora possa ligar-se diretamente a uma instância através do respetivo endereço IP, recomendamos que use o proxy Auth do AlloyDB em ambientes de produção. Oferece controlo de acesso baseado na IAM e encriptação ponto a ponto entre o proxy e o seu cluster.

Para mais informações, consulte o artigo Acerca do AlloyDB Auth Proxy.

Limite o acesso à VPC com regras de firewall

Tal como acontece com qualquer projeto baseado na nuvem, deve ajustar as regras de firewall da sua VPC para restringir o acesso à rede apenas aos intervalos de IP ou às sub-redes a partir dos quais as suas aplicações se ligam. Isto é especialmente importante com aplicações externas, conforme detalhado no artigo Estabeleça ligação a um cluster a partir do exterior da respetiva VPC.

Para mais informações sobre a configuração da firewall da VPC, consulte as regras da firewall da VPC.

Autenticação

O AlloyDB suporta dois tipos de utilizadores da base de dados, cada um dos quais tem a sua própria forma de autenticação com as suas bases de dados:

  • As funções de utilizador padrão do PostgreSQL autenticam-se através de um nome de utilizador e uma palavra-passe. Pode gerir estas contas através de técnicas de gestão de utilizadores do PostgreSQL comuns. Para mais informações, consulte o artigo Gerir funções de utilizador do AlloyDB.

  • As contas de serviço e os utilizadores do IAM autenticam-se como utilizadores da base de dados através de tokens OAuth 2.0. Gerir estas contas através do Google Cloud sistema IAM. Para mais informações, consulte o artigo Faça a gestão da autenticação do IAM.

Depois de autenticada com uma instância do AlloyDB, uma aplicação pode tratar a instância como um servidor PostgreSQL normal. Depois de estabelecer rotas de rede e autorização para uma instância, pode usar técnicas padrão do PostgreSQL para iniciar sessão numa instância e aceder aos seus dados. Isto é verdadeiro quer inicie sessão manualmente com uma ferramenta como o psql ou se ligue à sua base de dados de forma programática através de uma biblioteca de código do PostgreSQL.

Normalmente, a primeira autenticação com um novo cluster do AlloyDB envolve iniciar sessão na respetiva instância principal como o utilizador postgres, usando a palavra-passe que especifica quando cria o cluster. A partir daí, deve criar utilizadores da base de dados sem privilégios administrativos para utilização pela sua aplicação.

O que se segue?