Introdução à CMEK

Nesta página, descrevemos o uso de CMEK com a Apigee. Para conferir as práticas recomendadas, consulte Práticas recomendadas para CMEK da Apigee.

Informações gerais

Por padrão, o Google Cloud criptografa automaticamente os dados quando estão em repouso usando chaves de criptografia que pertencem e são gerenciadas pelo Google. Se você tiver requisitos regulatórios ou de conformidade específicos relacionados às chaves que protegem seus dados, use chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês).

Leia mais sobre o uso de CMEK para a Apigee em Como usar CMEK com a Apigee. Para mais informações sobre CMEK em geral, como quando e por que ativar, consulte a documentação do Cloud Key Management Service.

O uso de chaves de criptografia gerenciadas pelo cliente (CMEK) não fornece necessariamente mais segurança do que os mecanismos de criptografia padrão do Google. No entanto, ele oferece controle sobre mais aspectos do ciclo de vida e gerenciamento das chaves para atender aos requisitos de segurança e conformidade.

Se você precisar de mais controle sobre as operações de chaves do que o permitido pelas chaves de propriedade do Google e gerenciadas pelo Google, use as chaves de criptografia gerenciadas pelo cliente. Essas chaves são criadas e gerenciadas usando o Cloud Key Management Service (Cloud KMS), e você as armazena como chaves de software em um cluster de HSM ou externamente.

Os recursos de gerenciamento de chaves são fornecidos pelo serviço do Cloud KMS.

Casos de uso da CMEK

Esta seção descreve casos de uso típicos para o uso da CMEK com a Apigee.

Rotação de chaves

Rotacione a chave de forma automática ou manual. Lembre-se que, quando a chave é rotacionada, os dados armazenados anteriormente na Apigee não são automaticamente recriptografados com a nova versão da chave, mas continuam acessíveis enquanto a versão anterior da chave usada para criptografar os dados não seja desativada nem destruída.

O objetivo principal do revezamento de chaves é limitar a exposição de dados a uma única chave, não substituir completamente a versão antiga. No momento, a Apigee não é compatível com a nova criptografia após a rotação de chaves. No caso da Apigee, quando você rotaciona uma chave, apenas um número limitado de novos dados (por exemplo, uma nova revisão de proxy) será criptografado com a nova versão da chave primária. A maioria dos dados, como dados analíticos, disco de ambiente de execução e a revisão antiga do proxy, ainda está usando a versão antiga da chave. Se você quiser se livrar completamente da versão anterior da chave, recrie a organização apigee. Para chaves de criptografia de execução, se você quiser se livrar completamente da versão anterior da chave, será necessário recriar as instâncias de execução. Consulte Práticas recomendadas para a CMEK do Apigee para mais detalhes.

Consulte também: Girar uma chave

Exclusão e desativação de chaves

Quando uma versão da chave for desativada, os dados da Apigee criptografados com ela não ficarão acessíveis. Para restaurar o acesso aos dados, é possível reativar a chave.

Quando você exclui ou desativa a chave CMEK, mesmo que apenas para versões anteriores, a organização apigee começa a apresentar mau funcionamento, dependendo da versão da chave usada para criptografia. Algumas APIs param de funcionar imediatamente, porque elas exigem uma chave CMEK para descriptografar dados. Já outras começam a apresentar problemas apenas quando alguma ação do sistema é acionada, como montar novamente discos permanentes do Compute Engine. Consulte Desativação de chaves para mais informações.

Quando uma versão da chave for destruída, todos os dados da Apigee criptografados com ela ficarão ilegíveis e irrecuperáveis. Essa operação é permanente e irreversível.

Consulte também:

Restauração de chaves

Se você excluir ou desativar acidentalmente uma chave ou uma versão anterior de chave, tente restaurá-las assim que possível. A CMEK é um recurso destinado à perda de dados se a chave não estiver disponível. Depois de restaurar a chave, não há garantia de que a organização apigee será recuperada, e você poderá perder dados. Consulte Como reativar uma chave para mais detalhes. Entre em contato com o Suporte do Google Cloud e saiba qual é a próxima etapa.

Consulte também: Destruir e restaurar versões de chave

Revogar o acesso à chave

Se você revogar o acesso do agente de serviço da Apigee à chave usando o IAM, a Apigee não poderá acessar os dados do plano de controle criptografados por qualquer versão da chave. As operações da API Apigee que dependem da descriptografia dos dados falharão. O acesso aos dados pode ser restaurado ao conceder acesso novamente à chave, e as operações da API Apigee que descriptografam os dados serão restauradas.

Consulte também: Gerenciar o acesso a projetos, pastas e organizações

EKM

No momento, a Apigee não é compatível com o Gerenciador de chaves externas do Cloud (Cloud EKM). Se você usa o Cloud EKM, há um defeito conhecido em que os erros do Cloud EKM não são propagados e mostrados corretamente.

