Contêineres confidenciais nas Instâncias de Contêiner do Azure

Este artigo apresenta como os contêineres confidenciais nas Instâncias de Contêiner do Azure podem permitir que você proteja suas cargas de trabalho em execução na nuvem. Este artigo fornece informações sobre conjunto, cenários, limitações e recursos da funcionalidade.

Contêineres confidenciais nas Instâncias de Contêiner do Azure permitem que os clientes executem contêineres do Linux em um TEE (Ambiente de Execução Confiável) baseado em hardware e atestado. Os clientes podem fazer lift-and-shift de seus aplicativos Linux em contêineres ou criar novos aplicativos de computação confidencial sem a necessidade de adotar modelos de programação especializados para obter os benefícios da confidencialidade em um TEE. Os contêineres confidenciais nas Instâncias de Contêiner do Azure protegem os dados em uso e criptografam os dados que estão sendo usados na memória. As Instâncias de Contêiner do Azure estendem essa capacidade por meio de políticas de execução verificáveis e raiz de hardware verificável de garantias de confiança por meio do atestado de convidado.

Captura de tela de um grupo de contêineres confidencial nas Instâncias de Contêiner do Azure.

Funcionalidades dos contêineres confidenciais nas Instâncias de Contêiner do Azure

Lift-and-shift de aplicativos

Os clientes podem fazer lift-and-shift de seus aplicativos Linux em contêineres ou criar novos aplicativos de computação confidencial sem a necessidade de adotar modelos de programação especializados para obter os benefícios da confidencialidade em um TEE.

Ambiente de execução confiável baseado em hardware

Os contêineres confidenciais nas Instâncias de Contêiner do Azure são implantados em um grupo de contêineres com um TEE isolado do Hyper-V, que inclui uma chave de criptografia de memória gerada e gerenciada por um processador compatível com AMD SEV-SNP. Os dados em uso na memória são criptografados com essa chave para ajudar a fornecer proteção contra ataques baseados em reprodução de dados, corrupção, remapeamento e aliasing.

Políticas de execução verificáveis

Os contêineres confidenciais nas Instâncias de Contêiner do Azure podem ser executados com políticas de execução verificáveis que permitem que os clientes tenham controle sobre quais softwares e ações podem ser executados no TEE. Essas políticas de execução ajudam a proteger contra atores inválidos que criam modificações inesperadas do aplicativo que poderiam potencialmente vazar dados confidenciais. As políticas de execução são criadas pelo cliente por meio de ferramentas fornecidas e são verificadas por meio de prova criptográfica.

Atestado de convidado remoto

Os contêineres confidenciais na ACI fornecem suporte para atestado de convidado remoto que é usado para verificar a confiabilidade do grupo de contêineres antes de criar um canal seguro com uma terceira parte confiável. Os grupos de contêineres podem gerar um relatório de atestado de hardware SNP, que é assinado pelo hardware e inclui informações sobre o hardware e o software. Esse relatório de atestado de hardware gerado pode ser verificado pelo serviço Atestado do Azure da Microsoft por meio de um aplicativo sidecar de software livre ou por outro serviço de atestado antes que quaisquer dados confidenciais sejam liberados para o TEE.

Políticas de imposição de computação confidencial

Os contêineres confidenciais dão suporte à integridade e ao atestado no nível do contêiner por meio de políticas de CCE (imposição de computação confidencial). As políticas de imposição de computação confidencial prescrevem os componentes que têm permissão para serem executados dentro do grupo de contêineres e serão impostas pelo runtime do contêiner.

Extensão confcom da CLI do Azure

A extensão de configuração da CLI do Azure permite que os clientes gerem políticas de imposição de computação confidencial usando um modelo do ARM como entrada e fornecendo uma política de cadeia de caracteres de base 64 como saída. Essa saída está incluída na definição do grupo de contêineres para impor quais componentes têm permissão para serem executados. Para obter mais detalhes sobre como criar políticas de execução de computação confidencial, consulte Extensão confcom da CLI do Azure.

