Esta página descreve as práticas recomendadas de CMEK com a Apigee.
Prevenção de riscos
No momento, a Apigee oferece suporte a um conjunto restrito de funcionalidades de chave de criptografia gerenciadas pelo cliente. Para evitar a exclusão acidental de chaves CMEK ou versões de chaves, recomendamos implementar o seguinte:
-
Aprimorar os controles de acesso: limite as
permissões de destruição/atualização de chaves ou papéis do
roles/cloudkms.admin
a apenas administradores confiáveis ou membros sênior da equipe. - Auditar as permissões regularmente:verifique se as permissões não foram expandidas inadvertidamente ao longo do tempo.
- Excluir chaves automaticamente:não configure automações para excluir/desativar chaves automaticamente.
Configurar a duração e a rotação da destruição de chaves
- Considere estender a duração de destruição padrão: o período de destruição programada padrão é de 30 dias. Definir uma duração de destruição personalizada durante a criação de chaves ou impor uma duração mais longa usando políticas da organização pode oferecer mais tempo para recuperação em caso de exclusão acidental. Se você acredita que tempos de destruição mais longos representam mais risco, saiba que a duração mais longa da destruição também impede que você exclua a chave acidentalmente. É possível equilibrar o benefício e o risco para saber qual duração funciona melhor para você.
- Exigir que as chaves sejam desativadas antes da destruição : recomendamos desativar as versões de chave antes de programá-las para destruição. Isso ajuda a validar que a chave não está em uso ativo e é uma etapa importante para determinar se é seguro destruir uma versão de chave.
- Implementar a rotação de chaves:a rotação regular de chaves limita o impacto de um possível comprometimento. Caso uma chave seja comprometida, a rotação regular limitará o número de mensagens vulneráveis a comprometidas.
Rotação de chaves no Apigee
O objetivo principal da rotação de chaves é reduzir a quantidade de dados criptografados com uma única chave, não substituir totalmente a versão antiga da chave. Para chaves de ambiente de execução e chaves do plano de controle, a versão original da chave permanece vinculada ao recurso desde o momento em que foi criada.
Exemplos ilustrativos
- Uma instância do Apigee sempre vai usar a versão de chave CMEK primária que estava ativa no momento da criação, mesmo após a rotação de chaves.
- Um pacote de proxy vai continuar usando a versão de chave CMEK primária que estava ativa quando foi criada. No entanto, se esse pacote de proxy for modificado após a rotação de chaves, todos os novos dados nele serão criptografados com a nova versão da chave primária.
Limitação atual: não há nova criptografia automática
É importante observar que, no momento, o Apigee não oferece suporte à recriptografia automática de dados existentes quando uma chave é rotacionada. Apenas uma quantidade limitada de novos dados será criptografada com a nova versão da chave primária. A maioria dos seus dados, como análises, dados de disco de execução e revisões de proxy mais antigas, ainda serão criptografados com a versão antiga da chave.
Desativação de chave
Desativar ou destruir chaves vai interromper a funcionalidade do Apigee. Se você desativar a chave primeiro, poderá reativá-la se for um alarme falso.
Se você suspeitar de uma violação de chave (ou versão de chave):
-
Cenário de alto risco: se você acredita que seus dados da Apigee são
sensíveis e que um invasor tem uma grande chance de explorá-los, desative a chave e
revogue o acesso a ela. Desative 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, recrie a instância
apigee
e a organizaçãoapigee
antes de desativar/excluir a CMEK. Confira abaixo como evitar o tempo de inatividade de forma proativa investindo em backup/restauração. - Entre em contato com o suporte: recomendamos que você entre em contato com o Suporte ao cliente do Google Cloud quando acreditar que uma chave foi comprometida e precisar desativá-la.
Confira o impacto da desativação/revogação/destruição de uma chave
abaixo.
Depois de desativar a chave, você vai precisar recriar as instâncias de apigee
. Consulte as práticas recomendadas.
- Comprometimento do CMEK do ambiente de execução:crie novas instâncias com um novo CMEK e exclua as instâncias originais, bem como o CMEK do ambiente de execução antigo, depois que o tráfego for migrado.
-
Comprometimento de toda a CMEK:crie uma nova organização
apigee
com uma nova chave CMEK, replique a configuração, mude o tráfego e, em seguida, desligue a organização antiga e desative/exclua a CMEK original. -
Entre em contato com o atendimento ao cliente do Google Cloud: se a API para excluir/recriar instâncias ou
apigee
org demorar muito, entre em contato com o atendimento ao cliente do Google Cloud.
Impacto da desativação/revogação/destruição de chaves
Desativar, revogar ou destruir a chave vai fazer com que a Apigee não funcione corretamente. Os impactos são os seguintes:
- Desativar/revogar/destruir a chave inteira:as APIs voltadas ao cliente do Apigee param imediatamente. Os sistemas internos vão falhar em minutos, afetando a implantação de proxy, o tráfego de execução, a análise e a segurança da API. A instância não poderá ser iniciada em algumas semanas devido a problemas de remontagem do disco.
- Desativar/revogar/destruir uma versão de chave (incluindo a versão de chave primária ou a versão de chave anterior): as APIs voltadas ao cliente do Apigee que usam essa versão de chave param imediatamente. Alguns sistemas internos e o tráfego de execução serão afetados. A instância pode não ser inicializável se a versão da chave tiver sido usada para criptografia de disco.
Como reativar uma chave
Se uma violação for um alarme falso ou a desativação da chave não for intencional, você poderá reativá-la. A reativação de uma chave restaura a funcionalidade para APIs voltadas ao cliente. Os sistemas internos devem ser recuperados em poucos minutos. No entanto, pode haver perda de dados para a segurança da API e análises durante o período de indisponibilidade da chave.
- Se o período de desativação da chave for curto:o sistema será recuperado, exceto por alguma perda de dados na segurança e na análise da API.
- Se o período de desativação da chave for longo:o sistema vai se recuperar para veicular o tráfego, mas isso pode levar a inconsistências de dados em que uma região retorna um valor e a região que estava inativa retorna outro. Entre em contato com o Google Cloud Customer Care para corrigir o cluster do Apigee.
Excluir uma chave
Considere o seguinte antes de excluir uma chave:
- Para fins de limpeza:não exclua chaves antigas até que a Apigee tenha lançado o rastreamento de chaves para entender o uso de chaves antes de excluir chaves.
- Se a exclusão for necessária:desative a chave primeiro e programe a destruição dela. É possível usar uma política da organização para aplicar a desativação da chave primeiro e a duração mínima para destruição.
Como proteger sua organização da Apigee com backups de CI/CD
No caso de comprometimento de chaves de criptografia gerenciadas pelo cliente (CMEK), é crucial tomar medidas imediatas para desativar, revogar ou destruir a chave comprometida. No entanto, essa medida de segurança necessária pode tornar seu sistema Apigee não funcional, o que pode causar tempo de inatividade e interrupções no serviço.
Para garantir um tempo de inatividade mínimo ou nenhum para seus serviços da Apigee, é fundamental implementar uma abordagem proativa: backups contínuos da configuração da sua organização (backups de integração contínua/implantação contínua (CI/CD)). Consulte as ferramentas disponíveis e as práticas recomendadas para restaurar uma organização da Apigee.
O poder da CI/CD e da IaC
Investir em ferramentas como o Terraform, uma solução de infraestrutura como código (IaC, na sigla em inglês), permite criar uma nova organização da Apigee de forma simples a partir da configuração com backup. Esse processo simplificado permite recriar sua organização da Apigee de maneira rápida e eficiente, minimizando o tempo de inatividade e garantindo a continuidade dos negócios.
Ferramentas disponíveis para uso
É possível combinar todas as ferramentas a seguir para fazer backup periódico da sua
apigee
e testar o processo de recuperação.
- Se você quiser recriar as instâncias da Apigee, consulte Recriar uma instância da Apigee com inatividade zero.
-
Se você quiser usar o Terraform, considere pegar ideias de
apigee/terraform modules
de código aberto. -
Se você quiser recriar organizações da Apigee, use
apigeecli
,apigeecli organizations export
eapigeecli organizations import
como base para fazer o backup. Consulte Como exportar/recriar organizações. - Se você quiser fazer backup e restaurar mais recursos além da lista acima, será necessário interagir diretamente com a API ou usar outro comando apigeecli.
Práticas recomendadas
- Backups regulares: programe backups regulares para garantir que você tenha a configuração mais atualizada disponível. Consulte Como exportar/recriar organizações.
- Armazenamento seguro: armazene seus backups em um local seguro, como um repositório criptografado.
- Teste as restaurações: teste seu processo de restauração periodicamente para garantir que você possa recuperar sua organização da Apigee de maneira eficaz. Teste periodicamente seu processo de restauração para garantir que você possa mudar o tráfego para organizações da Apigee recém-criadas rapidamente.
Como exportar/recriar organizações
A ferramenta apigeecli
é uma ferramenta de linha de comando que permite gerenciar recursos
do Apigee. Ele permite que você execute as mesmas ações da API
Apigee em uma interface de linha de comando fácil de usar, semelhante aos comandos
gcloud
.
Se você quiser recriar organizações da Apigee ou migrar
para outra organização da Apigee, use apigeecli
organizations export
e apigeecli organizations import
.
Ele também pode ser usado como base para backups contínuos. Ele pode exportar e
importar recursos como:
- Documentos do portal da API
- Categorias do portal de APIs
- Proxies de API
- Configuração de segurança da API e perfis de segurança
- Fluxos compartilhados
- Produtos de API
- Desenvolvedores
- Apps de desenvolvedor que incluem credenciais
- AppGroups e apps que incluem credenciais
- Detalhes do ambiente
- Grupos de ambiente
- Configuração dos coletores de dados
- Keystores e certificados de alias no nível do ambiente
- Servidores de destino no nível do ambiente
- Referências no nível do ambiente
- Mapas de chave-valor (KVM) e entradas no nível da organização, do ambiente e do proxy
- Keystores e certificados de alias, exceto chaves privadas
A ferramenta pode gerenciar todos os outros recursos da Apigee. A lista completa
de comandos pode ser acessada usando apigeecli tree
.
Essa ferramenta tem algumas limitações:
- Os keystores exigem que a chave privada seja salva na criação e incluída nos arquivos de backup locais.
- Os tokens OAuth não poderão fazer backup e restauração. Isso significa que as instâncias da Apigee recém-criadas vão exigir que seus clientes façam login novamente.
- Os controles de acesso, como a política da organização e as regras do IAM, não são migrados. Se você quiser migrar essas regras, use a API Google Cloud.
-
As exportações de relatórios não são compatíveis, e as métricas analíticas não são copiadas para a nova organização do
apigee
. -
Esse comando
import
não cria automaticamente instâncias, envGroup, EnvAttachments, anexo de endpoint ou implanta proxies para você. É possível gerenciar esses recursos, mas não diretamente pelo comandoimport
. -
Esse comando
import
não cria sites de portal automaticamente. A criação de sites de portal precisa ser feita manualmente pela interface. - Sugerimos que você invista na restauração de desastres para exclusão de chaves e teste seu processo de restauração periodicamente para garantir que possa alternar o tráfego para organizações Apigee recém-criadas rapidamente.
Pré-requisitos
Antes de começar, verifique se os seguintes pré-requisitos foram atendidos.
-
Apigee CLI instalada: instale o
apigeecli
seguindo as etapas no guia de instalação. -
Autenticação: é necessário ter as permissões e
credenciais de autenticação necessárias para interagir com as organizações do Apigee. Verifique se você
configurou:
-
SDK do Google Cloud (
gcloud
): instalado e autenticado. -
Token de acesso: receba um token de acesso usando
gcloud auth print-access-token
.
-
SDK do Google Cloud (
- Acesso à rede: verifique se a rede permite o acesso às APIs do Apigee.
-
Criar organização: crie uma nova organização
apigee
para migrar. É possível criar diferentes tipos de organizaçõesapigee
. No entanto, use o mesmo tipo de organização (pagamento por uso ou assinatura) e o mesmo tipo de roteamento de rede que você usou com a organização original.
Como exportar uma organização da Apigee
O comando de exemplo abaixo mostra como fazer isso. Consulte apigeecli organizations export para 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
Como importar uma organização da Apigee
O comando de exemplo abaixo mostra como fazer isso. Consulte import apigeecli organizations para saber mais sobre as diferentes flags.
# Sample command # gcloud auth application-default login export ORG_TO=REPLACE apigeecli organizations import -o $ORG_TO -f . --default-token
Etapas após a importação
Criar instâncias e configurar redes
Siga estas etapas para criar uma instância e configurar redes:
- Siga as etapas em Como criar uma nova instância para criar uma nova instância.
- Configurar o tráfego no sentido norte: o sentido norte se refere ao tráfego de APIs de clientes externos ou internos para a Apigee por um balanceador de carga. É necessário configurar corretamente o PSC ou a VPC para que a instância possa ser alcançada. Você vai precisar configurar os nomes de host do grupo de ambiente na nova organização.
- Configurar o tráfego sul: o sentido sul se refere ao tráfego de APIs da Apigee para os serviços de destino do seu proxy de API. Portanto, é necessário reservar e ativar novos endereços IP para seu NAT e reconfigurar firewalls/lista de permissões nos endpoints de destino.
Consulte Opções de rede da Apigee para mais informações.
Fazer backup/restaurar outras configurações
Use uma das seguintes opções para fazer backup/restaurar outras configurações:
-
Para regras do IAM: use
gcloud projects get-iam-policy
egcloud projects set-iam-policy
para copiar sua própria política do IAM, ajustar o projeto e o nome da organizaçãoapigee
e aplicar a novos projetos e organizaçõesapigee
do Google Cloud. - Para outras configurações da Apigee: use a API de gerenciamento da Apigee.
Implantar os proxies
Use uma das seguintes opções para implantar os proxies:
- Usar
apigeecli
- Use o script da comunidade da Apigee como referência.
- Usar a API de gerenciamento da Apigee
Mudar o tráfego
Faça o seguinte para alternar o tráfego:
- Prepare testes de integração automatizados para a nova instância.
- Configure um balanceador de carga para transferir gradualmente o tráfego para a nova instância enquanto monitora a performance.