Share via


Configurer des clés gérées par le client interlocataires pour un nouveau compte de stockage

Le stockage Azure chiffre toutes les données dans un compte de stockage au repos. Par défaut, les données sont chiffrées avec des clés managées par Microsoft Pour un contrôle supplémentaire des clés de chiffrement, vous pouvez gérer vos propres clés. Les clés gérées par le client doivent être stockées dans un coffre de clés Azure Key Vault ou dans un module de sécurité matériel (HSM) géré par Azure Key Vault.

Cet article montre comment configurer le chiffrement avec des clés gérées par le client au moment où vous créez un compte de stockage. Dans le scénario interlocataire, le compte de stockage réside dans un locataire géré par un éditeur de logiciels indépendants, tandis que la clé utilisée pour le chiffrement de ce compte de stockage réside dans un coffre de clés de locataire géré par le client.

Pour découvrir comment configurer des clés gérées par le client pour un compte de stockage existant, consultez Configurer des clés gérées par le client interlocataires pour un compte de stockage existant.

Notes

Azure Key Vault et le module HSM managé par Azure Key Vault prennent en charge les mêmes API et interfaces de gestion de configuration des clés gérées par le client. Toute action prise en charge par Azure Key Vault est également prise en charge par HSM managé Azure Key Vault.

À propos des clés gérées par le client multilocataires

De nombreux fournisseurs de services qui créent des offres SaaS (Software as a Service) sur Azure entendent offrir à leurs clients la possibilité de gérer leurs propres clés de chiffrement. Les clés gérées par le client permettent à un fournisseur de services de chiffrer les données du client à l’aide d'une clé de chiffrement gérée par le client du fournisseur de services et à laquelle le fournisseur de services n’a pas accès. Dans Azure, le client du fournisseur de services peut utiliser Azure Key Vault pour gérer ses clés de chiffrement dans son propre locataire et abonnement Microsoft Entra.

Les services et ressources de la plateforme Azure appartenant au fournisseur de services et résidant dans le locataire du fournisseur de services doivent avoir accès à la clé du locataire du client pour effectuer les opérations de chiffrement/déchiffrement.

L’image ci-dessous montre un chiffrement de données au repos avec une identité fédérée dans un flux de travail de CMK inter-client couvrant un fournisseur de services et son client.

Screenshot showing a cross-tenant CMK with a federated identity.

Dans l’exemple ci-dessus, il existe deux locataires Microsoft Entra : le locataire d’un fournisseur de services indépendant (Locataire 1) et le locataire d’un client (Locataire 2). Le locataire 1 héberge les services de la plateforme Azure et le locataire 2 héberge le coffre de clés du client.

Une inscription d’application multilocataire est créée par le fournisseur de services dans Locataire 1. Des informations d’identification d’identité fédérée sont créées sur cette application à l’aide d’une identité managée affectée par l’utilisateur. Ensuite, le nom et l’ID de l’application sont partagés avec le client.

Un utilisateur disposant des autorisations appropriées installe l'application du fournisseur de services dans le locataire client, locataire 2. Un utilisateur accorde ensuite au principal de service associé à l’application installée l’accès au coffre de clés du client. Le client stocke également la clé de chiffrement ou la clé gérée par le client dans le coffre de clés. Le client partage l’emplacement de la clé (URL de la clé) avec le fournisseur de services.

Le fournisseur de services dispose désormais des informations suivantes :

  • L’ID d’une application multilocataire installée dans le locataire du client, qui a reçu l’accès à la clé gérée par le client.
  • Une identité managée configurée en tant qu’informations d’identification sur l’application multilocataire.
  • Emplacement de la clé dans le coffre de clés du client.

Avec ces trois paramètres, le fournisseur de services fournit des ressources Azure dans le locataire 1 qui peuvent être chiffrées avec la clé gérée par le client dans le locataire 2.

Nous allons diviser la solution de bout en bout ci-dessus en trois phases :

  1. Le fournisseur de services configure les identités.
  2. Le client accorde à l’application multilocataire du fournisseur de services l’accès à une clé de chiffrement dans Azure Key Vault.
  3. Le fournisseur de services chiffre les données dans une ressource Azure à l’aide de la clé gérée par le client.