Rastreamento de chaves

A Apigee não é compatível com o rastreamento de chaves. Se você estiver usando a visualização Uso de chaves e perceber que uma determinada versão da chave não está sendo usada, observe que ela não é precisa, já que a Apigee não está integrada aos recursos de rastreamento de chaves.

Cotas

O uso de chaves CMEK pode gerar uso em algumas cotas do Cloud KMS. Para as informações mais recentes sobre as cotas do Cloud KMS, consulte Cotas.

Revogar chave de criptografia

Se você acredita que seus dados na Apigee no Google Cloud estão comprometidos, revogue suas chaves de criptografia. Revogue as CMEKs do ambiente de execução para causar mau funcionamento da instância do ambiente de execução e impossibilidade de acesso aos dados do gateway. Revogue as CMEKs do plano de controle para impedir que a Apigee realize tarefas de análise ou implante novos proxies.

Como usar CMEK com a Apigee

As chaves de criptografia da Apigee são usadas para dados do ambiente de execução e do plano de controle e são criadas durante o processo de provisionamento.

Os dados do plano de controle da Apigee são criptografados com uma chave de criptografia diferente dos dados do ambiente de execução e podem ser armazenados em regiões diferentes. Conforme a documentação das CMEK, essa criptografia se aplica apenas aos dados em repouso, ou seja, aos dados que acabam sendo armazenados no disco.

Os dados do plano de controle da Apigee incluem configurações de proxy (pacotes), alguns dados de configuração do ambiente e dados de análise. Os dados do ambiente de execução da Apigee incluem dados do aplicativo, como KVMs, cache e chaves secretas do cliente, que são armazenados no banco de dados do ambiente de execução.

Consulte Sobre as chaves de criptografia da Apigee para ver descrições dos tipos de chaves de criptografia.

Só é possível adicionar chaves de criptografia no momento da criação da organização da Apigee. Depois que uma CMEK é atribuída, não é possível mudar para outra após a criação da organização.

Regiões de CMEK do plano de controle da residência de dados

No plano de controle regionalizado da Apigee, você seleciona duas chaves de criptografia para seu plano de controle. Isso ocorre porque alguns dos componentes subjacentes ao plano de controle da Apigee estão sempre em uma única região no local do plano de controle. Consulte Regiões de residência de dados para mais informações.

Detalhes Chaves obrigatórias

A região do plano de controle é onde ocorre a execução do plano de controle. O plano de controle na Apigee é um conceito abstrato em que vários componentes subjacentes formam o plano de controle da Apigee. Os dados do plano de controle são a configuração de proxy e o armazenamento de análises.

Outros dados do plano de controle (por exemplo, processamento de análises e portais) ficam em uma sub-região do plano de controle.

Todos os componentes da sub-região estarão na mesma região.

Uma chave para os dados do plano de controle.

Uma chave para os dados da sub-região do plano de controle.

Restrições da política da organização

Se você tiver restrições de política da organização da CMEK no seu projeto do Google Cloud, a Apigee vai aplicar a conformidade com essas restrições. Se você estiver usando a Apigee pela interface do Google Cloud, pela CLI ou diretamente pelas APIs da Apigee, a aplicação das políticas da CMEK será garantida. Ao usar a interface da Apigee do Google Cloud, as restrições da política da organização da CMEK são pré-validadas para que a interface possa orientar você a escolher uma configuração válida de compliance.

As restrições da política da organização da CMEK podem ser criadas para exigir que:

No momento, nem todos os recursos da Apigee são compatíveis com a CMEK. Para garantir que os projetos que exigem CMEK não usem acidentalmente recursos que não são protegidos pela CMEK, esses recursos serão desativados para projetos restritos a CMEK até que eles estejam em conformidade. Somente os novos usos dos recursos serão desativados (criação de novos recursos ou ativação de um complemento). Os recursos que já estão em uso vão continuar disponíveis e editáveis, mas não serão compatíveis com o CMEK. Os seguintes recursos serão desativados:

  • A interface clássica da Apigee não estará disponível para organizações recém-criadas que exigem CMEK, porque elas são organizações regionais que não são compatíveis com a interface clássica. As organizações atuais ainda poderão usar a interface clássica. A pré-validação da CMEK não será implementada na interface clássica e dependerá do erro da API. Isso significa que as organizações atuais que exigem CMEK não terão uma UX guiada para configurar a CMEK ou para desativar recursos que não são compatíveis com a CMEK.
  • A descoberta de APIs Shadow da Apigee não está sujeita à política da organização CMEK e não é compatível com CMEK.

  • A criação de organizações de avaliação será bloqueada pela API de organização de avaliação CreateOrganization e pelo assistente de provisionamento de avaliação.
  • O Gemini Code Assist não está disponível.

  • A criação de organizações globais será bloqueada pela API de organização de avaliação CreateOrganization e pelo assistente de provisionamento de avaliação.
  • A criação de instâncias híbridas não está disponível para aplicação.
  • O botão Looker Studio para abrir o Looker Studio com dados da Apigee será desativado quando a CMEK for necessária.
  • A criação de portais será bloqueada pela API CreateSite. Como a interface do portal está apenas na Apigee Classic (não no console do Google Cloud) e a pré-validação não será implementada na interface da Apigee Classic, esse bloco vai depender do erro da API. O botão Criar do portal na interface da Apigee Classic não será desativado.
  • A aplicação retroativa da conformidade para recursos atuais não está disponível. Você vai precisar excluir e recriar recursos se precisar que um recurso existente esteja em conformidade.

