Chiffrement des données avec Azure Machine Learning

Azure Machine Learning utilise divers services de stockage de données et ressources de calcul Azure lors de votre formation aux modèles et de l’exécution d’inférences. Dans cet article, découvrez le chiffrement des données pour chaque service au repos et en transit.

Pour le chiffrement de niveau production au cours de la formation, nous vous recommandons d’utiliser un cluster de calcul Azure Machine Learning. Pour le chiffrement de niveau production pendant l’inférence, nous vous recommandons d’utiliser Azure Kubernetes Service (AKS).

Une instance de calcul Azure Machine Learning constitue un environnement de dev/test. Lorsque vous l’utilisez, nous vous recommandons de stocker vos fichiers, notamment les notebooks et les scripts, dans un partage de fichiers. Stockez vos données dans un magasin de données.

Chiffrement au repos

Les projets de bout en bout Azure Machine Learning s’intègrent à des services tels que Stockage Blob Azure, Azure Cosmos DB et Azure SQL Database. Cet article décrit les méthodes de chiffrement pour ces services.

Stockage Blob Azure

Azure Machine Learning stocke les captures instantanées, les sorties et les journaux dans le compte Stockage Blob Azure (compte de stockage par défaut) qui est lié à l’espace de travail Azure Machine Learning et à votre abonnement. Toutes les données stockées dans Stockage Blob Azure sont chiffrées au repos à l’aide de clés gérées par Microsoft.

Pour plus d’informations sur la façon d’utiliser vos propres clés pour les données stockées dans Stockage Blob Azure, consultez Chiffrement de Stockage Azure à l’aide de clés gérées par le client dans Azure Key Vault.

En général, les données de formation sont également stockées dans Stockage Blob Azure afin d’être accessibles pour les cibles de calcul de formation. Azure Machine Learning ne gère pas ce stockage. Ce stockage est monté pour calculer des cibles en tant que système de fichiers distant.

Si vous devez opérer une rotation ou révocation de votre clé, vous pouvez le faire à tout moment. Lorsque vous faits pivoter une clé, le compte de stockage commence à utiliser la nouvelle clé (dernière version) pour chiffrer les données au repos. Lorsque vous révoquez (désactivez) une clé, le compte de stockage se charge des requêtes qui échouent. La prise d’effet de la rotation ou de la révocation nécessite généralement une heure.

Pour plus d’informations sur la régénération des clés d’accès, consultez Régénérer les clés d’accès du compte de stockage.

Azure Data Lake Storage

Remarque

Le 29 février 2024, Azure Data Lake Storage Gen1 sera mis hors service. Pour plus d’informations, consultez l’annonce officielle. Si vous utilisez Azure Data Lake Storage Gen1, assurez-vous de migrer vers Azure Data Lake Storage Gen2 avant cette date. Pour découvrir comment, consultez Migrer d’Azure Data Lake Storage Gen1 vers Azure Data Lake Storage Gen2 à l’aide du portail Azure.

Si vous ne possédez pas déjà un compte Azure Data Lake Storage Gen1, vous ne pouvez pas en créer de nouveaux.

Azure Data Lake Storage Gen2 s’appuie sur le Stockage Blob Azure et est conçu pour l’analytique Big Data dans les entreprises. Data Lake Storage Gen2 est utilisé comme magasin de données pour Azure Machine Learning. Comme dans le Stockage Blob Azure, les données au repos sont chiffrées avec des clés gérées par Microsoft.

Pour plus d’informations sur la façon d’utiliser vos propres clés pour les données stockées dans Azure Data Lake Storage, consultez Chiffrement de Stockage Azure à l’aide de clés gérées par le client dans Azure Key Vault.

Bases de données relationnelles Azure

Le service Azure Machine Learning prend en charge les données des sources de données suivantes.

Azure SQL Database

Le chiffrement transparent des données vous aide à protéger Azure SQL Database contre la menace d’activités malveillantes hors connexion en chiffrant les données au repos. Par défaut, le chiffrement transparent des données est activé pour toutes les bases de données SQL nouvellement déployées qui utilisent des clés gérées par Microsoft.

Pour plus d’informations sur l’utilisation des clés gérées par le client pour le chiffrement transparent des données, consultez Chiffrement transparent des données dans Azure SQL Database.

Base de données Azure pour PostgreSQL

Par défaut, Azure Database pour PostgreSQL se sert du chiffrement de Stockage Azure pour chiffrer les données au repos à l’aide de clés gérées par Microsoft. Cela est comparable au chiffrement transparent des données d’autres bases de données, comme SQL Server.

Pour plus d’informations sur l’utilisation des clés gérées par le client pour le chiffrement transparent des données, consultez Chiffrement des données du serveur unique Azure Database pour PostgreSQL à l’aide d’une clé gérée par le client.

Azure Database pour MySQL

