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 (ACI) 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.
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 AMD com capacidade 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. Os clientes criaram políticas de execução por meio de ferramentas fornecidas, e as provas criptográficas verificam as políticas.
Atestado de convidado remoto
Os contêineres confidenciais na ACI oferecem 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 o hardware assina e que inclui informações sobre o hardware e o software. O serviço de atestado do Microsoft Azure pode, então,verificar esse atestado de hardware gerado por meio de um aplicativo sidecar de código aberto ou por outro serviço de atestado antes que qualquer dado confidencial seja liberado 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 podem ser executados no grupo de contêineres, que sã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 informações sobre a criação de políticas de execução de computação confidencial, consulte a 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 se integra 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 é liberada para o contêiner sidecar somente se a autoridade esperada tiver assinado o token de atestado e as reivindicações de atestado corresponderem à política de liberação da chave. O contêiner sidecar usa a chave de forma transparente para montar o sistema de arquivos criptografado remoto; esse processo preserva a confidencialidade e a integridade do sistema de arquivos em qualquer operação de um contêiner que esteja sendo executado dentro do 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
As transações comerciais e as colaborações em projetos 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. Esses recursos permitem que as organizações obtenham mais valor de seus conjuntos de dados de seus parceiros e, ao mesmo tempo, mantenham o controle sobre o acesso às suas informações confidenciais. Essa oferta torna os contêineres confidenciais nas Instâncias de Contêiner do Azure ideais para cenários de análise de dados de várias partes, como aprendizado de máquina confidencial.
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.
Cenários sem suporte
- A extensão confcom da CLI do Azure deve gerar as políticas de imposição de computação confidencial.
- As políticas de imposição de computação confidencial não podem ser criadas manualmente.
Recursos
- Extensão confcom da CLI do Azure
- Contêineres de sidecar confidenciais
- Aplicativo Olá, Mundo confidencial
- Demonstração de Inferência de aprendizado de máquina
Próximas etapas
- Para obter um exemplo de implantação, consulte Implantar um grupo de contêineres confidencial com o Azure Resource Manager