Usar chaves gerenciadas pelo cliente com o Azure Machine Learning

No artigo Conceitos de chaves gerenciadas pelo cliente, você aprendeu sobre os recursos de criptografia que o Azure Machine Learning fornece. Agora saiba como 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 é utilizado?
Azure Cosmos DB Armazena metadados para o Azure Machine Learning
Pesquisa de IA do Azure Armazena metadados do espaço de trabalho para o Azure Machine Learning
Armazenamento do Azure Armazena metadados do espaço de trabalho para o Azure Machine Learning
Azure Kubernetes Service Hospeda modelos treinados como pontos de extremidade de inferência

Você usa a mesma chave para ajudar a proteger o Azure Cosmos DB, o Azure AI Search e o Armazenamento do Azure. Você pode usar uma chave diferente para o Serviço Kubernetes do Azure.

Quando você usa uma chave gerenciada pelo cliente com o Azure Cosmos DB, o Azure AI Search 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 Kubernetes do Azure é fornecida quando você configura esse recurso.

Serviço Para que é utilizado?
Azure Cosmos DB Armazena metadados para o Azure Machine Learning
Pesquisa de IA do Azure Armazena metadados do espaço de trabalho para o Azure Machine Learning
Armazenamento do Azure Armazena metadados do espaço de trabalho para o Azure Machine Learning
Azure Kubernetes Service Hospeda modelos treinados como pontos de extremidade de inferência
Azure Container Instances Hospeda modelos treinados como pontos de extremidade de inferência

Você usa a mesma chave para ajudar a proteger o Azure Cosmos DB, o Azure AI Search e o Armazenamento do Azure. Você pode usar uma chave diferente para o Serviço 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, o Azure AI Search 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 Kubernetes do Azure são fornecidas quando você configura esses recursos.

Pré-requisitos

  • Uma subscrição do Azure.

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

    Fornecedor de recursos Por que motivo é necessária
    Microsoft.MachineLearningServices Criando o espaço de trabalho do Azure Machine Learning.
    Microsoft.Storage A Conta de Armazenamento é usada como o armazenamento padrão para o espaço de trabalho.
    Microsoft.KeyVault O Azure Key Vault é usado pelo espaço de trabalho para armazenar segredos.
    Microsoft.Banco de Dados de Documentos Instância do Azure Cosmos DB que registra metadados para o espaço de trabalho.
    Microsoft.Pesquisa O Azure AI Search fornece recursos de indexação para o espaço de trabalho.

    Para obter informações sobre como registrar provedores de recursos, consulte Resolver erros para registro de provedor de recursos.

Limitações

  • Após a criação do espaço de trabalho, a chave de criptografia gerenciada pelo cliente para recursos dos quais o espaço de trabalho depende só pode ser atualizada para outra chave no recurso original do Cofre de Chaves do Azure.
  • Os recursos geridos pela Microsoft na sua subscrição não podem transferir a propriedade para si.
  • Não pode eliminar recursos geridos pela Microsoft utilizados para chaves geridas pelo cliente sem eliminar também a sua área de trabalho.
  • O cofre de chaves que contém sua chave gerenciada pelo cliente deve estar na mesma assinatura do Azure que o espaço de trabalho do Azure Machine Learning.
  • O disco do SO de computação de aprendizagem automática não pode ser encriptado com chave gerida pelo cliente, mas pode ser encriptado com chave gerida pela Microsoft se a área de trabalho for criada com hbi_workspace o parâmetro definido como TRUE. Para obter mais detalhes, consulte Criptografia de dados.

Importante

Ao usar uma chave gerenciada pelo cliente, os custos da sua assinatura serão mais altos devido aos recursos adicionais em sua assinatura. Para estimar o custo, use a calculadora de preços do Azure.

Criar Azure Key Vault

Para criar o cofre de chaves, consulte Criar um cofre de chaves. Ao criar o Cofre de Chaves do Azure, você deve habilitar a proteção de exclusão suave e limpeza.

Importante

O cofre de chaves deve estar na mesma assinatura do Azure que conterá seu espaço de trabalho do Azure Machine Learning.

Criar uma chave

Gorjeta