Azure Database pour MySQL est un service de base de données relationnelle dans Microsoft Cloud. Il est basé sur le moteur de base de données de l’édition Community de MySQL. Le service Azure Database pour MySQL utilise le module de chiffrement conforme à la norme FIPS 140-2 pour le chiffrement Stockage Azure des données au repos.

Pour chiffrer des données à l’aide de clés gérées par le client, consultez Chiffrement des données Azure Database pour MySQL à l’aide d’une clé gérée par le client.

Azure Cosmos DB

Azure Machine Learning stocke les métadonnées dans une instance d’Azure Cosmos DB. Cette instance est associée à un abonnement Microsoft géré par Azure Machine Learning. Toutes les données stockées dans Azure Cosmos DB sont chiffrées au repos à l’aide de clés gérées par Microsoft.

Lorsque vous utilisez vos propres clés (gérées par le client) pour chiffrer l’instance Azure Cosmos DB, une instance Azure Cosmos DB gérée par Microsoft est créée dans votre abonnement. Cette instance est créée dans un groupe de ressources géré par Microsoft, qui est différent du groupe de ressources défini pour votre espace de travail. Pour plus d’informations, consultez Clés gérées par le client pour Azure Machine Learning.

Azure Container Registry

Toutes les images conteneur dans votre registre de conteneurs (une instance d’Azure Container Registry) sont chiffrées au repos. Azure chiffre automatiquement une image avant de la stocker et la déchiffre quand Azure Machine Learning extrait l’image.

Pour utiliser des clés gérées par le client pour chiffrer votre registre de conteneurs, vous devez créer et joindre le registre lors de l’approvisionnement de l’espace de travail. Vous pouvez chiffrer l’instance par défaut créée au moment de l’approvisionnement de l’espace de travail.

Important

Azure Machine Learning nécessite l’activation du compte administrateur sur votre registre de conteneurs. Par défaut, ce paramètre est désactivé lorsque vous créez un registre de conteneurs. Pour plus d’informations sur l’activation du compte administrateur, consultez la section Compte administrateur plus loin dans cet article.

Après avoir créé un registre de conteneurs pour un espace de travail, ne le supprimez pas. Cela entraînerait l’arrêt de votre espace de travail Azure Machine Learning.

Pour un exemple de création d’un espace de travail à l’aide d’un registre de conteneurs existant, consultez les articles suivants :

Azure Container Instances

Important

Les déploiements sur Azure Container Instances s’appuient sur le Kit de développement logiciel (SDK) Python Azure Machine Learning et l’interface CLI v1.

Vous pouvez chiffrer une ressource Azure Container Instances déployée à l’aide de clés gérées par le client. Les clés gérées par le client que vous utilisez pour Container Instances peuvent être stockées dans le coffre de clés de votre espace de travail.

S’APPLIQUE À :SDK Python azureml v1

Pour utiliser la clé lors du déploiement d’un modèle sur Container Instances, créez une nouvelle configuration de déploiement en utilisant la commande AciWebservice.deploy_configuration(). Fournissez les informations de la 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 :

Pour plus d’informations sur l’utilisation d’une clé gérée par le client avec Container Instances, consultez Chiffrer les données de déploiement.

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 version 1.17 ou ultérieure. Azure Machine Learning a ajouté un support pour AKS 1.17 le 13 janvier 2020.

Capacité de calcul Machine Learning

Cluster de calcul

Le disque de système d’exploitation de chaque nœud de calcul stocké dans Stockage Azure est chiffré à l’aide de clés gérées par Microsoft dans les comptes de stockage Azure Machine Learning. Cette cible de calcul est éphémère et les clusters font généralement l’objet d’un scale-down quand aucune tâche n’est placée en file d’attente. La machine virtuelle sous-jacente est déprovisionnée et le disque du système d’exploitation supprimé.

Azure Disk Encryption n’est pas activé pour les espaces de travail par défaut. Si vous créez l’espace de travail avec le paramètre hbi_workspace défini sur TRUE, le disque de système d’exploitation est chiffré.

Chaque machine virtuelle dispose également d’un disque temporaire local pour les opérations de système d’exploitation. Si vous le souhaitez, vous pouvez utiliser le disque pour indexer les données d’entraînement. Si vous créez l’espace de travail avec le paramètre hbi_workspace défini sur TRUE, le disque temporaire est chiffré. Cet environnement ne perdure que pendant la durée de votre tâche et la prise en charge du chiffrement est limitée uniquement aux clés gérées par le système.

Les points de terminaison en ligne managés et les points de terminaison de traitement par lots utilisent le calcul Azure Machine Learning dans le back end, et ils suivent le même mécanisme de chiffrement.

Instance de calcul

