Práticas recomendadas para a CMEK do Apigee

Esta página descreve as práticas recomendadas da CMEK com o Apigee.

Prevenção de riscos

Atualmente, o Apigee suporta um conjunto restrito de funcionalidades de chaves de encriptação geridas pelo cliente. Para evitar a eliminação acidental de chaves CMEK ou versões de chaves, recomendamos que implemente o seguinte:

  • Reforce os controlos de acesso: limite as autorizações de destruição/atualização da função ou da chave apenas a administradores fidedignos ou membros seniores da equipa.roles/cloudkms.admin
  • Audite as autorizações regularmente: certifique-se de que as autorizações não são expandidas inadvertidamente ao longo do tempo.
  • Eliminação automática de chaves: não configure automatizações para eliminar/desativar chaves automaticamente.

Configure a duração da destruição e a rotação das chaves

  • Considere prolongar a duração da destruição predefinida: o período de destruição agendada predefinido é de 30 dias. Definir uma duração de destruição personalizada durante a criação de chaves ou aplicar uma duração mais longa através de políticas da organização pode dar mais tempo para a recuperação em caso de eliminação acidental. Se considerar que os tempos de destruição mais longos impõem mais riscos, tenha em atenção que a duração de destruição mais longa também impede que elimine acidentalmente a chave. Pode equilibrar a vantagem e o risco para ver qual a duração mais adequada para si.
  • Exigir que as chaves sejam desativadas antes da destruição: recomendamos que desative as versões das chaves antes de agendar a respetiva destruição. Isto ajuda a validar se a chave não está em utilização ativa e é um passo importante para determinar se é seguro destruir uma versão da chave.
  • Implemente a rotação de chaves: a rotação regular de chaves limita o impacto de uma potencial violação. No caso de uma chave ser comprometida, a rotação regular limita o número de mensagens reais vulneráveis a comprometimento.

Rotação de chaves no Apigee

O objetivo principal da rotação de chaves é reduzir a quantidade de dados encriptados com uma única chave e não substituir totalmente a versão antiga da chave. Tanto para as chaves de tempo de execução como para as chaves do plano de controlo, a versão original da chave permanece associada ao recurso a partir do momento em que foi criada.

Exemplos ilustrativos

  • Uma instância do Apigee usa sempre a versão da chave CMEK principal que estava ativa no momento da sua criação, mesmo após a rotação de chaves.
  • Um pacote de proxy continua a usar a versão da chave CMEK principal que estava ativa quando foi criado pela primeira vez. No entanto, se este pacote de proxy for modificado após a rotação de chaves, todos os novos dados no mesmo serão encriptados com a nova versão da chave principal.

Limitação atual: não existe nova encriptação automática

É importante ter em atenção que o Apigee não suporta atualmente a reencriptação automática dos dados existentes quando uma chave é alternada. Apenas uma quantidade limitada de novos dados vai ser encriptada com a nova versão da chave principal. A maioria dos seus dados, como as estatísticas, os dados do disco de tempo de execução e as revisões de proxy mais antigas, continuam a ser encriptados com a versão antiga da chave.

Desativação da chave

A desativação ou a destruição de chaves interrompe a funcionalidade do Apigee. Se desativar primeiro a chave, pode reativá-la se for um falso alarme.

Se suspeitar de um comprometimento de uma chave (ou de uma versão da chave):

  • Cenário de alto risco: se considerar que os seus dados do Apigee são confidenciais e que um atacante tem uma elevada probabilidade de os explorar, desative imediatamente a chave e revogue o acesso à mesma. Deve desativar a chave antes de recriar uma instância apigee e uma organização apigee.
  • Cenário de baixo risco: se minimizar o tempo de inatividade for mais importante do que o risco potencial, deve recriar a instância apigee e a organização apigee primeiro antes de desativar/eliminar a CMEK. Veja abaixo como evitar proativamente o tempo de inatividade investindo na cópia de segurança/restauro.
  • Contacte o apoio técnico: recomendamos que contacte o apoio ao cliente do Google Cloud quando considerar que uma chave foi comprometida e precisa de a desativar.

Verifique o impacto da desativação/revogação/destruição de uma chave abaixo. Depois de desativar a chave, tem de recriar a sua organização/instâncias.apigee Consulte as práticas recomendadas.

  • Compromisso de CMEK em tempo de execução: crie novas instâncias com uma nova CMEK e, em seguida, elimine as instâncias originais, bem como a CMEK em tempo de execução antiga, após a migração do tráfego.
  • Todas as CMEK comprometidas: crie uma nova organização apigee com uma nova chave CMEK, replique a sua configuração, transfira o tráfego e, em seguida, encerre a organização antiga e desative/elimine a CMEK original.
  • Contacte o apoio técnico do Google Cloud: se a API para eliminar/recriar instâncias ou apigee org demorar muito tempo, contacte o apoio técnico do Google Cloud.

