Segurança, privacidade, risco e compliance do AlloyDB para PostgreSQL

Para proteger suas cargas de trabalho do AlloyDB para PostgreSQL no Google Cloud, lidar com riscos comerciais e ajudar a atender aos requisitos de privacidade e conformidade regulatória, é possível configurar controles de segurança de rede, políticas da organização, criptografia e gerenciamento de identidade e acesso.

A segurança, a privacidade, o risco e a conformidade do AlloyDB usam um modelo de responsabilidade compartilhada. Por exemplo, o Google protege a infraestrutura em que o AlloyDB e outros serviços do Google Cloud são executados e oferece recursos que ajudam a gerenciar o acesso aos serviços e recursos. Para mais informações sobre como o Google protege a infraestrutura, consulte a Visão geral do design de segurança da infraestrutura do Google.

Arquitetura do AlloyDB

O diagrama a seguir mostra os componentes da arquitetura do AlloyDB.

Arquitetura do AlloyDB.

Os componentes incluem:

  • As instâncias do AlloyDB são implantadas em várias zonas para permitir alta disponibilidade e resiliência.
  • Um aplicativo no Google Cloud ou em outro ambiente que se conecta à instância primária do AlloyDB. O diagrama mostra o aplicativo em execução no mesmo projeto do Google Cloud que o AlloyDB, mas também é possível executar o aplicativo em outro projeto na sua organização doGoogle Cloud .
  • Em um ambiente híbrido, o Cloud VPN ou o Cloud Interconnect pode fornecer acesso aos recursos na sua rede corporativa.
  • Um perímetro de serviço criado usando o VPC Service Controls. Com o VPC Service Controls, é possível controlar a movimentação de dados entre serviços ou recursos do Google e configurar a segurança de perímetro baseada em contexto.

Para informações sobre o endpoint do AlloyDB, consulte a API AlloyDB. Por padrão, esse endpoint não é roteável publicamente e não pode receber tráfego de entrada de redes públicas. Para permitir que as instâncias do AlloyDB recebam tráfego de entrada em redes públicas, consulte Conectar usando IP público.

Para informações sobre os conectores do AlloyDB, consulte Conectividade de aplicativos.

Serviços provisionados

Ao começar a usar o AlloyDB, você ativa as seguintes APIs:

Para mais informações, consulte Guia de início rápido: criar e se conectar a um banco de dados.

Autenticação para gerenciamento do Google Cloud

Os administradores e desenvolvedores que criam e gerenciam instâncias do AlloyDB precisam se autenticar no Google Cloud para verificar a identidade e os privilégios de acesso. É necessário configurar cada usuário com uma conta de usuário gerenciada pelo Cloud Identity, pelo Google Workspace ou por um provedor de identidade federado com o Cloud Identity ou o Google Workspace. Para mais informações, consulte Visão geral do Identity and Access Management.

Depois de criar as contas de usuário, implemente as práticas recomendadas de segurança, como Logon único e verificação em duas etapas. Para mais práticas recomendadas de autenticação, consulte Gerenciar identidade e acesso.

Identity and Access Management

Para gerenciar os papéis do Identity and Access Management (IAM) em escala para seus administradores e desenvolvedores, considere criar grupos funcionais separados para os vários papéis e aplicativos de usuário do banco de dados. Conceda aos seus grupos os papéis ou as permissões do IAM necessários para gerenciar o AlloyDB. Ao atribuir papéis aos grupos, siga o princípio de privilégio mínimo e outras práticas recomendadas de segurança do IAM. Para mais informações, consulte Práticas recomendadas para usar os Grupos do Google.

Para mais informações sobre como configurar o IAM, consulte a Visão geral do IAM.

Quando os clientes usam a autenticação de banco de dados do IAM para acessar o AlloyDB, também é possível usar o IAM para controlar o acesso deles ao AlloyDB. Para mais informações sobre os papéis do IAM necessários para o AlloyDB, consulte Papéis e permissões do IAM para o AlloyDB.

