Criptografia de dados com o Azure Machine Learning

O Azure Machine Learning depende de diversos serviços de armazenamento de dados e recursos de computação do Azure ao treinar modelos e executar a inferência. Neste artigo, saiba mais sobre a criptografia de dados para cada serviço em repouso e em trânsito.

Para criptografia de nível de produção durante o treinamento, recomendamos que você use um cluster de cálculo do Azure Machine Learning. Para a criptografia de nível de produção durante a inferência, recomendamos que você use o AKS (Serviço de Kubernetes do Azure).

Uma instância de computação do Azure Machine Learning é um ambiente de desenvolvimento/teste. Ao usá-la, recomendamos que você armazene seus arquivos, como notebooks e scripts, em um compartilhamento de arquivo. Armazene seus dados em um armazenamento de dados.

Criptografia em repouso

Os projetos de ponta a ponta do Azure Machine Learning se integram a serviços como Armazenamento de Blobs do Azure, Azure Cosmos DB e Banco de Dados SQL do Azure etc. Este artigo descreve os métodos de criptografia desses serviços.

Armazenamento do Blobs do Azure

O Azure Machine Learning armazena instantâneos, a saída e logs na conta do Armazenamento de Blobs do Azure (conta de armazenamento padrão) vinculada ao workspace do Azure Machine Learning e à sua assinatura. Todos os dados armazenados no armazenamento de blobs do Azure são criptografados em repouso com chaves gerenciadas pela Microsoft.

Para obter informações sobre como usar suas próprias chaves para dados armazenados no Armazenamento de Blobs do Azure, consulte Criptografia do Armazenamento do Microsoft Azure com chaves gerenciadas pelo cliente no Azure Key Vault.

Geralmente, os dados de treinamento também são armazenados no Armazenamento de Blobs do Azure para que os treinamento de destinos de computação possam acessá-lo. O Azure Machine Learning não gerencia esse armazenamento. Esse armazenamento é montado para destinos de computação como um sistema de arquivos remoto.

Caso precise girar ou revogar sua chave, você poderá fazer isso a qualquer momento. Quando você gira uma chave, a conta de armazenamento é iniciada por meio de uma nova chave (versão mais recente) para criptografar dados inativos. Ao revogar (desabilitar) uma chave, a conta de armazenamento cuida das solicitações com falha. Geralmente, leva uma hora para que a rotação ou a revogação entrem em vigor.

Para obter informações sobre como regenerar as chaves de acesso, consulte Regenerar chaves de acesso da conta de armazenamento.

Armazenamento do Azure Data Lake

Observação

Em 29 de fevereiro de 2024, o Azure Data Lake Storage Gen1 será desativado. Para saber mais, confira o anúncio oficial. Se você usa o Azure Data Lake Storage Gen1, migre para o Azure Data Lake Storage Gen2 antes da data mencionada. Para saber como, confira Migrar o Azure Data Lake Storage do Gen1 para o Gen2 usando o portal do Azure.

Você só pode criar novas contas do Azure Data Lake Storage Gen1 se já tiver uma existente.

O Azure Data Lake Storage Gen2 é criado sobre o Armazenamento de Blobs do Azure e projetado para análise de Big Data em empresas. O ADLS Gen2 é usado como um armazenamento de dados para o Azure Machine Learning. Assim como no Armazenamento de Blobs do Azure, os dados inativos são criptografados com chaves gerenciadas pela Microsoft.

Para obter informações sobre como usar suas próprias chaves para dados armazenados no Azure Data Lake Storage, consulte Criptografia do Armazenamento do Microsoft Azure com chaves gerenciadas pelo cliente no Azure Key Vault.

Bancos de dados relacionais do Azure

O Serviço do Azure Machine Learning dá suporte a dados das seguintes fontes de dados.

Banco de Dados SQL do Azure

A Transparent Data Encryption ajuda a proteger o Banco de Dados SQL do Azure contra a ameaça de atividade offline mal-intencionada, criptografando os dados inativos. Por padrão, a TDE está habilitada para todos os Bancos de Dados SQL recém-implantados que usam chaves gerenciadas pela Microsoft.

Para obter informações sobre como usar chaves gerenciadas pelo cliente para Transparent Data Encryption, confira Transparent Data Encryption do Banco de Dados SQL do Azure.

Banco de Dados do Azure para PostgreSQL

Por padrão, o Banco de Dados do Azure para PostgreSQL usa a criptografia do Armazenamento do Azure para criptografar dados inativos, usando chaves gerenciadas pela Microsoft. É semelhante à Transparent Data Encryption em outros bancos de dados, como o SQL Server.

Para obter informações sobre como usar chaves gerenciadas pelo cliente para Transparent Data Encryption, confira Criptografia de dados de servidor único do Banco de Dados do Azure para PostgreSQL com uma chave gerenciada pelo cliente.

Banco de Dados do Azure para MySQL