Liberação de chave segura e sidecars do sistema de arquivos criptografados

Os contêineres confidenciais nas Instâncias de Contêiner do Azure integram-se a dois sidecars de código aberto para dar suporte à funcionalidade confidencial dentro do grupo de contêineres. Você pode encontrar esses sidecars e mais informações no repositório de sidecar confidencial.

Sidecar de liberação de chave segura

Os contêineres confidenciais nas Instâncias de Contêiner do Azure fornecem um contêiner de código aberto sidecar para atestado e liberação de chave segura. Esse sidecar cria uma instância de um servidor Web, que expõe uma API REST para que outros contêineres possam recuperar um relatório de atestado de hardware ou um token do Atestado do Azure da Microsoft por meio do método POST. O sidecar integra-se ao Azure Key Vault para liberar uma chave para o grupo de contêineres após a conclusão da validação.

Sidecar do sistema de arquivos criptografado

Os contêineres confidenciais nas Instâncias de Contêiner do Azure fornecem um contêiner sidecar para montar um sistema de arquivos criptografado remoto carregado anteriormente para Armazenamento de Blobs do Azure. O contêiner sidecar recupera de forma transparente o atestado de hardware e a cadeia de certificados endossando a chave de assinatura do atestado. Em seguida, ele solicita que o Atestado do Azure da Microsoft autorize um token de atestado, que é necessário para liberar com segurança a chave de criptografia do sistema de arquivos do HSM gerenciado. A chave será liberada para o contêiner sidecar somente se o token de atestado for assinado pela autoridade esperada e as declarações de atestado corresponderem à política de liberação da chave. O contêiner sidecar usa de forma transparente a chave para montar o sistema de arquivos criptografado remoto; esse processo preservará a confidencialidade e a integridade do sistema de arquivos em qualquer operação de um contêiner em execução no grupo de contêineres.

Cenários

Salas de limpeza de dados para análise de dados por várias partes e treinamento de aprendizado de máquina

Transações comerciais e colaborações de projeto geralmente exigem o compartilhamento de dados confidenciais entre várias partes. Esses dados podem incluir informações pessoais, informações financeiras e registros médicos que precisam ser protegidos contra acesso não autorizado. Os contêineres confidenciais nas Instâncias de Contêiner do Azure fornecem os recursos necessários (TEEs baseados em hardware, atestado remoto) para que os clientes processem dados de treinamento de várias fontes sem expor dados de entrada a outras partes. Isso permite que as organizações obtenham mais valor dos conjuntos de dados de seus parceiros, mantendo o controle sobre o acesso às informações confidenciais. Isso torna os contêineres confidenciais nas Instâncias de Contêiner do Azure ideais para cenários de análise de dados por várias partes, como aprendizado de máquina confidencial.

Captura de tela de um modelo de treinamento de ML nas Instâncias de Contêiner do Azure.

Inferência confidencial

A ACI fornece implantações rápidas e fáceis, alocação de recursos flexíveis e preços de pagamento por uso, o que a posiciona como uma ótima plataforma para cargas de trabalho de inferência confidencial. Com contêineres confidenciais nas Instâncias de Contêiner do Azure, desenvolvedores de modelos e proprietários de dados podem colaborar enquanto protegem a propriedade intelectual do desenvolvedor do modelo e mantêm os dados usados para inferência seguros e privados. Confira uma amostra de implantação de inferência confidencial usando contêineres confidenciais nas Instâncias de Contêiner do Azure.

Captura de tela de um modelo de inferência de ML nas Instâncias de Contêiner do Azure.

Cenários sem suporte

  • As políticas de imposição de computação confidencial devem ser geradas pela extensão confcom da CLI do Azure e não podem ser criadas manualmente.

Recursos

Próximas etapas