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çãoapigee
. -
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çãoapigee
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:
- Para fins de limpeza: não elimine chaves antigas até que o Apigee tenha lançado o acompanhamento de chaves para compreender a utilização de chaves antes de as eliminar.
- Se a eliminação for necessária: desative primeiro a chave e, em seguida, agende a respetiva destruição. Pode usar uma política org para aplicar a desativação da chave primeiro e a duração mínima para destruição.
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
- Se quiser apenas recriar as instâncias do Apigee, consulte o artigo Recriar uma instância do Apigee com tempo de inatividade zero.
-
Se quiser usar o Terraform, pode considerar pedir ideias a projetos de código aberto
apigee/terraform modules
. -
Se quiser recriar organizações do Apigee, pode usar
apigeecli
,apigeecli organizations export
eapigeecli organizations import
como base para a cópia de segurança. Consulte Exportar/recriar organizações. - Se quiser fazer uma cópia de segurança e restaurar mais recursos além da lista acima, tem de interagir diretamente com a API ou usar outro comando apigeecli.
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 comandoimport
. -
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
.
-
SDK do Google Cloud (
- 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 deapigee
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:
- Siga os passos em Crie uma nova instância para criar uma nova instância.
- 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.
- 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:
-
Para regras IAM: pode usar
gcloud projects get-iam-policy
egcloud projects set-iam-policy
para copiar a sua própria política IAM, ajustar o projeto e o nome da organizaçãoapigee
e aplicar a novos Google Cloud projetos e organizaçõesapigee
. - Para outras configurações da Apigee: pode usar a API Management da Apigee.
Implemente os seus proxies
Use uma das seguintes opções para implementar os seus proxies:
- Usar
apigeecli
- Use o script da comunidade do Apigee como referência
- Use a API Apigee Management
Mude o tráfego
Faça o seguinte para mudar o tráfego:
- Prepare testes de integração automatizados para a nova instância.
- Configure um equilibrador de carga para mudar gradualmente o tráfego para a nova instância enquanto monitoriza o desempenho.