Les opérations de la phase 1 correspondent à une configuration unique pour la plupart des applications de fournisseur de services. Les opérations des phases 2 et 3 se répètent pour chaque client.

Phase 1 : le fournisseur de services configure une application Microsoft Entra

Étape Description Rôle minimal dans Azure RBAC Rôle minimal dans le RBAC Microsoft Entra
1. Créez une inscription d’application Microsoft Entra multilocataire ou commencez par une inscription d’application existante. Notez l’ID d’application (ID client) de l’inscription d’application à l’aide du Portail Azure, de l’API Microsoft Graph, d’Azure PowerShell ou d’Azure CLI Aucun Développeur d’applications
2. Créez une identité managée affectée par l’utilisateur (à utiliser en tant qu’informations d’identification d’identité fédérée).
Portail Azure / Azure CLI / Azure PowerShell/ Modèles Azure Resource Manager
Contributeur d’identité managée Aucun(e)
3. Configurez l’identité managée affectée par l’utilisateur en tant qu’informations d’identification d’identité fédérée sur l’application pour lui permettre d’emprunter l’identité de l’application.
Référence de l’API Graph/ Portail Azure/ Azure CLI/ Azure PowerShell
Aucun Propriétaire de l’application
4. Partagez le nom et l’ID de l’application avec le client pour lui permettre d’installer et d’autoriser l’application. None None

Considérations relatives aux fournisseurs de services

  • Les modèles Azure Resource Manager (ARM) ne sont pas recommandés pour la création d’applications Microsoft Entra.
  • La même application multilocataire peut être utilisée pour accéder aux clés de n’importe quel nombre de locataires, comme Locataire 2, Locataire 3, Locataire 4, etc. Dans chaque locataire, une instance indépendante de l’application est créée et porte le même ID d’application mais un ID d’objet différent. Dès lors, chaque instance de cette application est autorisée indépendamment. Réfléchissez à la manière dont l’objet d’application utilisé pour cette fonctionnalité est utilisé pour partitionner votre application sur tous les clients.
    • L’application peut avoir au maximum 20 informations d’identification d’identité fédérée, ce qui oblige un fournisseur de services à partager les identités fédérées entre ses clients. Pour plus d’informations sur les considérations et restrictions de la conception d’identités fédérées, consultez Configurer une application pour approuver un fournisseur d’identité externe
  • Dans de rares scénarios, un fournisseur de services peut utiliser un seul objet Application par client, mais cela entraîne des coûts de maintenance importants pour gérer les applications à grande échelle dans l’ensemble des clients.
  • Dans le locataire du fournisseur de services, il n’est pas possible d’automatiser la vérification de l’éditeur.

Phase 2 : le client autorise l’accès au coffre de clés

