Segurança, privacidade, risco e conformidade para o AlloyDB for PostgreSQL

Este documento oferece uma vista geral de vários controlos que suportam a segurança do AlloyDB para PostgreSQL no Google Cloud e inclui links para mais informações sobre como configurar os controlos. Os controlos de segurança, como as opções de segurança de rede, as políticas e a gestão de acesso, também podem ajudar a resolver os riscos da sua empresa e a cumprir os requisitos regulamentares e de privacidade aplicáveis à sua empresa.

A segurança, a privacidade, o risco e a conformidade do AlloyDB for PostgreSQL usam um modelo de responsabilidade partilhada. Por exemplo, a Google protege a infraestrutura na qual o AlloyDB for PostgreSQL e outros Google Cloud serviços são executados e oferece-lhe as capacidades que ajudam a gerir o acesso aos seus serviços e recursos. Para mais informações sobre como protegemos a infraestrutura, consulte a vista geral do design da segurança da infraestrutura da Google.

Arquitetura do AlloyDB

O diagrama seguinte mostra os componentes da arquitetura do AlloyDB.

Arquitetura do AlloyDB.

Os componentes incluem o seguinte:

  • As instâncias do AlloyDB são implementadas em várias zonas para permitir a elevada disponibilidade e a resiliência.
  • Uma aplicação no Google Cloud ou noutro ambiente que se liga à instância principal do AlloyDB. O diagrama mostra a aplicação a ser executada no mesmo projeto que o AlloyDB, embora também possa executar a aplicação noutro projeto na sua organização. Google Cloud Google Cloud
  • Num 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 com os VPC Service Controls. Os VPC Service Controls permitem-lhe controlar o movimento de dados entre os serviços ou os recursos Google e configurar a segurança do perímetro baseada no contexto.

Para informações sobre o ponto final do AlloyDB, consulte a API AlloyDB. Por predefinição, este ponto final não é um ponto final encaminhá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 através de redes públicas, consulte o artigo Estabeleça ligação através do IP público.

Para obter informações sobre os conetores do AlloyDB, consulte a secção Conetividade da aplicação.

Serviços aprovisionados

Quando começa a usar o AlloyDB, ativa as seguintes APIs:

Para mais informações, consulte o artigo Início rápido: crie e ligue-se a uma base de dados.

Autenticação para a Google Cloud gestão

Os administradores e os programadores que criam e gerem instâncias do AlloyDB têm de se autenticar para validar a respetiva identidade e privilégios de acesso. Google Cloud Tem de configurar cada utilizador com uma conta de utilizador gerida pelo Cloud ID, pelo Google Workspace ou por um fornecedor de identidade que tenha federado com o Cloud ID ou o Google Workspace. Para mais informações, consulte a vista geral da gestão de identidade e acesso.

Depois de criar as contas de utilizador, implemente práticas recomendadas de segurança, como o início de sessão único e a validação em dois passos. Para ver mais práticas recomendadas de autenticação, consulte o artigo Faça a gestão da identidade e do acesso.

Gestão de identidade e de acesso

Para gerir as funções de gestão de identidade e de acesso (IAM) em grande escala para os seus administradores e programadores, considere criar grupos funcionais separados para as várias funções de utilizador e aplicações da base de dados. Conceda as funções ou as autorizações do IAM necessárias para gerir o AlloyDB aos seus grupos. Quando atribui funções aos seus grupos, siga o princípio do menor privilégio e outras práticas recomendadas de segurança do IAM. Para mais informações, consulte as práticas recomendadas para usar o Grupos Google.

Para mais informações sobre a configuração do IAM, consulte o artigo Vista geral do IAM.

Quando os clientes usam a autenticação da base de dados da IAM para aceder ao AlloyDB, também pode usar a IAM para controlar o respetivo acesso ao AlloyDB. Para mais informações sobre as funções de IAM necessárias para o AlloyDB, consulte o artigo Funções e autorizações de IAM para o AlloyDB.

