Criptografia de dados com o Azure Machine Learning
O Azure Machine Learning depende de vários serviços de armazenamento de dados e recursos de computação do Azure quando você treina modelos e executa inferências. 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 computação do Azure Machine Learning. Para criptografia de nível de produção durante a inferência, recomendamos que você use o Serviço Kubernetes do Azure (AKS).
Uma instância de computação do Azure Machine Learning é um ambiente de desenvolvimento/teste. Ao usá-lo, recomendamos que você armazene seus arquivos, como blocos de anotações e scripts, em um compartilhamento de arquivos. Armazene seus dados em um armazenamento de dados.
Encriptação inativa
Os projetos de ponta a ponta do Azure Machine Learning integram-se a serviços como o Armazenamento de Blobs do Azure, o Azure Cosmos DB e o Banco de Dados SQL do Azure. Este artigo descreve métodos de criptografia para esses serviços.
Armazenamento de Blobs do Azure
O Azure Machine Learning armazena instantâneos, saída e logs na conta de Armazenamento de Blobs do Azure (conta de armazenamento padrão) vinculada ao espaço de trabalho 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 Azure com chaves gerenciadas pelo cliente no Cofre de Chaves do Azure.
Normalmente, os dados de treinamento também são armazenados no Armazenamento de Blobs do Azure para que os destinos de computação de treinamento possam acessá-los. O Azure Machine Learning não gerencia esse armazenamento. Esse armazenamento é montado para computar destinos como um sistema de arquivos remoto.
Se precisar de rodar ou revogar a sua chave, pode fazê-lo a qualquer momento. Quando você gira uma chave, a conta de armazenamento começa a usar a nova chave (versão mais recente) para criptografar dados em repouso. Quando você revoga (desabilita) uma chave, a conta de armazenamento cuida de solicitações com falha. Geralmente, leva uma hora para que a rotação ou revogação seja efetiva.
Para obter informações sobre como regenerar as chaves de acesso, consulte Regenerar chaves de acesso da conta de armazenamento.
Azure Data Lake Storage
Nota
Em 29 de fevereiro de 2024, o Azure Data Lake Storage Gen1 será desativado. Para obter mais informações, veja o anúncio oficial. Se você usar o Azure Data Lake Storage Gen1, certifique-se de migrar para o Azure Data Lake Storage Gen2 antes dessa data. Para saber como, consulte Migrar o Armazenamento do Azure Data Lake de Gen1 para Gen2 usando o portal do Azure.
A menos que você já tenha uma conta do Azure Data Lake Storage Gen1, não poderá criar novas.
O Azure Data Lake Storage Gen2 foi criado sobre o Armazenamento de Blobs do Azure e foi projetado para análise de big data em empresas. O Data Lake Storage Gen2 é usado como um armazenamento de dados para o Azure Machine Learning. Como o Armazenamento de Blobs do Azure, os dados em repouso são criptografados com chaves gerenciadas pela Microsoft.
Para obter informações sobre como usar suas próprias chaves para dados armazenados no Armazenamento do Azure Data Lake, consulte Criptografia do Armazenamento do Azure com chaves gerenciadas pelo cliente no Cofre de Chaves do Azure.
Bancos de dados relacionais do Azure
O serviço Azure Machine Learning dá suporte a dados das seguintes fontes de dados.
Base de Dados SQL do Azure
A criptografia de dados transparente ajuda a proteger o Banco de Dados SQL do Azure contra a ameaça de atividades offline mal-intencionadas criptografando dados em repouso. Por padrão, a criptografia de dados transparente é 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 criptografia de dados transparente, consulte Criptografia de dados transparente do Banco de Dados SQL do Azure.
Base 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 em repouso usando chaves gerenciadas pela Microsoft. É semelhante à criptografia de dados transparente em outros bancos de dados, como o SQL Server.
Para obter informações sobre como usar chaves gerenciadas pelo cliente para criptografia de dados transparente, consulte Banco de Dados do Azure para criptografia de dados do Servidor Único PostgreSQL com uma chave gerenciada pelo cliente.
Base 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. É baseado no mecanismo de banco de dados MySQL Community Edition. O serviço Banco de Dados do Azure para MySQL usa o módulo criptográfico validado FIPS 140-2 para criptografia de dados em repouso do Armazenamento do Azure.
Para criptografar dados usando chaves gerenciadas pelo cliente, consulte Banco de Dados do Azure para criptografia de dados MySQL com uma chave gerenciada pelo cliente.
Azure Cosmos DB
O Azure Machine Learning armazena metadados em uma instância do Azure Cosmos DB. Esta instância está associada a uma subscrição da Microsoft que o Azure Machine Learning gere. Todos os dados armazenados no Azure Cosmos DB são criptografados em repouso com chaves gerenciadas pela Microsoft.
Quando você estiver usando suas 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. Essa instância é criada em um grupo de recursos gerenciado pela Microsoft, que é diferente do grupo de recursos do seu espaço de trabalho. Para obter mais informações, consulte Chaves gerenciadas pelo cliente para o Azure Machine Learning.
Registo de Contentores do Azure
Todas as imagens de contêiner em seu registro de contêiner (uma instância do Registro de Contêiner do Azure) são criptografadas em repouso. O Azure criptografa automaticamente uma imagem antes de armazená-la e a descriptografa quando o Aprendizado de Máquina do Azure extrai a imagem.
Para usar chaves gerenciadas pelo cliente para criptografar seu registro de contêiner, você precisa criar e anexar o registro de contêiner enquanto provisiona o espaço de trabalho. Você pode criptografar a instância padrão criada no momento do provisionamento do espaço de trabalho.
Importante
O Azure Machine Learning exige que você habilite a conta de administrador em seu 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 ativar a conta de administrador, consulte Conta de administrador mais adiante neste artigo.
Depois de criar um registro de contêiner para um espaço de trabalho, não o exclua. Isso interromperá seu espaço de trabalho do Azure Machine Learning.
Para obter exemplos de criação de um espaço de trabalho usando um registro de contêiner existente, consulte os seguintes artigos:
- Criar um espaço de trabalho para o Azure Machine Learning usando a CLI do Azure
- Criar um espaço de trabalho com o Python SDK
- Utilizar um modelo do Azure Resource Manager para criar uma área de trabalho para o Azure Machine Learning
Azure Container Instances
Importante
As implantações em Instâncias de Contêiner do Azure dependem do SDK Python do Azure Machine Learning e da CLI v1.
Você pode criptografar um recurso de Instâncias de Contêiner do Azure implantado 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 espaço de trabalho.
APLICA-SE A: Python SDK azureml v1
Para usar a chave quando estiver implantando um modelo em Instâncias de Contêiner, crie uma nova configuração de implantação usando AciWebservice.deploy_configuration()
o . Forneça as principais informações usando os seguintes parâmetros:
cmk_vault_base_url
: O 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 sobre como usar uma chave gerenciada pelo cliente com instâncias de contêiner, consulte Criptografar dados de implantação.
Azure Kubernetes Service
Você pode criptografar um recurso implantado do Serviço Kubernetes do Azure usando chaves gerenciadas pelo cliente a qualquer momento. Para obter mais informações, consulte Traga suas próprias chaves com o Serviço Kubernetes do Azure.
Esse processo permite criptografar os dados e o disco do sistema operacional das máquinas virtuais implantadas no cluster Kubernetes.
Importante
Este processo funciona apenas com o AKS versão 1.17 ou posterior. O Azure Machine Learning adicionou suporte para AKS 1.17 em 13 de janeiro de 2020.
Computação de Machine Learning
Cluster de cálculo
O disco do SO para cada nó de computação armazenado no Armazenamento do Azure é encriptado com chaves geridas pela Microsoft nas contas de armazenamento do Azure Machine Learning. Esse destino de computação é efêmero e os clusters normalmente são reduzidos quando nenhum trabalho é enfileirado. A máquina virtual subjacente é desprovisionada e o disco do sistema operacional é excluído.
O Azure Disk Encryption não está habilitado para espaços de trabalho por padrão. Se você criar o espaço de trabalho com o hbi_workspace
parâmetro definido como TRUE
, o disco do sistema operacional será criptografado.
Cada máquina virtual também tem um disco temporário local para operações do sistema operacional. Se desejar, você pode usar o disco para preparar dados de treinamento. Se você criar o espaço de trabalho com o hbi_workspace
parâmetro definido como TRUE
, o disco temporário será criptografado. Este ambiente é de curta duração (apenas durante o seu trabalho) e o suporte de encriptação está limitado apenas a chaves geridas 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 é encriptado com chaves geridas pela Microsoft nas contas de armazenamento do Azure Machine Learning. Se criar o espaço de trabalho com o parâmetro hbi_workspace
definido para TRUE
, o sistema operativo local e os discos temporários numa instância de computação são encriptados com chaves geridas pela Microsoft. A criptografia de chave gerenciada pelo cliente não é suportada para SO e discos temporários.
Para obter mais informações, consulte Chaves gerenciadas pelo cliente para o Azure Machine Learning.
Azure Data Factory
O pipeline do Azure Data Factory ingere dados para uso com o Azure Machine Learning. O Azure Data Factory criptografa dados em repouso, incluindo definições de entidade e quaisquer 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 que é atribuída exclusivamente ao seu data factory.
Para obter informações sobre como usar chaves gerenciadas pelo cliente para criptografia, consulte Criptografar o Azure Data Factory com chaves gerenciadas pelo cliente.
Azure Databricks
Você pode usar o Azure Databricks nos pipelines do Azure Machine Learning. Por padrão, o Sistema de Arquivos Databricks (DBFS) que o Azure Databricks usa é criptografado por meio de 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
Quando você usa serviços como o Azure Machine Learning, a Microsoft pode gerar dados transitórios e pré-processados para treinar vários modelos. Esses dados são armazenados em um armazenamento de dados em seu espaço de trabalho, para que você possa impor controles de acesso e criptografia adequadamente.
Você também pode querer criptografar informações de diagnóstico registradas do ponto de extremidade implantado no Application Insights.
Encriptação em trânsito
O Azure Machine Learning usa o Transport Layer Security (TLS) para ajudar a proteger a comunicação interna entre vários microsserviços do Azure Machine Learning. Todo o acesso ao Armazenamento do Azure também ocorre através de um canal seguro.
Para ajudar a proteger chamadas externas feitas para o ponto de extremidade de pontuação, o Aprendizado de Máquina do Azure usa TLS. Para obter mais informações, veja Utilizar o TLS para proteger um serviço Web através do Azure Machine Learning.
Recolha e tratamento de dados
Para fins de diagnóstico, a Microsoft pode coletar informações que não identificam os 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 aprendizado de máquina) ou variáveis de ambiente de trabalho. Todos esses dados são armazenados por meio de chaves gerenciadas pela Microsoft em 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 na mesma região do seu espaço de trabalho.
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. Da mesma forma, ao nomear seus trabalhos, evite incluir informações confidenciais, como nomes de usuários ou nomes de projetos secretos. Essas informações podem aparecer em logs de telemetria que os engenheiros de suporte da Microsoft podem acessar.
Você pode desativar a coleta de dados de diagnóstico definindo o hbi_workspace
parâmetro como TRUE
ao provisionar o espaço de trabalho. Essa funcionalidade é suportada quando você usa o SDK Python do Azure Machine Learning, a CLI do Azure, APIs REST ou modelos do Azure Resource Manager.
Armazenamento de credenciais no Azure Key Vault
O Azure Machine Learning usa a instância do Azure Key Vault associada ao espaço de trabalho para armazenar credenciais de vários tipos:
- A cadeia de conexão associada para a conta de armazenamento
- Senhas para instâncias do Registro de Contêiner do Azure
- Cadeias de conexão para armazenamentos de dados
As senhas e chaves do Secure Shell (SSH) 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 palavras-passe ou chaves fornecidas pelos utilizadores. Em vez disso, ele gera, autoriza e armazena suas próprias chaves SSH para se conectar a máquinas virtuais e o HDInsight para executar os experimentos.
Cada espaço de trabalho tem uma identidade gerenciada atribuída ao sistema associada que tem o mesmo nome do espaço de trabalho. Essa identidade gerenciada tem acesso a todas as chaves, segredos e certificados no cofre de chaves.