Gérer les clés d’accès au compte de stockage

Quand vous créez un compte de stockage, Azure génère 2 clés d’accès 512 bits pour ce compte. Ces clés peuvent être utilisées pour autoriser l’accès aux données de votre compte de stockage via l’autorisation de clé partagée ou via des jetons SAP signés avec la clé partagée.

Microsoft vous recommande d’utiliser Azure Key Vault pour gérer vos clés d’accès, ainsi que de permuter et de regénérer régulièrement vos clés. L’utilisation d’Azure Key Vault facilite la permutation de vos clés sans interruption de vos applications. Vous pouvez également permuter manuellement vos clés.

Important

Pour une sécurité optimale, Microsoft recommande d’utiliser quand c’est possible Microsoft Entra ID avec des identités managées pour autoriser les requêtes sur les données de blob, de file d’attente et de table. L’autorisation avec Microsoft Entra ID et les identités managées offre davantage de sécurité et de facilité d’utilisation que l’autorisation de clé partagée. Pour plus d’informations sur les identités managées, consultez Présentation des identités managées pour les ressources Azure. Pour obtenir un exemple d’activation et d’utilisation d’une identité managée pour une application .NET, consultez Authentification d’applications hébergées par Azure auprès de ressources Azure avec .NET.

Pour les ressources hébergées en dehors d’Azure, comme des applications locales, vous pouvez utiliser des identités managées via Azure Arc. Par exemple, les applications s’exécutant sur des serveurs avec Azure Arc peuvent utiliser des identités managées pour se connecter à des services Azure. Pour en savoir plus, consultez S’authentifier auprès de ressources Azure au moyen de serveurs avec Azure Arc.

Pour les scénarios où les signatures d’accès partagé (SAP) sont utilisées, Microsoft recommande d’utiliser une SAP de délégation d’utilisateur. Une SAP de délégation d’utilisateur est sécurisée avec des informations d’identification Microsoft Entra au lieu de la clé de compte. Pour en savoir plus sur les signatures d’accès partagé, consultez Accorder un accès limité aux données avec des signatures d’accès partagé. Pour obtenir un exemple de création et d’utilisation d’une SAP de délégation d’utilisateur avec .NET, consultez Créer une SAP de délégation d’utilisateur pour un blob avec .NET.

Protégez vos clés d’accès

Les clés d’accès au compte de stockage fournissent un accès complet aux données du compte de stockage et la possibilité de générer des jetons SAP. Veillez toujours à protéger vos clés d’accès. Utilisez Azure Key Vault pour gérer et effectuer la rotation de vos clés en toute sécurité. L’accès à la clé partagée accorde à un utilisateur un accès complet aux données d’un compte de stockage. L’accès aux clés partagées doit être soigneusement limité et surveillé. Utilisez des jetons SAP de délégation d’utilisateur avec une étendue d’accès limitée dans les scénarios où l’autorisation basée sur Microsoft Entra ID ne peut pas être utilisée. Évitez le codage effectué de manière irréversible des clés d’accès ou de les enregistrer en texte brut dans un emplacement accessible à d’autres personnes. Effectuez une rotation de vos clés si vous pensez qu’elles ont pu être compromises.

Important

Pour empêcher les utilisateurs d’accéder aux données de votre compte de stockage avec une clé partagée, vous pouvez interdire l’autorisation de clé partagée pour le compte de stockage. L’accès granulaire aux données avec le moins de privilèges nécessaires est recommandé en tant que meilleure pratique de sécurité. L’autorisation basée sur Microsoft Entra ID avec des identités managées doit être utilisée pour les scénarios qui prennent en charge OAuth. Kerberos ou SMTP doit être utilisé pour Azure Files sur SMB. Pour Azure Files sur REST, des jetons SAP peuvent être utilisés. L’accès à la clé partagée doit être désactivé s’il n’est pas nécessaire pour empêcher son utilisation par inadvertance. Pour plus d’informations, consultez Empêcher l’autorisation avec clé partagée pour un compte de stockage Azure.

Pour protéger un compte de stockage Azure avec des stratégies d’accès conditionnel Microsoft Entra, vous devez interdire l’autorisation de clé partagée pour le compte de stockage.

Si vous avez désactivé l’accès à la clé partagée et que l’autorisation de clé partagée est signalée dans les journaux de diagnostic, cela signifie que l’accès approuvé est utilisé pour accéder au stockage. Pour obtenir plus d’informations, voir Accès approuvé pour les ressources inscrites dans votre tenant Microsoft Entra.

Afficher les clés d’accès au compte

Vous pouvez afficher et copier les clés d’accès à votre compte avec le portail Azure, PowerShell ou Azure CLI. Le portail Azure fournit également une chaîne de connexion pour votre compte de stockage, que vous pouvez copier.