Se você usar o proxy de autenticação do AlloyDB ou os conectores de linguagem do AlloyDB (conforme descrito em Conectividade do aplicativo), use o IAM para controlar quais cargas de trabalho do aplicativo podem se conectar ao AlloyDB. Para mais informações sobre como usar o IAM com o proxy de autenticação, consulte Escolher o principal do IAM e prepará-lo para autorização. Para usar a autenticação automática do IAM com os conectores de linguagem, consulte Gerenciar a autenticação do IAM.

Contas de serviço padrão e agentes de serviço

Uma conta de serviço é um tipo especial de Conta do Google não interativa destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Como o AlloyDB é um serviço totalmente gerenciado, o Google gerencia o agente de serviço do AlloyDB em seu nome. Quando você ativa o AlloyDB, um agente de serviço do AlloyDB é criado para seu projeto (service-PROJECT_NUMBER@gcp-sa-alloydb.iam.gserviceaccount.com). Os recursos do AlloyDB, como o servidor PostgreSQL, usam esse agente de serviço para serem executados.

Os agentes de serviço são os papéis e as permissões do IAM que alguns serviços do Google Cloudusam para acessar seus recursos e agir em seu nome. A conta de serviço gerenciada do AlloyDB usa os privilégios do IAM do agente de serviço do AlloyDB.

Políticas para o AlloyDB

As políticas da organização predefinidas que se aplicam ao AlloyDB definem se o AlloyDB pode usar chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografar seus dados. Configure o AlloyDB para usar CMEK se as obrigações regulatórias exigirem que você tenha mais controle sobre as chaves usadas para criptografar dados do AlloyDB em repouso. As políticas incluem o seguinte:

  • Restringir quais serviços podem criar recursos sem CMEK (constraints/gcp.restrictNonCmekServices)

  • Restringir quais projetos podem fornecer CryptoKeys do Cloud Key Management Service (Cloud KMS) para CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Para mais informações, consulte Usar políticas predefinidas da organização.

É possível usar políticas personalizadas da organização para configurar restrições no AlloyDB em um projeto, uma pasta ou uma organização. Se você ativar endereços IP públicos, o Google recomenda configurar uma restrição de política personalizada para definir quem pode usar o endereço IP público. Para refinar suas políticas, adicione campos de instância do AlloyDB (por exemplo, ativar o endereço IP público ou ativar o endereço IP público de saída) à política. Para mais informações, consulte Usar políticas personalizadas da organização.

Segurança de rede

Por padrão, o Google aplica proteções padrão aos dados em trânsito para todos os serviços doGoogle Cloud , incluindo instâncias do AlloyDB que estão em execução no Google Cloud. Para mais informações sobre proteções de rede padrão, consulte Criptografia em trânsito.

O AlloyDB é compatível com a criptografia TLS 1.3 para comunicação entre a instância do banco de dados e os clientes. O AlloyDB gera automaticamente o certificado do servidor para essa conexão. Para usar certificados do cliente para autenticação mútua, é necessário configurar os conectores de linguagem do AlloyDB (que usam autenticação mTLS) ou o proxy de autenticação do AlloyDB.

Se necessário, configure outros controles de segurança para proteger ainda mais o tráfego na rede Google Cloud e entre a rede Google Cloud e a corporativa. Considere o seguinte:

  • O AlloyDB é compatível com o VPC Service Controls. Com o VPC Service Controls, é possível controlar a movimentação de dados nos serviços do Google e configurar a segurança de perímetro baseada em contexto. Para mais informações sobre como configurar o VPC Service Controls, consulte Configurar o VPC Service Controls.

  • Se você ativar endereços IP públicos, use os conectores de linguagem do AlloyDB e uma política da organização personalizada para controlar quem tem acesso às instâncias do AlloyDB.

  • Em Google Cloud, considere a VPC compartilhada como sua topologia de rede. A VPC compartilhada oferece Gerenciador de configuração de rede centralizado e mantém a separação de ambientes.

  • Use o Cloud VPN ou o Cloud Interconnect para maximizar a segurança e a confiabilidade da conexão entre sua rede corporativa e oGoogle Cloud. Para mais informações, consulte Como escolher um produto de conectividade de rede.