Impacto da desativação/revogação/destruição de chaves

Se desativar, revogar ou destruir a chave, o Apigee não funciona corretamente. Os impactos são os seguintes:

  • Desativar/revogar/destruir a chave completa: as APIs orientadas para o cliente do Apigee vão deixar de funcionar imediatamente. Os sistemas internos vão falhar em minutos, o que afeta a implementação de proxies, o tráfego de tempo de execução, as estatísticas e a segurança da API. A instância vai ficar completamente impossível de iniciar dentro de algumas semanas devido a problemas de remontagem do disco.
  • Desativar/revogar/destruir uma versão de chave (incluindo a versão de chave principal ou a versão de chave anterior): as APIs do Apigee viradas para o cliente que usam essa versão de chave deixam de funcionar imediatamente. Alguns sistemas internos e tráfego de tempo de execução serão afetados. A instância pode ficar impossível de iniciar se a versão da chave tiver sido usada para a encriptação de disco.

Reativar uma chave

Se um comprometimento for um falso alarme ou a desativação da chave não for intencional, pode reativar a chave se esta estiver a ser desativada. A reativação de uma chave restaura a funcionalidade das APIs orientadas para o cliente. Os sistemas internos devem ser recuperados em poucos minutos. No entanto, pode haver perda de dados para a segurança da API e estatísticas durante o período de indisponibilidade da chave.

  • Se o período de desativação da chave for curto: o sistema deve ser recuperado, exceto em relação a alguma perda de dados na segurança e nas estatísticas da API.
  • Se o período de desativação da chave for longo: o sistema vai recuperar para servir tráfego, mas pode levar a inconsistências de dados em que uma região devolve um valor e a região anteriormente inativa devolve outro. Contacte o apoio técnico do Google Cloud para corrigir o seu cluster do Apigee.

Eliminar uma chave

Considere o seguinte antes de eliminar uma chave:

Proteger a sua organização do Apigee com cópias de segurança de CI/CD

No caso de um comprometimento das chaves de encriptação geridas pelo cliente (CMEK), é fundamental tomar medidas imediatas para desativar, revogar ou destruir a chave comprometida. No entanto, esta medida de segurança necessária pode tornar o seu sistema Apigee não funcional, o que pode levar a potenciais indisponibilidades e interrupções de serviço.

Para garantir um tempo de inatividade mínimo ou nulo para os seus serviços do Apigee, é imperativo implementar uma abordagem proativa: cópias de segurança contínuas da configuração da sua organização (cópias de segurança de integração contínua/implementação contínua [CI/CD]). Consulte as ferramentas disponíveis e as práticas recomendadas para restaurar uma organização do Apigee.

O poder da CI/CD e da IaC

Investir em ferramentas como o Terraform, uma solução de infraestrutura como código (IaC), permite-lhe criar uma nova organização do Apigee de forma integrada a partir da sua configuração de cópia de segurança. Este processo simplificado permite-lhe recriar a sua organização do Apigee de forma rápida e eficiente, minimizando o tempo de inatividade e garantindo a continuidade da empresa.

Ferramentas disponíveis para utilização

Pode combinar todas as seguintes ferramentas para fazer uma cópia de segurança periódica da sua organização do Google Workspace e testar o processo de recuperação.apigee

Práticas recomendadas

  • Cópias de segurança regulares: agende cópias de segurança regulares para garantir que tem a configuração mais atualizada disponível. Consulte Exportar/recriar organizações.
  • Armazenamento seguro: armazene as suas cópias de segurança num local seguro, como um repositório encriptado.
  • Teste os restauros: teste periodicamente o processo de restauro para garantir que consegue recuperar a sua organização do Apigee de forma eficaz. Teste periodicamente o processo de restauro para garantir que pode mudar o tráfego para as organizações do Apigee criadas recentemente de forma rápida.

Exportar/recriar organizações

A ferramenta apigeecli é uma ferramenta de linha de comandos que lhe permite gerir recursos do Apigee. Permite-lhe realizar as mesmas ações que a API Apigee numa interface de linha de comandos fácil de usar, análoga aos comandos gcloud.
Se quiser recriar organizações do Apigee ou migrar para outra organização do Apigee, pode usar o apigeecli organizations export e o apigeecli organizations import. Também pode ser usado como base para cópias de segurança contínuas. Pode exportar e importar recursos como:

  • Documentos do portal de APIs
  • Categorias do portal de APIs
  • Proxies de API
  • Configuração de segurança da API e perfis de segurança
  • Fluxos partilhados
  • Produtos API
  • Programadores
  • Apps de programadores, incluindo credenciais
  • AppGroups e apps, incluindo credenciais
  • Detalhes do ambiente
  • Grupos de ambientes
  • Configuração dos recolhedores de dados
  • Repositórios de chaves e certificados de alias ao nível do ambiente
  • Servidores de destino ao nível do ambiente
  • Referências ao nível do ambiente
  • Mapeamentos de chaves-valores (KVM) e entradas ao nível da organização, do ambiente e do proxy
  • Armazenamentos de chaves e certificados de alias, exceto chaves privadas

