Usar chaves gerenciadas pelo cliente com o Azure Machine Learning

No artigo de conceitos de chaves gerenciadas pelo cliente, você aprendeu sobre os recursos de criptografia do Azure Machine Learning. Agora você aprenderá a usar chaves gerenciadas pelo cliente com o Azure Machine Learning.

O Azure Machine Learning depende dos seguintes serviços que usam chaves gerenciadas pelo cliente:

Serviço Para que é usado
Azure Cosmos DB Armazena metadados para o Azure Machine Learning
Pesquisa de IA do Azure. Armazena metadados de workspace para o Azure Machine Learning
Armazenamento do Azure Armazena metadados de workspace para o Azure Machine Learning
Serviço de Kubernetes do Azure Hospeda modelos treinados como pontos de extremidade de inferência

Você usa a mesma chave para ajudar a proteger o Azure Cosmos DB, a Pesquisa de IA do Azure e o Armazenamento do Azure. Você pode utilizar uma chave diferente para o Serviço de Kubernetes do Azure.

Quando você usa uma chave gerenciada pelo cliente com o Azure Cosmos DB, a Pesquisa de IA do Azure e o Armazenamento do Azure, a chave é fornecida quando você cria seu espaço de trabalho. A chave que você usa com o Serviço de Kubernetes do Azure é fornecida quando você configura esse recurso.

Serviço Para que é usado
Azure Cosmos DB Armazena metadados para o Azure Machine Learning
Pesquisa de IA do Azure. Armazena metadados de workspace para o Azure Machine Learning
Armazenamento do Azure Armazena metadados de workspace para o Azure Machine Learning
Serviço de Kubernetes do Azure Hospeda modelos treinados como pontos de extremidade de inferência
Instâncias de Contêiner do Azure Hospeda modelos treinados como pontos de extremidade de inferência

Você usa a mesma chave para ajudar a proteger o Azure Cosmos DB, a Pesquisa de IA do Azure e o Armazenamento do Azure. Você pode usar uma chave diferente para o Serviço de Kubernetes do Azure e as Instâncias de Contêiner do Azure.

Quando você usa uma chave gerenciada pelo cliente com o Azure Cosmos DB, a Pesquisa de IA do Azure e o Armazenamento do Azure, a chave é fornecida quando você cria seu espaço de trabalho. As chaves que você usa com as Instâncias de Contêiner do Azure e o Serviço de Kubernetes do Azure são fornecidas quando você configura esses recursos.

Pré-requisitos

  • Uma assinatura do Azure.

  • Os seguintes provedores de recursos do Azure devem ser registrados:

    Provedor de recursos Por que ele é necessário
    Microsoft.MachineLearningServices Criar o Workspace do Azure Machine Learning.
    Microsoft.Storage A conta de Armazenamento é usada como o armazenamento padrão para o workspace.
    Microsoft.KeyVault O Azure Key Vault é usado pelo workspace para armazenar segredos.
    Microsoft.DocumentDB/databaseAccounts Instância do Azure Cosmos DB que registra os metadados do workspace.
    Microsoft.Search/searchServices O Azure Search oferece funcionalidades de indexação para o workspace.

    Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.

Limitações

  • Após a criação do workspace, a chave de criptografia gerenciada pelo cliente para recursos dos quais o workspace depende só pode ser atualizada para outra chave no recurso original do Azure Key Vault.
  • Os recursos gerenciados pela Microsoft na sua assinatura não podem transferir a propriedade para você.
  • Você não pode excluir recursos gerenciados pela Microsoft usados ​​para chaves gerenciadas pelo cliente sem também excluir o workspace.
  • O cofre de chaves que contém a chave gerenciada pelo cliente precisa estar na mesma assinatura do Azure do workspace do Azure Machine Learning.
  • O disco do sistema operacional da computação de aprendizado de máquina não pode ser criptografado com a chave gerenciada pelo cliente, mas pode ser criptografado com a chave gerenciada pela Microsoft se o workspace for criado com o parâmetro hbi_workspace definido como TRUE. Para obter mais detalhes, confira a Criptografia de dados.

Importante

Ao usar uma chave gerenciada pelo cliente, os custos de assinatura serão maiores devido aos recursos adicionais nela. Use a Calculadora de Preços do Azure para estimar os custos.

Criar Azure Key Vault

Para criar o cofre de chaves, veja Criar um cofre de chaves. Ao criar o Azure Key Vault, habilite a exclusão reversível e a proteção contra limpeza.

Importante

O cofre de chaves precisa estar na mesma assinatura do Azure que conterá o workspace do Azure Machine Learning.

Criar uma chave

Dica

Em caso de problemas ao criar a chave, isso pode ser causado por controles de acesso baseados em função do Azure que foram aplicados à assinatura. Certifique-se de que a entidade de segurança (usuário, identidade gerenciada, entidade de serviço etc.) que você está usando para criar a chave, tenha sido atribuída a função de Colaborador para a instância do cofre de chaves. Você também deve configurar uma política de acesso no cofre de chaves que conceda à entidade de segurança a autorização de criação, obtenção, exclusão e limpeza.

Para usar uma identidade gerenciada atribuída pelo usuário no workspace, ela também deve receber essas funções e políticas de acesso.