Se você tiver problemas para criar a chave, isso pode ser causado por controles de acesso baseados em função do Azure que foram aplicados em sua assinatura. Verifique se a entidade de segurança (usuário, identidade gerenciada, entidade de serviço, etc.) que você está usando para criar a chave recebeu 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 autorização Criar, Obter, Excluir e Limpar .

Se você planeja usar uma identidade gerenciada atribuída pelo usuário para seu espaço de trabalho, a identidade gerenciada também deve receber essas funções e políticas de acesso.

Para obter mais informações, consulte os seguintes artigos que podem estar em inglês:

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

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

    • Defina Opções para Gerar.
    • Insira um Nome para a chave. O nome deve ser algo que identifique qual é o uso planejado. Por exemplo, my-cosmos-key.
    • Defina Tipo de chave como RSA.
    • Recomendamos selecionar pelo menos 3072 para o tamanho da chave RSA.
    • Deixe Ativado definido como sim.

    Opcionalmente, você pode definir uma data de ativação, data de validade 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, selecione Políticas de acesso no menu à esquerda.
  2. Para criar permissões para o Azure Cosmos DB, selecione + Criar na parte superior da página. Em Permissões de chave, selecione Get, Unwrap Key e Wrap key permissions.
  3. Em Principal, procure Azure Cosmos DB e selecione-o. A ID principal para esta entrada é a232010e-820c-4083-83bb-3ace5fc29d0b para todas as regiões diferentes do Azure Government. Para o Azure Government, a ID principal é 57506a73-e302-42a9-b869-6f12d9ec29e9.
  4. Selecione Rever + Criar e, em seguida, selecione Criar.

Criar um espaço de trabalho que usa uma chave gerenciada pelo cliente

Crie um espaço de trabalho do Azure Machine Learning. Ao criar o espaço de trabalho, você deve selecionar o Cofre da Chave do Azure e a chave. Dependendo de como você cria o espaço de trabalho, você especifica esses recursos de maneiras diferentes:

Aviso

O cofre de chaves que contém sua chave gerenciada pelo cliente deve estar na mesma assinatura do Azure que o espaço de trabalho.

  • Portal do Azure: selecione o cofre da chave e a chave em uma caixa de entrada suspensa ao configurar o espaço de trabalho.

  • Modelos SDK, REST API e Azure Resource Manager: forneça a ID do Azure Resource Manager do cofre da chave 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 do ID do cofre da chave será semelhante ao /subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv. O URL da chave será semelhante ao https://mykv.vault.azure.net/keys/mykey/{GUID}.

Para obter exemplos de criação do espaço de trabalho com uma chave gerenciada pelo cliente, consulte os seguintes artigos:

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

Depois que o espaço de trabalho for criado, você notará que o grupo de recursos do Azure é criado em sua assinatura. Este grupo é adicional ao grupo de recursos para o seu espaço de trabalho. Este grupo de recursos conterá os recursos geridos pela Microsoft com os quais a sua chave é utilizada. O grupo de recursos será nomeado usando a fórmula de <Azure Machine Learning workspace resource group name><GUID>. Ele conterá uma instância do Azure Cosmos DB, uma Conta de Armazenamento do Azure e uma Pesquisa de IA do Azure.

Gorjeta

  • As Unidades de Solicitação para a instância do Azure Cosmos DB são dimensionadas automaticamente conforme necessário.
  • Se o seu espaço de trabalho 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 rede virtual é usada para proteger as comunicações entre os serviços gerenciados e o espaço de trabalho. Você não pode fornecer sua própria rede virtual para uso com os recursos gerenciados pela Microsoft. Também não é possível modificar a rede virtual. Por exemplo, não é possível alterar o intervalo de endereços IP que ele usa.

Importante

Se a sua subscrição não tiver quota suficiente para estes serviços, ocorrerá uma falha.

Aviso

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

Para obter mais informações sobre chaves gerenciadas pelo cliente com o Azure Cosmos DB, consulte 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 ou na CLI v2. Somente por meio do SDK & CLI v1.

Ao implantar um modelo treinado em uma instância de Contêiner do Azure (ACI), você pode criptografar o recurso implantado usando 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 Instância de Contêiner do Azure, 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:

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 do Kubernetes.

Importante

Este processo só funciona com o AKS K8s versão 1.17 ou superior.

Próximos passos