Se usar o proxy de autorização ou os conetores de idiomas (conforme descrito na secção Conetividade da aplicação), pode usar o IAM para controlar que cargas de trabalho da aplicação se podem ligar ao AlloyDB. Para mais informações sobre a utilização do IAM com o proxy de autorização, consulte o artigo Escolha o principal do IAM e prepare-o para autorização. Para usar a autenticação IAM automática com os conetores de linguagem do AlloyDB, consulte o artigo Gerir a autenticação IAM.

Contas de serviço e agentes de serviço predefinidos

Uma conta de serviço é um tipo especial de Conta Google não interativa destinada a representar um utilizador não humano que precisa de autenticação e autorização para aceder aos dados nas APIs Google. Uma vez que o AlloyDB é um serviço totalmente gerido, a Google gere a sua conta de serviço do AlloyDB em seu nome. Quando ativa o AlloyDB, é criada uma conta de serviço do AlloyDB para o seu projeto (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com). Os recursos do AlloyDB, como o servidor PostgreSQL, usam esta conta de serviço para serem executados.

Os agentes de serviço são as funções e as autorizações da IAM que alguns serviços usam para poderem aceder aos seus recursos e agir em seu nome. Google CloudA conta de serviço do AlloyDB gerida usa os privilégios do IAM do agente do serviço AlloyDB.

Políticas para o AlloyDB

As políticas organizacionais predefinidas que se aplicam ao AlloyDB definem se o AlloyDB pode usar chaves de encriptação geridas pelo cliente (CMEK) para encriptar os seus dados. Configure o AlloyDB para usar CMEK se as suas obrigações regulamentares exigirem que tenha maior controlo sobre as chaves usadas para encriptar os dados em repouso do AlloyDB. As políticas incluem o seguinte:

  • Restrinja os serviços que podem criar recursos sem CMEK (constraints/gcp.restrictNonCmekServices)
  • Restrinja os projetos que podem fornecer CryptoKeys do Cloud KMS para CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Para mais informações, consulte o artigo Use políticas de organização predefinidas.

Pode usar políticas da organização personalizadas para configurar restrições no AlloyDB ao nível do projeto, da pasta ou da organização. Se ativar endereços IP públicos, recomendamos que configure uma restrição de política personalizada para aplicar quem pode usar o endereço IP público. Para refinar as suas políticas, pode adicionar campos de instâncias 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 o artigo Use políticas de organização personalizadas.

Segurança de redes

Por predefinição, a Google aplica proteções predefinidas aos dados em trânsito para todos os Google Cloud serviços, incluindo instâncias do AlloyDB que estão a ser executadas no Google Cloud. Para mais informações sobre as proteções de rede predefinidas, consulte o artigo Encriptação em trânsito.

O AlloyDB suporta a encriptação TLS 1.3 para a comunicação entre a instância da base de dados e os clientes. O AlloyDB gera automaticamente o certificado do servidor para esta ligação. Para usar certificados de cliente para a autenticação mútua, tem de configurar um AlloyDB Language Connector (que usa a autenticação mTLS) ou o AlloyDB Auth Proxy.

Se for exigido pela sua organização, pode configurar controlos de segurança adicionais para proteger ainda mais o tráfego na Google Cloud rede e o tráfego entre a Google Cloud rede e a sua rede empresarial. Considere o seguinte:

  • O AlloyDB suporta os VPC Service Controls. Os VPC Service Controls permitem-lhe controlar o movimento de dados nos serviços Google e configurar a segurança do perímetro baseada no contexto. Para mais informações sobre a configuração do VPC Service Controls, consulte o artigo Configure o VPC Service Controls.

    • Se ativar os endereços IP públicos, use os AlloyDB Language Connectors e uma política organizacional personalizada para controlar quem tem acesso às instâncias do AlloyDB.
  • Em Google Cloud, considere a VPC partilhada como a sua topologia de rede. A VPC partilhada oferece gestão centralizada da configuração de rede, ao mesmo tempo que mantém a separação dos ambientes.

  • Use o Cloud VPN ou o Cloud Interconnect para maximizar a segurança e a fiabilidade da ligação entre a sua rede empresarial e oGoogle Cloud. Para mais informações, consulte o artigo Escolher um produto de conetividade de rede.

