Utiliser des clés gérées par le client avec Azure Machine Learning

Dans l’article qui présente les concepts des clés gérées par le client, vous avez découvert les capacités de chiffrement offertes par Azure Machine Learning. Découvrez à présent comment utiliser des clés gérées par le client avec Azure Machine Learning.

Azure Machine Learning s’appuie sur les services suivants qui utilisent des clés gérées par le client :

Service Champ d’utilisation
Azure Cosmos DB Stockage des métadonnées pour Azure Machine Learning
Recherche Azure AI Stockage des métadonnées d’espace de travail pour Azure Machine Learning
Stockage Azure Stockage des métadonnées d’espace de travail pour Azure Machine Learning
Azure Kubernetes Service Hôtes de modèles entraînés en tant que points de terminaison d’inférence

Vous utilisez la même clé pour sécuriser Azure Cosmos DB, Recherche Azure AI et Stockage Azure. Vous pouvez utiliser une clé différente pour Azure Kubernetes Service.

Lorsque vous utilisez une clé gérée par le client avec Azure Cosmos DB, Recherche Azure AI et Stockage Azure, la clé est fournie lors de la création de votre espace de travail. La clé que vous utilisez avec Azure Kubernetes Service est fournie lorsque vous configurez cette ressource.

Service Champ d’utilisation
Azure Cosmos DB Stockage des métadonnées pour Azure Machine Learning
Recherche Azure AI Stockage des métadonnées d’espace de travail pour Azure Machine Learning
Stockage Azure Stockage des métadonnées d’espace de travail pour Azure Machine Learning
Azure Kubernetes Service Hôtes de modèles entraînés en tant que points de terminaison d’inférence
Azure Container Instances Hôtes de modèles entraînés en tant que points de terminaison d’inférence

Vous utilisez la même clé pour sécuriser Azure Cosmos DB, Recherche Azure AI et Stockage Azure. Vous pouvez utiliser une clé différente pour Azure Kubernetes Service et Azure Container Instances.

Lorsque vous utilisez une clé gérée par le client avec Azure Cosmos DB, Recherche Azure AI et Stockage Azure, la clé est fournie lors de la création de votre espace de travail. Les clés que vous utilisez avec Azure Container Instances et Azure Kubernetes Service sont fournies lorsque vous configurez ces ressources.

Prérequis

  • Un abonnement Azure.

  • Les fournisseurs de ressources Azure suivants doivent être inscrits :

    Fournisseur de ressources Pourquoi il est nécessaire
    Microsoft.MachineLearningServices Création de l’espace de travail Azure Machine Learning.
    Microsoft.Storage Un compte Stockage est utilisé comme stockage par défaut pour l’espace de travail.
    Microsoft.KeyVault Azure Key Vault est utilisé par l’espace de travail pour stocker les secrets.
    Microsoft.DocumentDB/databaseAccounts Instance Azure Cosmos DB qui journalise les métadonnées de l’espace de travail.
    Microsoft.Search/searchServices La Recherche Azure fournit des fonctionnalités d’indexation pour l’espace de travail.

    Pour plus d’informations sur l’inscription d’un fournisseur de ressources, consultez Résoudre les erreurs d’inscription de fournisseurs de ressources.

Limites

  • Après la création de l’espace de travail, la clé de chiffrement gérée par le client pour les ressources dont dépend l’espace de travail ne peut être mise à jour qu’avec une autre clé dans la ressource Azure Key Vault d’origine.
  • La propriété des ressources gérées par Microsoft dans votre abonnement ne peut pas vous être transférée.
  • Vous ne pouvez pas supprimer les ressources gérées par Microsoft utilisées pour les clés gérées par le client sans supprimer également votre espace de travail.
  • Le coffre de clés contenant votre clé gérée par le client doit se trouver dans le même abonnement Azure que l’espace de travail Azure Machine Learning.
  • Le disque du système d’exploitation du calcul Machine Learning ne peut pas être chiffré avec une clé gérée par le client, mais il peut l’être avec une clé gérée par Microsoft si l’espace de travail est créé avec le paramètre hbi_workspace défini sur TRUE. Pour obtenir des informations plus détaillées, consultez Chiffrement de données.