O Banco de Dados do Azure para MySQL é um serviço de banco de dados relacional no Microsoft Cloud. Ele é baseado no mecanismo de banco de dados MySQL Community Edition. O serviço Banco de Dados do Azure para MySQL usa o módulo de criptografia validado por FIPS 140-2 para criptografia de Armazenamento do Microsoft Azure de dados inativos.

Para criptografar dados usando chaves gerenciadas pelo cliente, confira Criptografia de dados do Banco de Dados do Azure para MySQL com uma chave gerenciada pelo cliente.

Azure Cosmos DB

O Azure Machine Learning armazena metadados em uma instância do Azure Cosmos DB. Essa instância é associada a uma assinatura da Microsoft que o Azure Machine Learning gerencia. Todos os dados armazenados no Azure Cosmos DB são criptografados em repouso com chaves gerenciadas pela Microsoft.

Ao usar as próprias chaves (gerenciadas pelo cliente) para criptografar a instância do Azure Cosmos DB, uma instância do Azure Cosmos DB gerenciada pela Microsoft é criada em sua assinatura. Ela é criada em um grupo de recursos gerenciado pela Microsoft, que é diferente do grupo de recursos do workspace. Para obter mais informações, confira Chaves gerenciadas pelo cliente para o Azure Machine Learning.

Registro de Contêiner do Azure

Todas as imagens de contêiner no seu registro de contêiner (uma instância do Registro de Contêiner do Azure) são criptografadas em repouso. O Azure criptografa uma imagem automaticamente antes de armazená-la e a descriptografa quando o Azure Machine Learning efetua o pull da imagem.

Para usar as chaves gerenciadas pelo cliente para criptografar o Registro de Contêiner, você precisa criar e anexar o registro de contêiner enquanto estiver provisionando o workspace. Você pode criptografar a instância padrão que é criada no momento do provisionamento do workspace.

Importante

O Azure Machine Learning requer que você habilite a conta de administrador no registro de contêiner. Por padrão, essa configuração é desabilitada quando você cria um registro de contêiner. Para obter informações sobre como habilitar a conta de administrador, consulte Conta de administrador posteriormente neste artigo.

Depois de criar um registro de contêiner para um workspace, não a exclua. Fazer isso interromperá o workspace do Azure Machine Learning.

Para obter exemplos de como criar um workspace usando um registro de contêiner existente, consulte os seguintes artigos:

Instâncias de Contêiner do Azure

Importante

As implantações para Instâncias de Contêiner do Azure contam com o SDK do Python do Azure Machine Learning e a CLI v1.

Você pode criptografar um recurso de Instâncias de Contêiner do Azure implantadas usando chaves gerenciadas pelo cliente. As chaves gerenciadas pelo cliente que você usa para Instâncias de Contêiner podem ser armazenadas no cofre de chaves do seu workspace.

APLICA-SE A:SDK do Python do Azure MLv1

Para usar a chave ao implantar um modelo nas Instâncias de Contêiner, crie uma nova configuração de implantação usando AciWebservice.deploy_configuration(). Forneça as informações da chave usando os seguintes parâmetros:

  • cmk_vault_base_url: a URL do cofre de chaves que contém a chave.
  • cmk_key_name: O nome da chave.
  • cmk_key_version: a versão da chave.

Para obter mais informações sobre como criar e usar uma configuração de implantação, consulte os seguintes artigos:

Para obter mais informações de como usar uma chave gerenciada pelo cliente com a Instâncias de Contêiner, confira Criptografar dados de implantação.

Serviço de Kubernetes do Azure

Você pode criptografar um recurso do Serviço de Kubernetes do Azure implantada usando chaves gerenciadas pelo cliente. Para obter mais informações, consulte Traga suas próprias chaves com o Serviço de Kubernetes do Azure.

Esse processo permite que você criptografe os dados e o disco do SO das máquinas virtuais implantadas no cluster do Kubernetes.

Importante

Esse processo funciona apenas com o AKS versão 1.17 ou posterior. O Azure Machine Learning agora tem suporte para o AKS 1.17 em 13 de janeiro de 2020.

Computação do Machine Learning

Cluster de computação

O disco do SO para cada nó de computação armazenado no Armazenamento do Microsoft Azure é criptografado com chaves gerenciadas pela Microsoft em contas de armazenamento do Azure Machine Learning. Esse destino de computação é efêmero e, normalmente, os clusters são reduzidos quando não há trabalhos na fila. A máquina virtual subjacente é desprovisionada e o disco do sistema operacional é excluído.

O Azure Disk Encryption não está habilitado para workspaces por padrão. Se você criar o workspace com o parâmetro hbi_workspace definido como TRUE, o disco do SO será criptografado.

Cada máquina virtual também tem um disco temporário local para operações do SO. Caso deseje, você pode usar o disco para preparar os dados de treinamento. Se você criar o workspace com o parâmetro hbi_workspace definido como TRUE, o disco temporário será criptografado. Esse ambiente tem uma curta duração (durante o trabalho), e o suporte da criptografia é limitado apenas a chaves gerenciadas pelo sistema.