Para mais informações sobre as práticas recomendadas de segurança de rede, consulte os artigos Implemente a confiança zero e Decida o design de rede para a sua Google Cloud zona de aterragem.

Conetividade da aplicação

Pode proteger a ligação entre as aplicações e o AlloyDB através dos seguintes métodos:

O diagrama seguinte mostra as opções de conetividade.

Opções de conetividade do AlloyDB.

Para mais informações sobre as opções de configuração de ligações a serviços sem um endereço IP externo, consulte o artigo Opções de acesso privado para serviços.

Autenticação da base de dados

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

  • Autenticação de base de dados integrada através de um nome de utilizador e uma palavra-passe. A autorização é determinada através de declarações GRANT ou REVOKE. Para mais informações, consulte o artigo Gerir funções de utilizador do AlloyDB.
  • Autenticação de IAM através de principais de IAM, como utilizadores e contas de serviço. Os conetores de linguagem do AlloyDB podem automatizar o processo de autenticação do IAM. Para mais informações, consulte a vista geral dos conectores de linguagem do AlloyDB. A autenticação IAM tem as seguintes vantagens:
    • Controlo de acesso unificado: a IAM centraliza o controlo de acesso em todos os Google Cloud recursos, incluindo bases de dados. O controlo de acesso unificado significa políticas consistentes e uma gestão de utilizadores e funções mais fácil.
    • Gestão de credenciais reduzida: os utilizadores não precisam de palavras-passe de base de dados separadas. A autenticação da IAM usa as credenciais da Conta Google existentes.
    • Tokens de curta duração: a autenticação IAM usa tokens de acesso de curta duração, o que reduz o risco de palavras-passe roubadas ou credenciais comprometidas.

Conetores

Pode usar o AlloyDB Auth Proxy ou um AlloyDB Language Connector para configurar uma ligação encriptada ao cliente da base de dados. O proxy Auth do AlloyDB é um proxy do lado do cliente que atualiza de forma transparente as ligações não TLS para ligações TLS 1.3. Os conetores de linguagem são bibliotecas de cliente que se ligam a um servidor proxy no cluster do AlloyDB. Ambos os conetores usam o IAM para autorizar a ligação e proteger a ligação através do mTLS. Opcionalmente, pode configurar a autenticação sem palavra-passe em vez da autenticação do IAM.

Se usar o proxy de autorização, reveja as práticas recomendadas para usar o proxy de autorização do AlloyDB.

Proteção de dados e privacidade

Esta secção descreve como o AlloyDB protege os seus dados e a privacidade desses dados.

O AlloyDB encripta 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) através da encriptação predefinida. Só é possível aceder a estes dados através de instâncias do AlloyDB.

Pode ativar as chaves de encriptação geridas pelo cliente (CMEK) para encriptar os dados do cluster em repouso. Com as CMEK, as chaves são armazenadas no Cloud KMS como chaves protegidas por software ou chaves protegidas por hardware (com o Cloud HSM), mas são geridas por si. Para aprovisionar chaves de encriptação automaticamente, pode ativar a chave automática do Cloud KMS. Quando ativa a chave automática, um programador pode pedir uma chave ao Cloud KMS, e o agente de serviço aprovisiona uma chave que corresponde à intenção do programador. Com a chave automática do Cloud KMS, as chaves estão disponíveis a pedido, são consistentes e seguem as práticas padrão da indústria.