Pour afficher et copier les clés d’accès ou la chaîne de connexion de votre compte de stockage à partir du portail Azure :

  1. Dans le portail Azure, accédez à votre compte de stockage.

  2. Sous Sécurité + mise en réseau, sélectionnez Clés d’accès. Vos clés d’accès au compte s’affichent, ainsi que la chaîne de connexion complète de chaque clé.

  3. Sélectionnez Afficher les clés pour afficher vos clés et les chaînes de connexion, et pour activer les boutons permettant de copier les valeurs.

  4. Sous key1, trouvez la valeur de Clé. Sélectionnez le bouton Copier pour copier la clé de compte.

  5. Vous pouvez aussi copier la chaîne de connexion complète. Sous key1, recherchez la Chaîne de connexion. Sélectionnez le bouton Copier pour copier la chaîne de connexion.

    Capture d’écran montrant comment afficher les clés d’accès dans le portail Azure

Vous pouvez utiliser la clé de votre choix pour accéder au Stockage Azure, mais il est en général conseillé d’utiliser la première et de réserver la deuxième pour le rotation des clés.

Pour visualiser ou lire les clés d’accès d’un compte, l’utilisateur doit être administrateur de service ou titulaire d’un rôle Azure qui comprend Microsoft.Storage/storageAccounts/listkeys/action. Voici quelques rôles AZURE intégrés qui incluent cette action : Propriétaire, Contributeur et Rôle de service d’opérateur de clé de compte de stockage. Pour plus d’informations sur le rôle d’administrateur de service, consultez Rôles Azure, rôles Microsoft Entra, et rôles d’administrateur d’abonnement classique. Pour plus d’informations sur les rôles intégrés pour Stockage Azure, consultez la section Stockage dans Rôles intégrés Azure pour Azure RBAC.

Utiliser Azure Key Vault pour gérer vos clés d’accès

Microsoft recommande d’utiliser Azure Key Vault pour gérer et permuter vos clés d’accès. Votre application peut accéder de manière sécurisée à vos clés dans Key Vault, afin que vous puissiez éviter de les stocker avec votre code d’application. Pour plus d’informations sur l’utilisation de Key Vault pour la gestion des clés, consultez les articles suivants :

Permuter des clés d’accès manuellement

Microsoft vous recommande de permuter vos clés d’accès régulièrement pour garantir une sécurité optimale de votre compte de stockage. Si possible, utilisez Azure Key Vault pour gérer vos clés d’accès. Si vous n’utilisez pas Key Vault, vous devrez permuter vos clés manuellement.

Deux clés d’accès sont assignées pour vous permettre de les permuter. L’existence de deux clés permet de garantir que votre application maintient l’accès au Stockage Azure tout au long du processus.

Avertissement

La regénération des clés d’accès peut impacter des applications ou des services Azure qui ont une dépendance avec la clé du compte de stockage. Tous les clients qui utilisent la clé de compte pour accéder au compte de stockage doivent être mis à jour afin d’utiliser la nouvelle clé, y compris les services multimédias, les applications cloud, de bureau et mobiles, et les applications d’interface utilisateur graphique pour le stockage Azure, comme l’Explorateur Stockage Azure.

En outre, la rotation ou la régénération des clés d’accès révoque les signatures d’accès partagé (SAP) générées en fonction de cette clé. Après la rotation de la clé d’accès, vous devez régénérer les jetons SAP du compte et du service pour éviter toute interruption des applications. Notez que les jetons SAS de délégation d’utilisateur sont sécurisés avec des informations d’identification Microsoft Entra et ne sont pas affectés par la rotation des clés.

Si vous envisagez d’effectuer une rotation manuelle des clés d’accès, Microsoft vous recommande de définir une stratégie d’expiration de clé. Pour plus d’informations, consultez Créer une stratégie d’expiration de clé.

Après avoir créé la stratégie d’expiration de clé, vous pouvez utiliser Azure Policy pour vérifier si les clés d’un compte de stockage ont fait l’objet d’une rotation dans l’intervalle recommandé. Pour plus d’informations, consultez Vérifier les violations de la stratégie d’expiration de clé.

Pour opérer la rotation des clés d’accès de votre compte de stockage dans le portail Azure :

  1. Mettez à jour les chaînes de connexion dans votre code d’application pour désigner la clé d’accès secondaire du compte de stockage.
  2. Accédez à votre compte de stockage dans le Portail Azure.
  3. Sous Sécurité + mise en réseau, sélectionnez Clés d’accès.
  4. Pour régénérer la clé d’accès primaire de votre compte de stockage, sélectionnez le bouton Régénérer en regard de la clé d’accès primaire.
  5. Mettez à jour les chaînes de connexion dans votre code pour désigner la nouvelle clé d’accès principale.
  6. Regénérez la clé d’accès secondaire de la même manière.

Attention

Microsoft recommande d’utiliser uniquement l’une des clés dans toutes vos applications en même temps. Si vous utilisez parfois la clé 1 et parfois la clé 2, vous ne pouvez effectuer aucune rotation de vos clés sans qu’une application ne perde l’accès.