Para mais informações sobre práticas recomendadas de segurança de rede, consulte Implementar confiança zero e Decidir o design da rede para a zona de destino de Google Cloud .

Conectividade de aplicativos

É possível proteger a conexão entre os aplicativos e o AlloyDB usando os seguintes métodos:

O diagrama a seguir mostra as opções de conectividade.

Opções de conectividade do AlloyDB.

Para mais informações sobre as opções de configuração de conexões com serviços sem um endereço IP externo, consulte Opções de acesso particular para serviços.

Autenticação do banco de dados

O AlloyDB oferece os seguintes métodos de autenticação para clientes de banco de dados:

  • Autenticação de banco de dados integrada usando um nome de usuário e uma senha. A autorização é determinada usando as instruções GRANT ou REVOKE. Para mais informações, consulte Gerenciar papéis de usuário do AlloyDB.
  • Autenticação do IAM usando principais do IAM, como usuários e contas de serviço. Os conectores de linguagem do AlloyDB podem automatizar o processo de autenticação do IAM. Para mais informações, consulte a visão geral dos conectores de linguagem do AlloyDB. A autenticação do IAM tem os seguintes benefícios:
    • Controle de acesso unificado: o IAM centraliza o controle de acesso em todos os recursos do Google Cloud , incluindo bancos de dados. O controle de acesso unificado significa políticas consistentes e gerenciamento mais fácil de usuários e papéis.
    • Gerenciamento de credenciais reduzido: os usuários não precisam de senhas de banco de dados separadas. A autenticação do IAM usa as credenciais da Conta do Google.
    • Tokens de curta duração: a autenticação do IAM usa tokens de acesso de curta duração, reduzindo o risco de vazamento de senhas ou credenciais comprometidas.

Conectores

Use o proxy de autenticação do AlloyDB ou os conectores de linguagem do AlloyDB para configurar uma conexão criptografada com o cliente do banco de dados. O proxy de autenticação do AlloyDB é um proxy do lado do cliente que faz upgrade transparente de conexões não TLS para conexões TLS 1.3. Os conectores de linguagem são bibliotecas de cliente que se conectam a um servidor proxy no cluster do AlloyDB. Os dois conectores usam o IAM para autorizar a conexão e proteger a conexão usando mTLS. Se quiser, configure a autenticação sem senha em vez da autenticação do IAM.

Se você usa o proxy de autenticação, consulte as Práticas recomendadas para usar o proxy de autenticação do AlloyDB.

privacidade e proteção de dados

Esta seção descreve como o AlloyDB protege seus dados e a privacidade deles.

O AlloyDB criptografa os dados armazenados no cluster (por exemplo, o nome da instância, a configuração da instância, o conteúdo da tabela, os nomes das linhas e as funções personalizadas) usando a criptografia padrão. Somente as instâncias do AlloyDB podem acessar esses dados.

É possível ativar as chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografar os dados do cluster em repouso. Com as CMEKs, as chaves são armazenadas no Cloud KMS como chaves protegidas por software ou por hardware (com o Cloud HSM), mas são gerenciadas por você. Para provisionar chaves de criptografia automaticamente, ative o Autokey do Cloud KMS. Quando você ativa o Autokey do Cloud KMS, um desenvolvedor pode solicitar uma chave do Cloud KMS, e o agente de serviço provisiona uma chave que corresponde à intenção do desenvolvedor. Com o Autokey do Cloud KMS, as chaves estão disponíveis sob demanda, são consistentes e seguem as práticas padrão do setor.

Além disso, o AlloyDB é compatível com o Cloud External Key Manager (Cloud EKM), que permite armazenar as chaves em um gerenciador de chaves externo fora do Google Cloud. Se você estiver usando o Cloud EKM, as Justificativas de acesso às chaves vão adicionar um campo às solicitações do Cloud EKM que permite ver o motivo de cada solicitação. Os parceiros de gerenciamento de chaves externos permitem aprovar ou negar automaticamente essas solicitações com base na justificativa.