Étape Description Rôles RBAC Azure avec privilèges minimum Rôles Microsoft Entra les moins privilégiés
1.
  • Recommandé : demandez à l’utilisateur de se connecter à votre application. Si l’utilisateur peut se connecter, un principal de service pour votre application existe dans son locataire.
  • Utilisez Microsoft Graph, Microsoft Graph PowerShell, Azure PowerShell ou Azure CLI pour créer le principal de service.
  • Créez une URL de consentement administrateur et accordez le consentement à l’échelle du locataire pour créer le principal de service à l’aide de l’ID d’application.
  • Aucun Utilisateurs disposant des autorisations nécessaires pour installer des applications
    2. Créez un coffre de clés Azure Key Vault et une clé utilisée en tant que clé gérée par le client. Un utilisateur doit disposer du rôle Contributeur Key Vault pour créer le coffre de clés

    Un utilisateur doit avoir le rôle Agent de chiffrement Key Vault pour ajouter une clé au coffre de clés
    Aucun
    3. Accordez à l’identité d’application autorisée l’accès au coffre de clés Azure en attribuant le rôle Utilisateur du service de chiffrement Key Vault. Pour attribuer le rôle Utilisateur du service de chiffrement Key Vault à l’application, le rôle Administrateur de l’accès utilisateur doit vous avoir été attribué. Aucun
    4. Copiez l’URL et le nom du coffre de clés dans la configuration des clés gérées par le client de l’offre SaaS. None None

    Notes

    Pour autoriser l'accès au HSM géré pour le chiffrement à l'aide de CMK, consultez l'exemple de compte de stockage ici. Pour plus d'informations sur la gestion des clés avec le HSM géré, consultez Gérer un HSM géré à l'aide d'Azure CLI

    Considérations relatives aux clients des fournisseurs de services

    • Dans le locataire client, locataire 2, un administrateur peut définir des stratégies pour empêcher les utilisateurs non administrateurs d'installer des applications. Ces stratégies peuvent empêcher les utilisateurs non administrateurs de créer des principaux de service. Si une telle stratégie est configurée, les utilisateurs disposant des autorisations nécessaires pour créer des principaux de service doivent être impliqués.
    • L’accès à Azure Key Vault peut être autorisé à l’aide d’Azure RBAC ou de stratégies d’accès. Lorsque vous accordez l’accès à un coffre de clés, veillez à utiliser le mécanisme actif pour votre coffre de clés.
    • Une inscription d’application Microsoft Entra a un ID d’application (ID client). Lorsque l’application est installée dans votre locataire, un principal de service est créé. Le principal de service partage le même ID d’application que l’inscription d’application, mais génère son propre ID d’objet. Si vous autorisez l’application à accéder aux ressources, vous devrez peut-être utiliser la propriété Name ou ObjectID du principal de service.

    Phase 3 : le fournisseur de services chiffre les données dans une ressource Azure à l’aide de la clé gérée par le client

    Une fois les phases 1 et 2 terminées, le fournisseur de services peut configurer le chiffrement sur la ressource Azure avec la clé et le coffre de clés dans le locataire du client et la ressource Azure dans le locataire de l’éditeur de logiciels indépendants. Le fournisseur de services peut configurer des clés gérées par le client multilocataires à l’aide des outils clients pris en charge par cette ressource Azure, avec un modèle ARM ou l’API REST.

    Configurer des clés gérées par le client multilocataires

    Cette section explique comment configurer une clé gérée par le client (CMK) multilocataire et chiffrer les données client. Découvrez comment chiffrer les données client dans une ressource dans Tenant1 à l’aide d’une clé gérée par le client stockée dans un coffre de clés dans Tenant2. Vous pouvez utiliser le portail Azure, Azure PowerShell ou Azure CLI.

    Connectez-vous au portail Azure et suivez les étapes ci-dessous.

    Le fournisseur de services configure les identités

    Les étapes suivantes sont effectuées par le fournisseur de services dans le locataire du fournisseur de services Tenant1.

    Le fournisseur de services crée une inscription d’application multilocataire

    Vous pouvez créer une inscription d’application Microsoft Entra multilocataire ou commencer avec une inscription d’application multilocataire existante. Si vous commencez par une inscription d’application existante, notez l’ID d’application (ID client) de l’application.

    Pour créer une inscription

    1. Recherchez Microsoft Entra ID dans la zone de recherche. Recherchez et sélectionnez l’extension Microsoft Entra ID.

    2. Sélectionnez Gérer > Inscriptions d’applications dans le volet gauche.

    3. Sélectionnez + Nouvelle inscription.

    4. Indiquez le nom de l’inscription d’application et sélectionnez Compte dans n’importe quel annuaire organisationnel (n’importe quel annuaire Microsoft Entra – multilocataire).

    5. Sélectionnez Inscrire.

    6. Notez les valeurs ApplicationId/ClientId de l’application.

      Screen shot showing how to create a new multi-tenant application registration.

    Le fournisseur de services crée une identité managée affectée par l’utilisateur

    Créez une identité managée affectée par l’utilisateur à utiliser en tant qu’informations d’identification d’identité fédérée.

    1. Recherchez Identités managées dans la zone de recherche. Recherchez et sélectionnez l’extension Identités managées.

    2. Sélectionnez + Créer.

    3. Indiquez le groupe de ressources, la région et le nom de l’identité managée.

    4. Sélectionnez Revoir + créer.

    5. Au terme du déploiement, notez l’ID de ressource Azure de l’identité managée affectée par l’utilisateur disponible sous Propriétés. Par exemple :

      /subscriptions/tttttttt-0000-tttt-0000-tttt0000tttt/resourcegroups/XTCMKDemo/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ConsotoCMKDemoUA

      Screen shot showing how to create a resource group and a user-assigned managed identity.

    Le fournisseur de services configure l’identité managée affectée par l’utilisateur en tant qu’informations d’identification fédérées sur l’application

    Configurez une identité managée affectée par l’utilisateur en tant qu’informations d’identification d’identité fédérée sur l’application pour lui permettre d’emprunter l’identité de l’application.

    1. Accédez à Microsoft Entra ID > Inscriptions d’application > votre application.

    2. Cliquez sur Certificats et secrets.

    3. Sélectionnez Informations d’identification fédérées.

      Screen shot showing how to navigate to Certificate and secrets.

    4. Sélectionnez + Ajouter des informations d’identification.

    5. Sous Scénario d’informations d’identification fédérées, sélectionnez Clés gérées par le client.

    6. Cliquez sur Sélectionner une identité managée. Dans le volet, sélectionnez l’abonnement. Sous Identité managée, sélectionnez Identité managée affectée par l’utilisateur. Dans la zone Sélectionner, recherchez l’identité managée que vous avez créée précédemment, puis cliquez sur Sélectionner en bas du volet.

      Screen shot showing how to select a managed identity.

    7. Sous Détails des informations d’identification, fournissez un nom et une description facultative pour les informations d’identification, puis sélectionnez Ajouter.

      Screen shot showing how to add a credential.

    Le fournisseur de services partage l’ID d’application avec le client

    Recherchez l’ID d’application (ID client) de l’application multilocataire et partagez-le avec le client.

    Le client accorde à l’application du fournisseur de services l’accès à la clé dans le coffre de clés

    Les étapes suivantes sont effectuées par le client dans le locataire du client Tenant2. Le client peut utiliser le portail Azure, Azure PowerShell ou Azure CLI.

    L’utilisateur qui exécute les étapes doit être un administrateur disposant d’un rôle privilégié tel que Administrateur d’application, Administrateur d’application cloud ou Administrateur général.

    Connectez-vous au portail Azure et suivez les étapes ci-dessous.

    Le client installe l’application du fournisseur de services dans le locataire du client

    Pour installer l’application inscrite du fournisseur de services dans le locataire du client, vous créez un principal de service avec l’ID de l’application inscrite. Vous pouvez créer le principal de service de l’une des manières suivantes :

    Le client crée un coffre de clés

    Pour créer le coffre de clés, le compte de l’utilisateur doit se voir attribuer le rôle Contributeur Key Vault ou un autre rôle qui autorise la création d’un coffre de clés.

    1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez + Créer une ressource. Dans la zone de recherche, entrez Coffres de clés. Dans la liste des résultats, sélectionnez Coffres de clés. Dans la page Coffres de clés, sélectionnez Créer.

    2. Sous l’onglet Informations de base, choisissez un abonnement. Sous Groupe de ressources, sélectionnez Créer nouveau, puis entrez un nom de groupe de ressources.

    3. Entrez un nom unique pour le coffre de clés.

    4. Sélectionnez une région et un niveau tarifaire.

    5. Activez la protection contre le vidage pour le nouveau coffre de clés.

    6. Sous l’onglet Stratégie d’accès, sélectionnez Contrôle d’accès en fonction du rôle Azure pour Modèle d’autorisation.

    7. Sélectionnez Vérifier + créer, puis Créer.

      Screen shot showing how to create a key vault.

    Notez le nom du coffre de clés et les applications URI qui accèdent à votre coffre de clés doivent utiliser cet URI.

    Pour plus d’informations, consultez Démarrage rapide - Créer un coffre de clés Azure Key Vault avec le portail Azure.

    Le client attribue le rôle Agent de chiffrement Key Vault à un compte d’utilisateur

    Cette étape garantit la possibilité de créer des clés de chiffrement.

    1. Accédez à votre coffre de clés et sélectionnez Access Control (IAM) dans le volet gauche.
    2. Sous Accorder l’accès à cette ressource, sélectionnez Ajouter une attribution de rôle.
    3. Recherchez et sélectionnez Agent de chiffrement Key Vault.
    4. Sous l’onglet Membres, sélectionnez Utilisateur, groupe ou principal du service.
    5. Sélectionnez Membres et recherchez votre compte d’utilisateur.
    6. Sélectionnez Vérifier + attribuer.

    Le client crée une clé de chiffrement

    Pour créer la clé de chiffrement, le compte de l’utilisateur doit se voir attribuer le rôle Agent de chiffrement Key Vault ou un autre rôle qui autorise la création d’une clé.

    1. Dans la page des propriétés Key Vault, sélectionnez Secrets.
    2. Sélectionnez Générer/Importer.
    3. Dans l’écran Créer une clé, spécifiez un nom pour la clé. Conservez les valeurs par défaut des autres options.
    4. Sélectionnez Create (Créer).
    5. Copiez l’URI de la clé.

    Le client accorde à l’application du fournisseur de services l’accès au coffre de clés

    Attribuez le rôle RBAC Azure Utilisateur du service de chiffrement Key Vault à l’application inscrite du fournisseur de services pour lui permettre d’accéder au coffre de clés.

    1. Accédez à votre coffre de clés et sélectionnez Access Control (IAM) dans le volet gauche.
    2. Sous Accorder l’accès à cette ressource, sélectionnez Ajouter une attribution de rôle.
    3. Rechercher et sélectionnez le rôle Utilisateur du service de chiffrement Key Vault.
    4. Sous l’onglet Membres, sélectionnez Utilisateur, groupe ou principal du service.
    5. Sélectionnez Membres et recherchez le nom de l’application que vous avez installée à partir du fournisseur de services.
    6. Sélectionnez Vérifier + attribuer.

    Vous pouvez maintenant configurer des clés gérées par le client avec l’URI et la clé du coffre de clés.

    Créer un compte de stockage chiffré avec une clé d’un autre locataire

    À ce stade, vous avez configuré l’application multilocataire sur le locataire du fournisseur d’identité, installé l’application sur le locataire du client et configuré le coffre de clés et la clé sur le locataire du client. Ensuite, vous pouvez créer un compte de stockage sur le locataire de l’éditeur de logiciels indépendants et configurer des clés gérées par le client avec la clé à partir du locataire du client.

    Vous devez utiliser une identité managée affectée par l’utilisateur existante pour autoriser l’accès au coffre de clés lorsque vous configurez des clés gérées par le client lors de la création du compte de stockage. L’identité managée affectée par l’utilisateur doit avoir les autorisations appropriées pour accéder au coffre de clés. Pour plus d’informations, consultez S’authentifier auprès d’Azure Key Vault.

    Quand vous configurez le chiffrement avec des clés gérées par le client pour un compte de stockage existant, vous pouvez choisir de mettre à jour automatiquement la version de clé utilisée pour le chiffrement du service Stockage Azure chaque fois qu’une nouvelle version est disponible dans le coffre de clés associé. Pour ce faire, omettez la version de clé de l’URI de clé. Vous pouvez également spécifier explicitement une version de clé à utiliser pour le chiffrement jusqu’à ce que la version de clé soit mise à jour manuellement. L’inclusion de la version de clé sur l’URI de clé configure les clés gérées par le client pour la mise à jour manuelle de la version de clé.

    Important

    Pour effectuer la rotation d’une clé, créez une version de la clé dans Azure Key Vault. Le stockage Azure ne gère pas la rotation des clés. Vous devez donc le gérer dans le coffre de clés. Vous pouvez configurer la rotation automatique des clés dans Azure Key Vault ou changer votre clé manuellement.

    Le stockage Azure vérifie le coffre de clés pour une nouvelle version de clé une fois par jour. Lorsque vous effectuez la rotation d’une clé dans Azure Key Vault, veillez à patienter 24 heures avant de désactiver l’ancienne version.

    Pour configurer des clés gérées par le client multilocataires pour un nouveau compte de stockage dans le Portail Azure, procédez comme suit :

    1. Dans le portail Azure, accédez à la page Comptes de stockage dans le locataire de l’éditeur de logiciels indépendants, puis sélectionnez le bouton Créer pour créer un compte.

    2. Suivez les étapes décrites dans Créer un compte de stockage pour remplir les champs sous les onglets Général, Avancé, Réseau et Protection des données.

    3. Sous l’onglet Chiffrement, indiquez les services pour lesquels vous voulez activer la prise en charge des clés gérées par le client dans le champ Activer la prise en charge des clés gérées par le client.

    4. Dans le champ Type de chiffrement, sélectionnez Clés gérées par le client (CMK).

    5. Dans le champ Clé de chiffrement, choisissez Entrer une clé du coffre de clés et spécifiez l’URI de la clé. Omettez la version de clé de l’URI si vous souhaitez que Stockage Azure recherche automatiquement une nouvelle version de clé et la mette à jour.

    6. Pour le champ Identité affectée par l’utilisateur, recherchez l’identité managée affectée par l’utilisateur que vous avez créée précédemment dans le locataire de l’éditeur de logiciels indépendants.

    7. Développez la section Avancé, puis sélectionnez l’application multilocataire inscrite que vous avez créée précédemment dans le locataire de l’éditeur de logiciels indépendants.

      Screenshot showing how to configure cross-tenant customer-managed keys for a new storage account in Azure portal.

    8. Sélectionnez le bouton Vérifier pour valider et créer le compte.

    Vous pouvez également configurer les clés gérées par le client avec la mise à jour manuelle de la version de clé lorsque vous créez un compte de stockage. Pour ce faire, incluez la version de la clé lorsque vous spécifiez l’URI de clé.

    Modifier la clé

    Vous pouvez modifier la clé que vous utilisez pour le chiffrement du service Stockage Azure à tout moment.

    Notes

    Quand vous modifiez la clé ou la version de clé, la protection de la clé de chiffrement racine change, mais les données de votre compte de stockage Azure ne restent pas chiffrées tout le temps. Aucune action supplémentaire n’est requise de votre part pour garantir la protection de vos données. La modification de la clé ou la rotation de la version de la clé n’a pas d’impact sur le niveau de performance. Aucun temps d’arrêt n’est associé à la rotation de la version de la clé ou à la modification de clé.

    Pour modifier la clé avec le portail Azure, procédez comme suit :

    1. Accédez à votre compte de stockage et affichez les paramètres de chiffrement.
    2. Sélectionnez le coffre de clés, puis choisissez une nouvelle clé.
    3. Enregistrez vos modifications.

    Révoquer l’accès à un compte de stockage qui utilise des clés gérées par le client

    Pour révoquer temporairement l’accès à un compte de stockage qui utilise des clés gérées par le client, désactivez la clé actuellement utilisée dans le coffre de clés. Aucun impact sur les performances ni aucun temps d’arrêt n’est associé à la désactivation et à la réactivation de la clé.

    Après la désactivation de la clé, les clients ne peuvent pas appeler les opérations de lecture ou d’écriture dans un objet blob ou ses métadonnées. Pour plus d’informations sur les opérations qui échouent, consultez la section Révoquer l’accès à un compte de stockage qui utilise des clés gérées par le client.

    Attention

    Lorsque vous désactivez la clé dans le coffre de clés, les données de votre compte de stockage Azure restent chiffrées, mais elles deviennent inaccessibles jusqu’à ce que vous réactiviez la clé.

    Pour désactiver un clé gérée par le client dans le portail Azure, procédez comme suit :

    1. Accédez au coffre de clés qui contient la clé.

    2. Sous Objets, sélectionnez Clés.

    3. Cliquez avec le bouton droit sur la clé, puis sélectionnez Désactiver.

      Screenshot showing how to disable a customer-managed key in the key vault.

    Revenir aux clés gérées par Microsoft

    Vous pouvez passer des clés gérées par le client aux clés gérées par Microsoft à tout moment, à l’aide du portail Azure, de PowerShell ou d’Azure CLI.

    Pour passer des clés gérées par le client aux clés gérées par Microsoft dans le portail Azure, procédez comme suit :

    1. Accédez à votre compte de stockage.

    2. Sous Sécurité + mise en réseau, sélectionnez Chiffrement.

    3. Définissez le Type de chiffrement sur Clés gérées par Microsoft.

      Screenshot showing how to switch to Microsoft-managed keys for a storage account.

    Voir aussi