Pour effectuer la rotation des clés d’accès d’un compte, l’utilisateur doit être administrateur de service ou titulaire d’un rôleAzure qui comprend Microsoft.Storage/storageAccounts/regeneratekey/action. Voici quelques rôles AZURE intégrés qui incluent cette action : Propriétaire, Contributeur et Rôle de service d’opérateur de clé de compte de stockage. Pour plus d’informations sur le rôle d’administrateur de service, consultez Rôles Azure, rôles Microsoft Entra, et rôles d’administrateur d’abonnement classique. Pour plus d’informations sur les rôles Azure intégrés pour Stockage Azure, consultez la section Stockage dans Rôles intégrés Azure pour Azure RBAC.

Créer une stratégie d’expiration de clé

Une stratégie d’expiration de clé vous permet de définir un rappel pour la rotation des clés d’accès au compte. Le rappel s’affiche si l’intervalle spécifié s’est écoulé et que les clés n’ont pas encore fait l’objet d’une rotation. Après avoir créé une stratégie d’expiration de clé, vous pouvez contrôler la conformité de vos comptes de stockage afin de vous assurer que les clés d’accès au compte font l’objet d’une rotation régulière.

Notes

Avant de pouvoir créer une stratégie d’expiration de clé, vous devrez peut-être effectuer une rotation de chacune des clés d’accès à votre compte au moins une fois.

Pour créer une politique d'expiration des clés dans le portail Azure :

  1. Dans le portail Azure, accédez à votre compte de stockage.
  2. Sous Sécurité + mise en réseau, sélectionnez Clés d’accès. Vos clés d’accès au compte s’affichent, ainsi que la chaîne de connexion complète de chaque clé.
  3. Sélectionnez le bouton Définir le rappel de rotation. Si le bouton Définir le rappel de rotation est grisé, vous devez faire pivoter chacune de vos touches. Suivez les étapes décrites dans Faire pivoter manuellement des clés d’accès pour faire pivoter les clés.
  4. Dans Définir un rappel pour faire pivoter les clés d'accès, activez la case à cocher Activer les rappels pour faire pivoter les clés d'accès et définissez une fréquence pour le rappel.
  5. Sélectionnez Enregistrer.

Capture d’écran montrant comment créer une stratégie d’expiration de clé dans le portail Azure

Vérifier les violations de la stratégie d’expiration de clé

Vous pouvez surveiller vos comptes de stockage avec Azure Policy pour vous assurer que les clés d’accès aux comptes ont fait l’objet d’une rotation dans les délais recommandés. Stockage Azure fournit une stratégie intégrée qui permet de s’assurer que les clés d’accès au compte de stockage ne sont pas expirées. Pour plus d’informations sur la stratégie intégrée, consultez Les clés de compte de stockage ne doivent pas être expirées dans Liste des définitions de stratégie intégrées.

Attribuer la stratégie intégrée à une étendue de ressources

Pour attribuer la stratégie intégrée à l’étendue appropriée dans le portail Azure, procédez comme suit :

  1. Dans le portail Azure, recherchez Policy pour afficher le tableau de bord d’Azure Policy.

  2. Dans la section Création, sélectionnez Attributions.

  3. Choisissez Attribuer la stratégie.

  4. Dans l’onglet Informations de base de la page Attribuer une stratégie, dans la section Étendue, spécifiez l’étendue de l’attribution de stratégie. Sélectionnez le bouton Plus pour choisir l’abonnement et le groupe de ressources facultatif.

  5. Pour le champ Définition de stratégie, sélectionnez le bouton Plus, puis entrez les clés de compte de stockage dans le champ Rechercher. Sélectionnez la définition de stratégie nommée Les clés de compte de stockage ne doivent pas être expirées.

    Capture d’écran montrant comment sélectionner la stratégie intégrée pour analyser les intervalles de rotation pour les comptes de stockage

  6. Sélectionnez Vérifier + créer pour attribuer la définition de stratégie à l’étendue spécifiée.

    Capture d’écran illustrant la création d’une affectation de stratégie

Surveiller la conformité avec la stratégie d’expiration de clé

Pour surveiller la conformité de vos comptes de stockage avec la stratégie d’expiration de clé, procédez comme suit :

  1. Sur le tableau de bord Azure Policy, recherchez la définition de la stratégie intégrée pour l’étendue que vous avez spécifiée dans l’attribution de stratégie. Vous pouvez rechercher Les clés de compte de stockage ne doivent pas être expirées dans la zone Rechercher afin de filtrer la stratégie intégrée.

  2. Sélectionnez le nom de la stratégie avec l’étendue souhaitée.

  3. Dans la page Attribution de stratégie pour la stratégie intégrée, sélectionnez Afficher la conformité. Tous les comptes de stockage dans l’abonnement et le groupe de ressources spécifiés qui ne répondent pas aux exigences de la stratégie apparaissent dans le rapport de conformité.

    Capture d’écran montrant comment afficher le rapport de conformité pour la stratégie intégrée d’expiration de clés

Pour mettre un compte de stockage en conformité, effectuez une rotation des clés d’accès au compte.

Étapes suivantes