A ferramenta pode gerir todos os outros recursos do Apigee. Pode ver a lista completa de comandos com apigeecli tree.

Esta ferramenta tem algumas limitações:

  • Os keystores requerem que a chave privada seja guardada no momento da criação e incluída nos ficheiros de cópia de segurança locais
  • Não é possível fazer uma cópia de segurança nem restaurar tokens OAuth. Isto implica que os seus clientes têm de iniciar sessão novamente nas instâncias do Apigee criadas recentemente.
  • Os controlos de acesso, como a política da organização e as regras do IAM, não são migrados. Se quiser migrar essas regras, tem de usar a Google Cloud API.
  • As exportações de relatórios do Analytics não são suportadas e as métricas analíticas não são copiadas para a nova organização do apigee.
  • Este comando import não cria automaticamente a instância, o grupo de ambiente, os anexos de ambiente, o anexo de ponto final nem implementa proxies por si. Pode gerir estes recursos, mas não diretamente através do comando import.
  • Este comando import não cria automaticamente sites de portal. A criação de sites de portais tem de ser feita manualmente através da IU.
  • Sugerimos que invista no restauro em caso de desastre para a eliminação de chaves e que teste periodicamente o processo de restauro para garantir que pode mudar rapidamente o tráfego para as organizações do Apigee criadas recentemente.

Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos são cumpridos:

  • CLI Apigee instalada: instale-a apigeecli seguindo os passos no guia de instalação.
  • Autenticação: tem de ter as autorizações e as credenciais de autenticação necessárias para interagir com as organizações do Apigee. Certifique-se de que configurou:
    • SDK do Google Cloud (gcloud): instalado e autenticado.
    • Chave de acesso: obtenha uma chave de acesso através de gcloud auth print-access-token.
  • Acesso à rede: certifique-se de que a sua rede permite o acesso às APIs Apigee.
  • Create org: crie uma nova organização apigee para a qual quer migrar. Pode criar diferentes tipos de apigee organizações. No entanto, certifique-se de que usa o mesmo tipo de organização (pagamento conforme o uso ou subscrição) e o mesmo tipo de encaminhamento de rede que usou com a sua organização original.

Exportar uma organização do Apigee

Segue-se um exemplo de comando. Consulte apigeecli organizations export para ver detalhes sobre as diferentes flags.

# Sample command
mkdir apigee_backup
cd apigee_backup

# gcloud auth application-default login
export ORG_FROM=REPLACE
apigeecli organizations export -o $ORG_FROM --default-token

Importar uma organização do Apigee

Segue-se um exemplo de comando. Consulte apigeecli organizations import para ver detalhes sobre as diferentes flags

# Sample command
# gcloud auth application-default login
export ORG_TO=REPLACE
apigeecli organizations import -o $ORG_TO -f . --default-token

Passos após a importação

Crie uma instância e configure redes

Faça o seguinte para criar uma instância e configurar redes:

  1. Siga os passos em Crie uma nova instância para criar uma nova instância.
  2. Configure o tráfego de saída: o tráfego de saída refere-se ao tráfego da API de clientes externos ou internos para o Apigee através de um equilibrador de carga. Tem de se certificar de que configura corretamente o PSC ou a VPC para que a sua instância esteja acessível. Tem de configurar os nomes de anfitriões do grupo de ambientes na nova organização.
  3. Configurar o tráfego de saída: a saída refere-se ao tráfego da API do Apigee para os serviços de destino do proxy de API. Por isso, tem de reservar e ativar novos endereços IP para o NAT e reconfigurar as firewalls/listas de autorizações nos seus pontos finais de destino.

Consulte as Opções de rede do Apigee para mais informações.

Criar cópia de segurança/restaurar outras configurações

Use uma das seguintes opções para fazer uma cópia de segurança/restaurar outras configurações:

Implemente os seus proxies

Use uma das seguintes opções para implementar os seus proxies:

Mude o tráfego

Faça o seguinte para mudar o tráfego:

  1. Prepare testes de integração automatizados para a nova instância.
  2. Configure um equilibrador de carga para mudar gradualmente o tráfego para a nova instância enquanto monitoriza o desempenho.