Os pontos de extremidade online gerenciados e os pontos de extremidade em lote usam a computação do Azure Machine Learning no back-end e seguem o mesmo mecanismo de criptografia.

Instância de computação

O disco do SO para uma instância de computação é criptografado com chaves gerenciadas pela Microsoft em contas de armazenamento do Azure Machine Learning. Se você criar o workspace com o parâmetro hbi_workspace definido como TRUE, os discos locais de SO e temporários em uma instância de computação serão criptografados com chaves gerenciadas pela Microsoft. Não há suporte para criptografia de chave gerenciada pelo cliente em discos temporários e de SO.

Para obter mais informações, confira Chaves gerenciadas pelo cliente para o Azure Machine Learning.

Fábrica de dados do Azure

O pipeline do Azure Data Factory ingere dados para uso com o Azure Machine Learning. O Azure Data Factory criptografa dados inativos, incluindo definições de entidade e todos os dados armazenados em cache enquanto as execuções estão em andamento. Por padrão, os dados são criptografados com uma chave gerenciada pela Microsoft gerada aleatoriamente, atribuída exclusivamente ao seu data factory.

Para obter informações sobre como usar chaves gerenciadas pelo cliente para criptografia, confira Criptografar o Azure Data Factory com chaves gerenciadas pelo cliente.

Azure Databricks

Você pode usar o Azure Databricks em pipelines do Azure Machine Learning. Por padrão, o DBFS (Sistema de Arquivos do Databricks) que o Azure Databricks usa é criptografado com uma chave gerenciada pela Microsoft. Para configurar o Azure Databricks para usar chaves gerenciadas pelo cliente, consulte Configurar chaves gerenciadas pelo cliente no DBFS padrão (raiz).

Dados gerados pela Microsoft

Ao usar serviços como o Azure Machine Learning, a Microsoft pode gerar dados temporários e pré-processados para treinar vários modelos. Esses dados são armazenados em um datastore em seu workspace, para que você aplique controles de acesso e criptografia adequadamente.

Talvez também seja interessante criptografar informações de diagnóstico registradas do seu ponto de extremidade implantado no Application Insights.

Criptografia em trânsito

O Azure Machine Learning usa o TLS para ajudar a proteger a comunicação interna entre vários microsserviços do Azure Machine Learning. Todo o acesso ao Armazenamento do Microsoft Azure também ocorre em um canal seguro.

O Azure Machine Learning usa o TLS para ajudar a proteger chamadas externas feitas para o ponto de extremidade de pontuação. Para obter mais informações, consulte Usar o TLS para proteger um serviço Web por meio do Azure Machine Learning.

Coleta e tratamento de dados

Para fins de diagnóstico, a Microsoft pode coletar informações que não identificam usuários. Por exemplo, a Microsoft pode coletar nomes de recursos (por exemplo, o nome do conjunto de dados ou o nome do experimento de machine learning) ou variáveis de ambiente de trabalho. Todos esses dados são armazenados por meio de chaves gerenciadas pela Microsoft no armazenamento hospedado em assinaturas de propriedade da Microsoft. O armazenamento segue a política de privacidade padrão da Microsoft e os padrões de tratamento de dados. Esses dados permanecem dentro da mesma região que seu workspace.

Também recomendamos não armazenar informações confidenciais (como segredos de chave de conta) em variáveis de ambiente. A Microsoft registra, criptografa e armazena variáveis de ambiente. De modo semelhante, ao nomear seus trabalhos, evite incluir informações confidenciais, como nomes de usuário ou nomes de projetos secretos. Essas informações podem ser exibidas em logs de telemetria que os engenheiros de suporte da Microsoft podem acessar.

Você pode recusar a coleta de dados de diagnóstico definindo o parâmetro hbi_workspace como TRUE ao provisionar o workspace. Há suporte para essa funcionalidade durante o uso do SDK do Python para o Azure Machine Learning, da CLI do Azure, das APIs REST ou dos modelos do Azure Resource Manager.

Armazenamento de credencial no Azure Key Vault

O Azure Machine Learning usa a instância do Azure Key Vault associada ao workspace para armazenar credenciais de vários tipos:

  • A cadeia de conexão associada da conta de armazenamento
  • Senhas para instâncias do Registro de Contêiner do Azure
  • Cadeias de conexão com armazenamentos de dados

As senhas e chaves SSH (Secure Shell) para computar destinos como o Azure HDInsight e máquinas virtuais são armazenadas em um cofre de chaves separado associado à assinatura da Microsoft. O Azure Machine Learning não armazena nenhuma senha ou chave que os usuários fornecem. Em vez disso, ele gera, autoriza e armazena suas próprias chaves SSH para conectar às máquinas virtuais e ao HDInsight para executar os experimentos.

Cada workspace tem uma identidade gerenciada associada atribuída pelo sistema que tem o mesmo nome do workspace. Essa identidade gerenciada tem acesso a todas as chaves, segredos e certificados presentes no cofre de chaves.

Próximas etapas