Nesta página, descrevemos o uso de CMEK com a Apigee.
Visão geral
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.
Benefícios de CMEK
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. Os casos de uso comuns incluem:
- Rotação da chave. 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.
- Ativação ou desativação de uma versão da chave. 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.
- Destruição de uma versão da chave. 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.
-
Revogação do acesso do agente de serviço da Apigee à chave usando o IAM. Se isso for feito, a Apigee não conseguirá 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.
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. |
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 |
---|---|---|
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. |