Important

Quand vous utilisez une clé gérée par le client, les coûts de votre abonnement sont plus élevés en raison des ressources supplémentaires dans votre abonnement. Pour estimer les coûts, utilisez la calculatrice de prix Azure.

Créer un coffre de clés Azure

Pour créer le coffre de clés, consultez Créer un coffre de clés. Quand vous créez un coffre de clés Azure, vous devez activer la suppression réversible et la protection de purge.

Important

Le coffre de clés doit se trouver dans le même abonnement Azure qui contiendra votre espace de travail Azure Machine Learning.

Créer une clé

Conseil

Si vous rencontrez des problèmes lors de la création de la clé, cela peut être dû à des contrôles d’accès en fonction du rôle Azure appliqués à votre abonnement. Vérifiez que le principal de sécurité (utilisateur, identité managée, principal de service, etc.) que vous utilisez pour créer la clé a reçu le rôle Contributeur pour l’instance du coffre de clés. Vous devez également configurer une stratégie d’accès dans le coffre de clés qui accorde au principal de sécurité les autorisations Créer, Obtenir, Supprimer et Purger.

Si vous envisagez d’utiliser une identité managée affectée par l’utilisateur pour votre espace de travail, ces rôles et stratégies d’accès doivent également être affectés à l’identité managée.

Pour plus d’informations, consultez les articles suivants :

  1. Dans le portail Azure, sélectionnez l’instance du coffre de clés. Ensuite, sélectionnez Clés à gauche.

  2. Sélectionnez + Générer/importer dans la partie supérieure de la page. Utilisez les valeurs suivantes pour créer une clé :

    • Définissez Options sur Générer.
    • Entrez un Nom pour la clé. Ce nom doit permettre d’identifier l’utilisation prévue. Par exemple : my-cosmos-key.
    • Définissez Type de clé sur RSA.
    • Nous vous recommandons de sélectionner au moins 3072 pour la taille de clé RSA.
    • Laissez l’option Activé définie sur la valeur Oui.

    Vous pouvez éventuellement définir une date d’activation, une date d’expiration et des étiquettes.

  3. Sélectionnez Créer pour créer la clé.

Autoriser Azure Cosmos DB à accéder à la clé

  1. Pour configurer le coffre de clés, sélectionnez-le dans le portail Azure, puis sélectionnez Stratégies d’accès dans le menu de gauche.
  2. Pour créer des autorisations pour Azure Cosmos DB, sélectionnez + Créer en haut de la page. Sous Autorisations de clé, sélectionnez Obtenir, Inclure la clé et Ne pas inclure la clé.
  3. Sous Principal, recherchez Azure Cosmos DB, puis sélectionnez-le. L’ID du principal pour cette entrée est a232010e-820c-4083-83bb-3ace5fc29d0b pour toutes les régions autres qu’Azure Government. Pour Azure Government, l’ID du principal est 57506a73-e302-42a9-b869-6f12d9ec29e9.
  4. Sélectionnez Vérifier + créer, puis Créer.

Créer un espace de travail qui utilise une clé gérée par le client

Créez un espace de travail Machine Learning. Quand vous créez l’espace de travail, vous devez sélectionner le coffre de clé Azure et la clé. Selon la façon dont vous créez l’espace de travail, vous spécifiez ces ressources de différentes manières :

Avertissement

Le coffre de clés qui contient votre clé gérée par le client doit se trouver dans le même abonnement Azure que l’espace de travail.

  • Portail Azure : Sélectionnez le coffre de clés et la clé dans une zone de texte modifiable lors de la configuration de l’espace de travail.

  • SDK, API REST et modèles Azure Resource Manager : Fournissez l’ID Azure Resource Manager du coffre de clés et l’URL de la clé. Pour obtenir ces valeurs, utilisez Azure CLI et les commandes suivantes :

    # 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
    

    La valeur de l’ID du coffre de clés est similaire à /subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv. L’URL de la clé est similaire à https://mykv.vault.azure.net/keys/mykey/{GUID}.

