Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Kubernetes Service (AKS) armazena dados sensíveis, como os segredos do Kubernetes, no etcd, o armazenamento de chave-valor distribuído usado pelo Kubernetes. Para requisitos de segurança e conformidade reforçados, o AKS suporta a encriptação dos segredos Kubernetes em repouso utilizando o fornecedor Kubernetes Key Management Service (KMS) integrado com o Azure Key Vault.
Este artigo explica os conceitos-chave, modelos de encriptação e opções de gestão de chaves disponíveis para proteger segredos Kubernetes em repouso no AKS.
Compreender a encriptação de dados em repouso
A encriptação de dados em repouso protege os seus dados quando estão armazenados em disco. Sem encriptação em repouso, um atacante que tenha acesso ao armazenamento subjacente poderia potencialmente ler dados sensíveis, como segredos do Kubernetes.
O AKS fornece encriptação para segredos Kubernetes armazenados em etcd:
| Camada | Description |
|---|---|
| Azure platform encryption | O Azure Storage encripta automaticamente todos os dados em repouso usando encriptação AES de 256 bits. Esta encriptação está sempre ativada e transparente para os utilizadores. |
| Encriptação do fornecedor KMS | Uma camada opcional que encripta os segredos do Kubernetes antes de serem escritos no etcd usando chaves armazenadas no Azure Key Vault. |
Para mais informações sobre as capacidades de encriptação em repouso do Azure, consulte encriptação de dados em repouso do Azure e modelos de encriptação do Azure.
Fornecedor KMS para encriptação de dados
O fornecedor Kubernetes KMS é um mecanismo que permite a encriptação dos segredos Kubernetes em repouso usando um sistema externo de gestão de chaves. O AKS integra-se com o Azure Key Vault para fornecer esta capacidade, dando-lhe controlo sobre chaves de encriptação enquanto mantém os benefícios de segurança de um serviço Kubernetes gerido.
Como funciona a encriptação KMS
Quando ativas o KMS para um cluster AKS:
- Criação de segredos: Quando um segredo é criado, o servidor API Kubernetes envia os dados secretos para o plugin do fornecedor KMS.
- Encriptação: O plugin KMS encripta os dados secretos usando uma Chave de Encriptação de Dados (DEK), que por sua vez é encriptada usando uma Chave de Encriptação de Chave (KEK) armazenada no Azure Key Vault.
- Armazenamento: O segredo encriptado é armazenado no etcd.
- Recuperação de segredos: Quando um segredo é lido, o plugin KMS desencripta o DEK usando o KEK do Azure Key Vault e depois usa o DEK para desencriptar os dados secretos.
Esta abordagem de encriptação de envelope oferece benefícios tanto de segurança como de desempenho. O DEK gere operações frequentes de encriptação localmente, enquanto o KEK no Azure Key Vault fornece a segurança de um sistema de gestão de chaves suportado por hardware.
Opções de gestão de chaves
O AKS oferece duas opções de gestão de chaves para encriptação KMS:
Chaves geridas pela plataforma (PMK)
Com chaves geridas pela plataforma, o AKS gere automaticamente as chaves de encriptação por si:
- O AKS cria e gere o Azure Key Vault e as chaves de encriptação.
- A rotação das chaves é gerida automaticamente pela plataforma.
- Não é necessária configuração adicional nem configuração de cofres de chaves.
Quando usar chaves geridas pela plataforma:
- Queres a configuração mais simples com configuração mínima.
- Não existem requisitos regulamentares específicos que obriguem chaves geridas pelo cliente.
- Queres rotação automática das teclas sem intervenção manual.
Chaves gerenciadas pelo cliente (CMK)
Com as chaves geridas pelo cliente, tem controlo total sobre as chaves de encriptação:
- Cria e gere o seu próprio Azure Key Vault e chaves de encriptação.
- Controlas os principais horários e políticas de rotação.
Quando usar chaves geridas pelo cliente:
- Existem requisitos regulamentares ou de conformidade que exigem chaves geridas pelo cliente.
- Precisas de controlar o ciclo de vida das chaves, incluindo os calendários de rotação e as versões-chave.
- Exigem registos de auditoria para todas as operações chave.
Opções de acesso à rede de cofres de chaves
Ao usar chaves geridas pelo cliente, pode configurar o acesso à rede para o seu Azure Key Vault:
| Acesso à rede | Description | Caso de uso |
|---|---|---|
| Public | O Key Vault é acessível pela internet pública com autenticação. | Ambientes de desenvolvimento, configuração mais simples |
| Private | O Key Vault tem o acesso à rede pública desativado. O AKS acede ao cofre de chaves através da exceção de firewall para serviços de confiança. | Ambientes de produção, segurança reforçada |
Comparação das opções de chave de encriptação
| Característica | Chaves gerenciadas pela plataforma | Chaves geridas pelo cliente (Públicas) | Chaves geridas pelo cliente (Privadas) |
|---|---|---|---|
| Propriedade de chaves | A Microsoft gere | Gestores de clientes | Gestores de clientes |
| Rotação de chaves | Automático | Configurável pelo utilizador | Configurável pelo utilizador |
| Criação do Cofre de Chaves | Automático | O cliente cria | O cliente cria |
| Isolamento de rede | N/A | Não | Yes |
Requerimentos
- A nova encriptação KMS com chaves geridas pela plataforma ou chaves geridas pelo cliente com experiência de rotação automática de chaves requer Kubernetes versão 1.33 ou posterior.
- A nova encriptação KMS com chaves geridas pela plataforma ou chaves geridas pelo cliente com experiência de rotação automática de chaves só é suportada em clusters AKS onde a identidade gerida é usada para a identidade do cluster.
Limitações
- Sem downgrade: Depois de ativar a nova experiência de encriptação KMS, não é possível desativar a funcionalidade.
- Eliminação de chaves: Eliminar a chave de encriptação ou o cofre de chaves torna os seus segredos irrecuperáveis.
- Acesso ao ponto final privado: O acesso ao cofre de chaves utilizando ligação/ponto final privado ainda não é suportado. Para cofres de chave privada, use a exceção de firewall de serviços confiáveis.