Além disso, o AlloyDB suporta o Cloud External Key Manager (Cloud EKM), que lhe permite armazenar as suas chaves num gestor de chaves externo fora do Google Cloud. Se estiver a usar o EKM da nuvem, as justificações de acesso às chaves adicionam um campo aos seus pedidos do EKM da nuvem que lhe permite ver o motivo de cada pedido. Com determinados parceiros de gestão de chaves externos, pode aprovar ou recusar automaticamente estes pedidos com base na justificação.

Onde são tratados os dados

O AlloyDB suporta a residência de dados para os dados que são armazenados no seu cluster. A residência de dados permite-lhe escolher as regiões nas quais quer que os seus dados sejam armazenados através da restrição da política de restrição de localização de recursos. Pode usar o Cloud Asset Inventory para validar a localização dos recursos do AlloyDB.

Se precisar de residência de dados para dados em utilização, pode configurar os Assured Workloads. Para mais informações, consulte os artigos Assured Workloads e residência de dados.

Privacidade dos dados

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

O AlloyDB atua como um processador de dados para os Dados do Cliente. A Google também atua como responsável pelo tratamento de dados para informações como a faturação e a gestão da conta e deteções de abuso. Para mais informações, consulte o Google Cloud Aviso de Privacidade.

Registo de auditoria

O AlloyDB escreve os seguintes tipos de registos de auditoria:

  • Registos de auditoria da atividade do administrador: inclui operações ADMIN WRITE que escrevem metadados ou informações de configuração.
  • Registos 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 DATA READ e DATA WRITE que leem ou escrevem dados fornecidos pelos utilizadores.
  • Registos de auditoria de eventos do sistema: identifica Google Cloud ações automatizadas que modificam a configuração dos recursos.

Para mais informações, consulte o artigo Registo de auditoria do AlloyDB.

Além disso, para cumprir os requisitos regulamentares, pode usar a extensão pgAudit para ativar uma pista de auditoria de comandos da base de dados. Os registos da extensão pgAudit incluem detalhes sobre os comandos que foram executados, quando foram executados e quem os executou.

Transparência de acesso

Pode usar a Aprovação de acesso e a Transparência de acesso para controlar o acesso às instâncias do AlloyDB por parte do pessoal da Google que presta apoio técnico ao serviço. A aprovação de acesso permite-lhe aprovar ou ignorar pedidos de acesso por parte de funcionários da Google. Os registos da Transparência de acesso oferecem estatísticas quase em tempo real quando os Google Cloud administradores acedem aos recursos.

Monitorização e resposta a incidentes

Pode usar várias ferramentas para ajudar a monitorizar o desempenho e a segurança do AlloyDB. Considere o seguinte:

  • Use o Explorador de registos para ver e analisar registos de eventos e criar métricas personalizadas e alertas.
  • Use o painel de controlo de estatísticas do sistema do AlloyDB ou o painel de controlo do Cloud Monitoring para monitorizar o desempenho das instâncias do AlloyDB. Para mais informações, consulte o artigo Monitorize instâncias.
  • Ative a extensão pgAudit para auditar as operações do AlloyDB (como comandos e consultas realizadas numa instância do AlloyDB). Estes registos incluem registos da base de dados PostgreSQL e registos de contentores para agentes do plano de dados.
  • Configure o Security Command Center para detetar vulnerabilidades de SQL e ameaças ao AlloyDB (como escalamentos de privilégios). Pode configurar alertas e manuais de procedimentos para os analistas do centro de operações de segurança (SOC) para que possam responder às conclusões.

Certificações e conformidade

O cumprimento dos requisitos regulamentares é uma responsabilidade partilhada entre si e a Google.

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

Para mais informações sobre a Google Cloud conformidade com diferentes estruturas regulamentares e certificações, consulte o centro de recursos de conformidade.

O AlloyDB também suporta as Assured Workloads, que lhe permitem aplicar controlos a pastas específicas na sua organização Google que suportam requisitos regulamentares, regionais ou soberanos. Para mais informações, consulte Produtos suportados por pacote de controlo.

O que se segue?