Consulte Como usar restrições de política da organização na Apigee para mais informações sobre como usar restrições de política da organização com a Apigee.

Como criar chaves de criptografia

Por padrão, o Google gerencia a criação de chaves de criptografia durante o processo de provisionamento. Porém, você também pode criá-las. Para mais informações, consulte Sobre as chaves de criptografia da Apigee.

Riscos e mitigação

Nesta seção, descrevemos possíveis ameaças e ações que podem ser realizadas.

  • Riscos:
    • Comprometimento da chave: ocorre quando um invasor consegue acesso à chave de criptografia, possivelmente por vulnerabilidades no KMS ou ataques contra administradores de chaves.
    • Negação de serviço: um invasor pode interromper o acesso a dados ou chaves de criptografia atacando o KMS ou o sistema de armazenamento.
    • Perda da chave: a exclusão ou a perda acidental da chave pode levar à perda ou inacessibilidade dos dados.
  • Mitigações:
    • Implemente políticas robustas de controle de acesso e gerenciamento de chaves.
    • Monitore os registros e as atividades do KMS em busca de comportamento suspeito.

Solução de problemas

A tabela a seguir descreve algumas condições de erros comuns que podem surgir com os dados do configstore criptografados por CMEK, a mensagem de erro aproximada retornada pela API Apigee e as etapas recomendadas para solução de problemas.

Mensagem de erro/sintoma Causa Etapas necessárias
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. Você tentou provisionar uma organização de teste em que há uma restrição de política da organização para o projeto. A CMEK não é compatível com organizações de teste/avaliação. Você vai precisar atualizar a restrição da política da organização constraints/gcp.restrictNonCmekServices para remover a Apigee da lista de serviços negados e provisionar uma organização de teste.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. Você tentou provisionar uma organização em que há uma restrição de política da organização para o projeto e especificou uma chave criptográfica do KMS que não está na lista de permissões. Você definiu constraints/gcp.restrictCmekCryptoKeyProjects nas políticas da organização, que exigem que você forneça uma chave CMEK dos projetos permitidos listados por você. Você precisa fornecer a CMEK de um projeto permitido para criar uma organização ou instâncias. Como alternativa, atualize a restrição de política da organização constraints/gcp.restrictCmekCryptoKeyProjects para permitir chaves do projeto específico do Google Cloud que você quer.
Apigee does not have permission to access key "..." Um usuário revogou o acesso da Apigee à chave KMS fornecida, ou seja, removendo o papel roles/cloudkms.cryptoKeyEncrypterDecrypter. O usuário precisa verificar os papéis configurados na chave do KMS e garantir que o agente de serviço da Apigee tenha as permissões necessárias.
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not enabled, current state is: DESTROYED. Um usuário desativou ou excluiu a versão da chave usada para criptografar/descriptografar os dados solicitados. O usuário precisa reativar a versão da chave, se possível. Se a chave ou a versão da chave tiver sido destruída, os dados serão irrecuperáveis (por padrão).
No new Analytics data for US/EU users Uma das possíveis causas desse problema pode ser que um usuário revogou/desativou/excluiu a chave de região única. O usuário precisa reativar/restaurar o acesso à chave de região única.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". Um usuário forneceu uma chave do plano de controle de região única em uma região que não é válida ou compatível com a região ou multirregião atendida pela instância do plano de controle. O usuário precisa fornecer uma chave em uma das regiões compatíveis ou usar outra instância do plano de controle.
Multi-region control plane key is not valid for this control plane instance. Specify only the "apiConsumerDataEncryptionKeyName" field. Um usuário forneceu uma chave do plano de controle multirregional em um plano de controle que existe somente em uma única região (ou seja, não é um plano de controle multirregional). Um usuário precisa omitir o campo de chave multirregional ou decidir usar uma instância do plano de controle multirregional.
Multi-region control plane key is not valid for this control plane instance. Specify a multi-region key with region "..." Um usuário forneceu uma chave do plano de controle multirregional para a instância errada do plano de controle multirregional (por exemplo, uma chave "us" para a instância do plano de controle "eu") Um usuário precisa usar uma chave multirregional na multirregião correta ou decidir usar outra instância do plano de controle multirregional.