Para obter mais informações, consulte os seguintes artigos:

  1. No portal do Azure, selecione a instância do cofre de chaves. Em seguida, selecione Chaves no menu à esquerda.

  2. Selecione + Gerar/importar no topo da página. Use os seguintes valores para criar uma chave:

    • Defina Opções como Gerar.
    • Insira um Nome para a chave. O nome deve identificar o uso planejado. Por exemplo, my-cosmos-key.
    • Defina Tipo de chave como RSA.
    • É recomendável selecionar pelo menos 3072 para o tamanho da chave RSA.
    • Deixe Habilitado definido como sim.

    Opcionalmente, defina uma data de ativação, uma data de expiração e tags.

  3. Selecione Criar para criar a chave.

Permitir que o Azure Cosmos DB acesse a chave

  1. Para configurar o cofre de chaves, selecione-o no portal do Azure e, em seguida, clique em Políticas de acesso no menu à esquerda.
  2. Para criar permissões para o Azure Cosmos DB, selecione + Criar no topo da página. Em Permissões de chave, selecione as permissões Obter, Cancelar quebrar de linha de chave e Quebrar linha de chave.
  3. Em Principal, pesquise Azure Cosmos DB e o selecione. A ID principal dessa entrada é a232010e-820c-4083-83bb-3ace5fc29d0b para todas as regiões que não sejam do Azure Governamental. Para o Azure Governamental, a ID da entidade é 57506a73-e302-42a9-b869-6f12d9ec29e9.
  4. Clique em Examinar + Criar, depois em Criar.

Criar um workspace que usa uma chave gerenciada pelo cliente

Criar um Workspace de Azure Machine Learning. Ao criar o workspace, você deve selecionar o Azure Key Vault e a chave. Dependendo de como você cria o workspace, você especifica esses recursos de diferentes maneiras:

Aviso

O cofre de chaves que contém a chave gerenciada pelo cliente precisa estar na mesma assinatura do Azure que o workspace.

  • Portal do Azure: selecione o cofre de chaves e a chave em uma caixa de entrada suspensa ao configurar o workspace.

  • SDK, API REST e modelos do Azure Resource Manager: forneça a ID do Azure Resource Manager do cofre de chaves e a URL da chave. Para obter esses valores, use a CLI do Azure e os seguintes comandos:

    # Replace `mykv` with your key vault name.
    # Replace `mykey` with the name of your key.
    
    # Get the Azure Resource Manager ID of the key vault
    az keyvault show --name mykv --query id
    # Get the URL for the key
    az keyvault key show --vault-name mykv -n mykey --query key.kid
    

    O valor da ID do cofre de chaves será semelhante a /subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv. A URL da chave será semelhante a https://mykv.vault.azure.net/keys/mykey/{GUID}.

Para obter exemplos de como criar o workspace com uma chave gerenciada pelo cliente, confira os seguintes artigos:

Método de criação Artigo
CLI Criar um workspace com a CLI do Azure
Portal do Azure/
SDK Python
Criar e gerenciar um workspace
Modelo do Azure Resource Manager
Criar um workspace com um modelo
API REST Criar, executar e excluir recursos do Azure Machine Learning com a REST

Depois de criar o workspace, você notará que o grupo de recursos do Azure foi criado em sua assinatura. Este grupo é complementar ao grupo de recursos do workspace. Ele conterá os recursos gerenciados pela Microsoft com os quais sua chave é usada. O nome dele será definido com base na fórmula <Azure Machine Learning workspace resource group name><GUID>. Ele conterá uma instância do Azure Cosmos DB, a Conta de Armazenamento do Azure e o Azure AI Search.

Dica

  • As unidades de solicitação da instância do Azure Cosmos DB são dimensionadas automaticamente conforme necessário.
  • Se o workspace do Azure Machine Learning usar um ponto de extremidade privado, esse grupo de recursos também conterá uma Rede Virtual do Azure gerenciada pela Microsoft. Essa VNet será usada para proteger as comunicações entre os serviços gerenciados e o workspace. Você não pode fornecer sua própria VNet para uso com os recursos gerenciados pela Microsoft. Você também não pode modificar a rede virtual. Por exemplo, você não pode alterar o intervalo de endereços IP que ela usa.

Importante

Se sua assinatura não tiver cota suficiente para esses serviços, ocorrerá uma falha.

Aviso

Não exclua o grupo de recursos que contém essa instância do Azure Cosmos DB nem os recursos criados automaticamente nele. Se você precisar excluir o grupo de recursos ou os serviços gerenciados pela Microsoft que estão nele, exclua o workspace do Azure Machine Learning que os usa. Os recursos do grupo de recursos são excluídos quando o workspace associado é excluído.

Para obter mais informações sobre chaves gerenciadas pelo cliente com o Azure Cosmos DB, confira Configurar chaves gerenciadas pelo cliente para sua conta do Azure Cosmos DB.

Azure Container Instance

Importante

A implantação em Instâncias de Contêiner do Azure não está disponível no SDK nem na CLI v2. Somente por meio do SDK e da CLI v1.

Ao implantar um modelo treinado em uma ACI (Instância de Contêiner do Azure), você pode criptografar o recurso implantado com uma chave gerenciada pelo cliente. Para obter informações sobre como gerar uma chave, consulte Criptografar dados com uma chave gerenciada pelo cliente.

Para usar a chave ao implantar um modelo na ACI, 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:

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 K8s versão 1.17 ou superior.

Próximas etapas