Le disque de système d’exploitation d’une instance de calcul est chiffré à l’aide de clés gérées par Microsoft dans les comptes de stockage Azure Machine Learning. Si vous créez l’espace de travail avec le paramètre hbi_workspace défini sur TRUE, le disque de système d’exploitation local et les disques temporaires situés sur une instance de calcul sont chiffrés à l’aide de clés gérées par Microsoft. Le chiffrement à l’aide de clés gérés par le client n’est pas pris en charge pour les disques de système d’exploitation et les disques temporaires.

Pour plus d’informations, consultez Clés gérées par le client pour Azure Machine Learning.

Azure Data Factory.

Le pipeline Azure Data Factory ingère des données à utiliser avec Azure Machine Learning. Azure Data Factory chiffre les données au repos, y compris les définitions d’entités et les données mises en cache pendant les exécutions. Par défaut, les données sont chiffrées à l’aide d’une clé générée de manière aléatoire et gérée par Microsoft, qui est attribuée de manière unique à votre fabrique de données.

Pour plus d’informations sur l’utilisation des clés gérées par le client pour le chiffrement, consultez Chiffrer Azure Data Factory avec des clés gérées par le client.

Azure Databricks

Vous pouvez utiliser Azure Databricks dans des pipelines Azure Machine Learning. Par défaut, le système de fichiers Databricks (DBFS) qu’utilise Azure Databricks est chiffré via une clé gérée par Microsoft. Pour configurer Azure Databricks afin d’utiliser des clés gérées par le client, voir Configurer les clés gérées par le client sur DBFS (racine) par défaut.

Données générées par Microsoft

Lorsque vous utilisez des services comme Azure Machine Learning, Microsoft peut générer des données temporaires et prétraitées pour former plusieurs modèles. Ces données sont stockées dans un magasin de données de votre espace de travail, ce qui vous permet d’appliquer des contrôles d’accès et un chiffrement appropriés.

Vous pouvez aussi chiffrer des informations de diagnostic enregistrées à partir de votre point de terminaison déployé dans Application Insights.

Chiffrement en transit

Azure Machine Learning utilise le protocole TLS pour sécuriser la communication interne entre ses différents microservices. Tout l’accès au stockage Azure se produit également sur un canal sécurisé.

Pour sécuriser les appels externes au point de terminaison de scoring, Azure Machine Learning utilise le protocole TLS. Pour plus d’informations, consultez Utiliser TLS pour sécuriser un service web par le biais d’Azure Machine Learning.

Collecte et gestion de données

À des fins de diagnostic, Microsoft peut collecter des informations qui n’identifient pas les utilisateurs. Par exemple, Microsoft peut collecter des noms de ressources (par exemple, le nom du jeu de données ou le nom de l’expérience d’apprentissage automatique) ou des variables d’environnement de travail. Toutes ces données sont stockées via des clés gérées par Microsoft dans le stockage hébergé dans les abonnements appartenant à Microsoft. Le stockage suit la politique de confidentialité standard de Microsoft et les normes de gestion des données. Ces données restent dans la même région que votre espace de travail.

Nous vous recommandons également de ne pas stocker d’informations sensibles (comme les secrets de clé de compte) dans les variables d’environnement. Microsoft enregistre, chiffre et stocke les variables d’environnement. De même, lorsque vous nommez vos travaux, évitez d’inclure des informations sensibles telles que des noms d’utilisateurs ou des noms de projets secrets. Ces informations peuvent apparaître dans les journaux de télémétrie auxquels les ingénieurs du Support Microsoft peuvent accéder.

Vous pouvez refuser la collecte des données de diagnostic en définissant le paramètre hbi_workspace sur TRUE pendant la configuration de l’espace de travail. Cette fonctionnalité est prise en charge lorsque vous utilisez le Kit de développement logiciel (SDK) Python Azure Machine Learning, Azure CLI, les API REST ou les modèles Azure Resource Manager.

Stockage des informations d’identification dans Azure Key Vault

Azure Machine Learning utilise l’instance Azure Key Vault associée à l’espace de travail pour stocker les informations d’identification de différents types :

  • Chaîne de connexion associée pour le compte de stockage
  • Mots de passe pour les instances Azure Container Registry
  • Chaînes de connexion aux magasins de données

Les mots de passe et clés Secure Shell (SSH) des cibles de calcul telles que Azure HDInsight et les machines virtuelles sont stockés dans un coffre de clés distinct qui est associé à l’abonnement Microsoft. Azure Machine Learning ne stocke pas les mots de passe ni les clés fournis par les utilisateurs. Il génère, autorise et stocke plutôt ses propres clés SSH pour se connecter aux machines virtuelles et à HDInsight afin d’exécuter les expériences.

Chaque espace de travail est associé à une identité managée attribuée par le système qui porte le même nom que l’espace de travail. Cette identité managée a accès à l’ensemble des clés, secrets et certificats contenus dans le coffre de clés.

Étapes suivantes