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

Este documento oferece uma visão geral de vários controles que oferecem suporte à segurança do AlloyDB para PostgreSQL no Google Cloud e links para mais informações sobre como configurar os controles. Controles de segurança, como opções, políticas e gerenciamento de acesso de segurança de rede, também podem ajudar você a lidar com os riscos da sua empresa e atender aos requisitos regulamentares e de privacidade aplicáveis.

A segurança, a privacidade, o risco e a conformidade do AlloyDB para PostgreSQL usam um modelo de responsabilidade compartilhada. Por exemplo, o Google protege a infraestrutura em que o AlloyDB para PostgreSQL e outros serviços Google Cloud são executados e oferece recursos que ajudam você a gerenciar o acesso aos seus serviços e recursos. Para mais informações sobre como protegemos 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 em Google Cloud ou em outro ambiente que se conecta à instância principal do AlloyDB. O diagrama mostra o aplicativo em execução no mesmo projeto Google Cloud do AlloyDB, mas também é possível executar o aplicativo em outro projeto na sua organizaçãoGoogle Cloud .
  • Em um ambiente híbrido, o Cloud VPN ou o Cloud Interconnect podem fornecer acesso a 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 do 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 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 de Google Cloud

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 gerenciamento de identidade e acesso.

Depois de criar as contas de usuário, implemente as práticas recomendadas de segurança, como login ú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 papéis do Identity and Access Management (IAM) em escala para administradores e desenvolvedores, crie grupos funcionais separados para as várias funções de usuário e aplicativos do banco de dados. Conceda aos seus grupos os papéis ou 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, você também pode 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ê usa o proxy de autenticação ou os conectores de linguagem (conforme descrito em Conectividade de aplicativos), é possível usar o IAM para controlar quais cargas de trabalho de aplicativos 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 do AlloyDB, consulte Gerenciar a autenticação do IAM.

Contas de serviço e agentes de serviço padrã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 sua conta de serviço do AlloyDB em seu nome. Quando você ativa o AlloyDB, uma conta de serviço do AlloyDB é criada para seu projeto (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com). Os recursos do AlloyDB, como o servidor PostgreSQL, usam essa conta 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 do AlloyDB

As políticas predefinidas da organização 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 a CMEK se suas 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 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 no nível do projeto, da pasta ou da organização. Se você ativar endereços IP públicos, recomendamos configurar uma restrição de política personalizada para determinar quem pode usar o endereço IP público. Para refinar suas políticas, adicione campos de instância do AlloyDB (por exemplo, ativar endereço IP público ou ativar 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 sendo executadas no Google Cloud. Para mais informações sobre as proteções de rede padrão, consulte Criptografia em trânsito.

O AlloyDB oferece suporte à criptografia TLS 1.3 para comunicação entre a instância de banco de dados e os clientes. O AlloyDB gera automaticamente o certificado do servidor para essa conexão. Para usar certificados de cliente na autenticação mútua, configure um conector de linguagem do AlloyDB (que usa 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 sua rede 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 a configuração do VPC Service Controls, consulte Configurar o VPC Service Controls.

    • Se você habilitar 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 gerenciamento centralizado de configuração de rede 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 as práticas recomendadas de segurança de rede, consulte Implementar confiança zero e Decidir o design da rede para sua zona de destino do Google Cloud .

Conectividade de aplicativos

É possível proteger a conexão entre 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 privado para serviços.

Autenticação de 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 instruções GRANT ou REVOKE. Para mais informações, consulte Gerenciar funções 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 reduzido de credenciais: os usuários não precisam de senhas de banco de dados separadas. A autenticação do IAM usa as credenciais atuais 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 senhas vazadas ou credenciais comprometidas.

Conectores

É possível usar o proxy de autenticação do AlloyDB ou um conector de linguagem do AlloyDB para configurar uma conexão criptografada com o cliente de 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 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 com mTLS. Como opção, é possível configurar 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, nome da instância, configuração da instância, conteúdo da tabela, nomes de linhas e funções personalizadas) usando a criptografia padrão. Esses dados só podem ser acessados por instâncias do AlloyDB.

É possível ativar as chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografar os dados do cluster em repouso. Com a CMEK, 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 Cloud KMS Autokey. Quando você ativa o Autokey, 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 a chave automática 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 Gerenciador de chaves externas do Cloud (Cloud EKM), que permite armazenar chaves em um gerenciador 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 oferece suporte à residência de dados para os dados armazenados no cluster. Com a residência de dados, você escolhe as regiões em que quer armazenar seus dados usando a restrição da política de localização de recursos. Use o Inventário de recursos do Cloud para verificar a localização 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 dos 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: incluem operações ADMIN WRITE que gravam metadados ou informações de configuração.
  • Registros de auditoria de acesso a dados: incluem operações ADMIN READ que leem metadados ou informações de configuração. Também inclui operações DATA READ e DATA WRITE que leem ou gravam dados fornecidos pelo usuário.
  • Registros de auditoria de eventos do sistema: identificam ações Google Cloud automatizadas que modificam a configuração dos recursos.

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

Além disso, para atender aos requisitos regulamentares, use a extensão pgAudit para ativar um rastreamento de auditoria dos comandos do banco de dados. Os registros da extensão pgAudit incluem detalhes sobre quais comandos foram executados, quando e por quem.

Transparência no acesso

Você pode usar a Aprovação de acesso e a Transparência no acesso para controlar o acesso às instâncias do AlloyDB pela equipe do Google que oferece suporte ao serviço. Com a aprovação de acesso, é possível aprovar ou descartar as solicitações de acesso de funcionários do Google. Os registros da Transparência no acesso oferecem insights quase em tempo real quando os administradoresGoogle Cloud acessam os recursos.

Monitoramento e resposta a incidentes

Você pode usar várias ferramentas para monitorar a performance e a segurança do AlloyDB. Considere o seguinte:

  • Use a Análise de registros para ver e analisar registros 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 a performance das instâncias do AlloyDB. Para mais informações, consulte Monitorar instâncias.
  • Ative a extensão pgAudit para auditar operações do AlloyDB, como comandos e consultas realizadas em uma instância do AlloyDB. Esses registros incluem registros do banco de dados PostgreSQL e registros de contêineres para agentes do plano de dados.
  • Configure o Security Command Center para detectar vulnerabilidades e ameaças de SQL ao AlloyDB, como escalonamentos de privilégios. É possível configurar alertas e playbooks para os analistas da central de operações de segurança (SOC) responderem a descobertas.

Certificações e compliance

O atendimento aos requisitos regulamentares é uma responsabilidade compartilhada entre você e o Google.

O AlloyDB recebeu muitas certificações, incluindo:

Para mais informações sobre a conformidade do Google Cloud com diferentes estruturas regulatórias 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