Onde os dados são tratados

O AlloyDB é compatível com a residência de dados para os dados armazenados no cluster. A residência de dados permite escolher as regiões em que você quer que seus dados sejam armazenados usando a restrição de política de restrição de local de recursos. Use o Inventário de recursos do Cloud para verificar o local dos recursos do AlloyDB.

Se você precisar de residência de dados para dados em uso, configure o Assured Workloads. Para mais informações, consulte Assured Workloads e residência de dados.

Privacidade de dados

Para ajudar a proteger a privacidade dos seus dados, o AlloyDB está em conformidade com os Princípios comuns de privacidade.

O AlloyDB atua como um operador de dados do cliente. O Google também atua como controlador de dados para informações como faturamento, gerenciamento de contas e detecção de abusos. Para mais informações, consulte o Google Cloud Aviso de privacidade.

Registro de auditoria

O AlloyDB grava os seguintes tipos de registros de auditoria:

  • Registros de auditoria de atividade do administrador: inclui operações ADMIN WRITE que gravam metadados ou informações de configuração.
  • Registros de auditoria de acesso a dados: inclui operações ADMIN READ que leem metadados ou informações de configuração. Também inclui operações de DATA READ e DATA WRITE que leem ou gravam dados fornecidos pelo usuário.
  • Registros de auditoria de eventos do sistema: identifica ações automatizadas do Google Cloud que modificam a configuração de recursos.

Para mais informações sobre registros de auditoria no AlloyDB, consulte Geração de registros de auditoria do AlloyDB.

Além disso, para atender aos requisitos regulatórios, use a extensão pgAudit para ativar uma trilha de auditoria de comandos do banco de dados. Os registros da extensão pgAudit incluem detalhes sobre quais comandos foram executados, quando foram executados e quem os executou.

Transparência no acesso

É possível usar a aprovação de acesso e a transparência no acesso para controlar o acesso às instâncias do AlloyDB por funcionários do Google que dão suporte ao serviço. Com a Aprovação de acesso, é possível aprovar ou dispensar as solicitações de acesso feitas por funcionários do Google. Os registros da Transparência no acesso oferecem insights quase em tempo real quando os administradores doGoogle Cloud acessam os recursos.

Monitoramento e resposta a incidentes

É possível usar várias ferramentas para monitorar o desempenho e a segurança do AlloyDB. Considere o seguinte:

  • Use a Análise de registros para visualizar e analisar logs de eventos e criar métricas personalizadas e alertas.
  • Use o painel de insights do sistema do AlloyDB ou o painel do Cloud Monitoring para monitorar o desempenho das instâncias do AlloyDB. Para mais informações, consulte Monitorar instâncias.
  • Ative a extensão pgAudit para auditar as operações do AlloyDB, como comandos e consultas executados em uma instância do AlloyDB. Esses registros incluem registros de banco de dados do PostgreSQL e registros de contêiner para agentes do plano de dados.
  • Configure o Security Command Center para detectar vulnerabilidades de SQL e ameaças ao AlloyDB (como escalonamentos de privilégios). É possível configurar alertas e playbooks para que os analistas da central de operações de segurança (SOC) possam responder às descobertas.

Certificações e compliance

O cumprimento dos requisitos regulatórios é uma responsabilidade compartilhada entre você e o Google.

O AlloyDB recebeu muitas certificações, incluindo as seguintes:

Para mais informações sobre a conformidade do Google Cloud com diferentes sistemas regulatórios e certificações, consulte a Central de recursos de compliance.

O AlloyDB também é compatível com o Assured Workloads, que permite aplicar controles a pastas específicas na sua organização do Google que atendem a requisitos regulatórios, regionais ou de soberania. Para mais informações, consulte Produtos compatíveis por pacote de controle.

A seguir