Contêineres confidenciais (visualização) no Serviço Kubernetes do Azure
Com o crescimento do desenvolvimento de aplicativos nativos da nuvem, há uma necessidade maior de proteger também as cargas de trabalho executadas em ambientes de nuvem. A conteinerização da carga de trabalho forma um componente-chave para esse modelo de programação e, em seguida, proteger o contêiner é fundamental para executar confidencialmente na nuvem.
Os Contêineres Confidenciais no Serviço Kubernetes do Azure (AKS) habilitam o isolamento no nível de contêiner em suas cargas de trabalho do Kubernetes. É uma adição ao conjunto Azure de produtos de computação confidenciais e usa a criptografia de memória AMD SEV-SNP para proteger seus contêineres em tempo de execução.
Os contêineres confidenciais são atraentes para cenários de implantação que envolvem dados confidenciais (por exemplo, dados pessoais ou quaisquer dados com forte segurança necessários para conformidade regulamentar).
O que torna um contentor confidencial?
Em alinhamento com as diretrizes estabelecidas pelo Confidential Computing Consortium, do qual a Microsoft é membro fundador, a Confidential Containers precisa cumprir o seguinte:
- Transparência: o ambiente de contêiner confidencial onde seu aplicativo confidencial é compartilhado, você pode ver e verificar se é seguro. Todos os componentes da Trusted Computing Base (TCB) devem ser de código aberto.
- Auditabilidade: Você tem a capacidade de verificar e ver qual versão do pacote de ambiente CoCo, incluindo Linux Guest OS e todos os componentes, são atuais. A Microsoft assina no SO convidado e no ambiente de tempo de execução do contêiner para verificações por meio de atestado. Ele também lança um algoritmo de hash seguro (SHA) de compilações do SO convidado para construir uma audibilidade de cadeia de caracteres e história de controle.
- Atestado completo: Tudo o que faz parte do ETE deve ser totalmente medido pela CPU com capacidade de verificação remota. O relatório de hardware do processador AMD SEV-SNP deve refletir as camadas de contêiner e o hash de configuração de tempo de execução do contêiner por meio das declarações de atestado. O aplicativo pode buscar o relatório de hardware localmente, incluindo o relatório que reflete a imagem do SO convidado e o tempo de execução do contêiner.
- Integridade do código: a imposição do tempo de execução está sempre disponível por meio de políticas definidas pelo cliente para contêineres e configuração de contêineres, como políticas imutáveis e assinatura de contêineres.
- Isolamento do operador: designs de segurança que assumem o menor privilégio e a maior proteção de isolamento de todas as partes não confiáveis, incluindo administradores de clientes/locatários. Ele inclui o fortalecimento do acesso existente ao plano de controle do Kubernetes (kubelet) para pods confidenciais.
Mas com esses recursos de confidencialidade, o produto também deve ser fácil de usar: ele suporta todos os contêineres Linux não modificados com alta conformidade de recursos do Kubernetes. Além disso, ele suporta pools de nós heterogêneos (GPU, nós de uso geral) em um único cluster para otimizar o custo.
O que forma Contentores Confidenciais no AKS?
Alinhando-se com o compromisso da Microsoft com a comunidade de código aberto, a pilha subjacente para Contêineres Confidenciais usa o agente Kata CoCo como o agente em execução no nó que hospeda o pod executando a carga de trabalho confidencial. Com muitas tecnologias TEE exigindo um limite entre o anfitrião e o convidado, os Kata Containers são a base para o trabalho inicial do Kata CoCo. A Microsoft também contribuiu de volta para a comunidade Kata Coco para alimentar contêineres executados dentro de uma VM de utilitário confidencial.
O contêiner confidencial do Kata reside no Host de Contêiner AKS do Linux do Azure. O Azure Linux e o Cloud Hypervisor VMM (Virtual Machine Monitor) é o software de espaço do usuário final voltado para o usuário final que é usado para criar e gerenciar o tempo de vida das máquinas virtuais.
Isolamento ao nível do contentor no AKS
Por padrão, todas as cargas de trabalho do AKS compartilham o mesmo kernel e o mesmo administrador de cluster. Com a visualização do Pod Sandboxing no AKS, o isolamento cresceu um degrau maior com a capacidade de fornecer isolamento do kernel para cargas de trabalho no mesmo nó AKS. Você pode ler mais sobre o recurso aqui. Os contêineres confidenciais são a próxima etapa desse isolamento e usam os recursos de criptografia de memória dos tamanhos de máquina virtual AMD SEV-SNP subjacentes. Essas máquinas virtuais são os tamanhos DCa_cc e ECa_cc com a capacidade de revelar a raiz de confiança do hardware para os pods implantados nele.
Começar agora
Para começar e saber mais sobre os cenários suportados, consulte a nossa documentação do AKS aqui.