Pour obtenir des exemples de création de l’espace de travail avec une clé gérée par le client, consultez les articles suivants :

Méthode de création Article
Interface de ligne de commande Création d’un espace de travail avec Azure CLI
Portail Azure/
SDK Python
Créer et gérer un espace de travail
Modèle Azure
Resource Manager
Créer un espace de travail avec un modèle
API REST Créer, exécuter et supprimer des ressources Azure Machine Learning à l’aide de REST

Une fois l’espace de travail créé, vous allez voir que le groupe de ressources Azure est créé dans votre abonnement. Ce groupe s’ajoute au groupe de ressources de votre espace de travail. Ce groupe de ressources va contenir les ressources gérées par Microsoft avec lesquelles votre clé est utilisée. Le groupe de ressources va être nommé à l’aide de la formule <Azure Machine Learning workspace resource group name><GUID>. Elle contiendra une instance Azure Cosmos DB, un compte de stockage Azure et la Recherche Azure AI.

Conseil

  • Les unités de requête de l’instance Azure Cosmos DB se mettent automatiquement à l’échelle en fonction des besoins.
  • Si votre espace de travail Azure Machine Learning utilise un point de terminaison privé, ce groupe de ressources va également contenir un réseau virtuel Azure géré par Microsoft. Ce réseau virtuel est utilisé pour sécuriser les communications entre les services gérés et l’espace de travail. Vous ne pouvez pas fournir votre propre réseau virtuel pour l’utiliser avec les ressources gérées par Microsoft. Vous ne pouvez pas non plus modifier le réseau virtuel. Par exemple, vous ne pouvez pas modifier la plage d’adresses IP qu’elle utilise.

Important

Si votre abonnement ne dispose pas d’un quota suffisant pour ces services, une défaillance se produit.

Avertissement

Ne supprimez pas le groupe de ressources qui contient cette instance Azure Cosmos DB, ni les ressources créées automatiquement dans ce groupe. Si vous avez besoin de supprimer le groupe de ressources ou les services gérés par Microsoft qu’il contient, vous devez supprimer l’espace de travail Azure Machine Learning qui l’utilise. Les ressources incluses dans le groupe de ressources sont supprimées quand l’espace de travail associé est supprimé.

Pour plus d’informations sur les clés gérées par le client avec Azure Cosmos DB, consultez Configurer des clés gérées par le client pour votre compte Azure Cosmos DB.

Azure Container Instance

Important

Le déploiement sur Azure Container Instances n’est pas disponible dans le Kit de développement logiciel (SDK) ou CLI v2. Seulement via SDK & CLI v1.

Quand vous déployez un modèle entraîné sur une instance de conteneur Azure (ACI), vous pouvez chiffrer la ressource déployée à l’aide d’une clé gérée par le client. Pour plus d’informations sur la génération d’une clé, consultez Chiffrer des données avec une clé gérée par le client.

Pour utiliser la clé lors du déploiement d’un modèle sur Azure Container instance, créez une nouvelle configuration de déploiement en utilisant la commande AciWebservice.deploy_configuration(). Fournissez les informations de clé à l’aide des paramètres suivants :

  • cmk_vault_base_url: URL du coffre de clés contenant la clé.
  • cmk_key_name: Nom de la clé.
  • cmk_key_version: Version de la clé.

Pour plus d’informations sur la création et l’utilisation d’une configuration de déploiement, consultez les articles suivants :

Azure Kubernetes Service

Vous pouvez chiffrer une ressource Azure Kubernetes Service déployée en utilisant des clés gérées par un client à tout moment. Pour plus d’informations, consultez Apporter vos propres clés avec Azure Container Service.

Ce processus vous permet de chiffrer à la fois les données et le disque de système d’exploitation des machines virtuelles déployées dans le cluster Kubernetes.

Important

Ce processus fonctionne uniquement avec AKS K8s version 1.17 ou ultérieure.

Étapes suivantes