Configurer une stratégie d’expiration pour les signatures d’accès partagé
Vous pouvez utiliser une signature d’accès partagé (SAP) pour déléguer l’accès aux ressources de votre compte de stockage Azure. Un jeton SAP comprend la ressource ciblée, les autorisations accordées et l’intervalle pendant lequel l’accès est autorisé. Les meilleures pratiques recommandent de limiter l’intervalle d’une signature d’accès partagé au cas où elle serait compromise. En définissant une stratégie d’expiration des signatures d’accès partagé (SAP) pour vos comptes de stockage, vous pouvez fournir une limite d’expiration supérieure recommandée lorsqu'un utilisateur crée un SAS de délégation d'utilisateur, un SAS de service ou un SAS de compte.
Pour plus d’informations sur les signatures d’accès partagé, consultez Accorder un accès limité aux ressources du Stockage Azure à l’aide des signatures d’accès partagé (SAP).
Important
Pour les scénarios où les signatures d’accès partagé 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 les informations d’identification Microsoft Entra au lieu de la clé de compte, ce qui offre une sécurité supérieure.
À propos des stratégies d’expiration SAP
Vous pouvez configurer une stratégie d’expiration SAP sur le compte de stockage. La stratégie d’expiration SAP spécifie la limite supérieure recommandée pour le champ d’expiration signé dans un SAS de délégation d'utilisateur, un SAS de service ou un SAS de compte. La limite supérieure recommandée est spécifiée sous la forme d’une valeur de date/heure qui est un nombre combiné de jours, d’heures, de minutes et de secondes.
L’intervalle de validité de la SAP est calculé en soustrayant la valeur de date/heure du champ début signé de la valeur date/heure du champ d’expiration signé. Si la valeur résultante est inférieure ou égale à la limite supérieure recommandée, la SAP est conforme à la stratégie d’expiration SAP.
Après avoir configuré la stratégie d’expiration des SAP, tout utilisateur qui crée une signature d’accès partagé avec un intervalle dépassant la limite supérieure recommandée verra un avertissement.
Une stratégie d’expiration de signature d’accès partagé n’empêche pas un utilisateur de créer une signature d’accès partagé avec une expiration supérieure à la limite recommandée par la stratégie. Lorsqu’un utilisateur crée une signature d’accès partagé qui enfreint la stratégie, un avertissement s’affiche avec l’intervalle maximal recommandé. Si vous avez configuré un paramètre de diagnostic pour la journalisation avec Azure Monitor, le Stockage Azure écrit un message à la propriété SasExpiryStatus dans les journaux d’activité à chaque fois qu’un utilisateur utilise une SAP qui expire après l’intervalle recommandé. Le message indique que l’intervalle de validité de la SAP dépasse l’intervalle recommandé.
Lorsqu’une stratégie d’expiration SAP est appliquée pour le compte de stockage, le champ de début signé est requis pour chaque SAP. Si le champ de début signé n’est pas inclus dans la SAP et que vous avez configuré un paramètre de diagnostic pour la journalisation avec Azure Monitor, le Stockage Azure écrit alors un message dans la propriété SasExpiryStatus dans les journaux d’activité chaque fois qu’un utilisateur utilise une SAP sans valeur pour le champ de début signé.
Configurer une stratégie d’expiration SAS
Lorsque vous configurez une stratégie d’expiration SAS sur un compte de stockage, la stratégie s’applique à chaque type de SAP : SAP de délégation d’utilisateur, SAP de service et SAP de compte. Les types SAP de service et SAP de compte sont signés avec la clé de compte, tandis que la SAP de délégation d’utilisateur est signée avec les informations d’identification Microsoft Entra.
Remarque
Une SAP de délégation d’utilisateur est signée avec une clé de délégation d’utilisateur, obtenue à l’aide des informations d’identification Microsoft Entra. La clé de délégation d’utilisateur a son propre intervalle d’expiration qui n’est pas soumis à la stratégie d’expiration SAS. La stratégie d’expiration SAS s’applique uniquement à la SAP de délégation d’utilisateur, et non à la clé de délégation d’utilisateur avec qui elle est signée.
Une SAP de délégation d’utilisateur dispose d’un intervalle d’expiration maximal de 7 jours, quelle que soit la stratégie d’expiration SAS. Si la stratégie d’expiration SAS est définie sur une valeur supérieure à 7 jours, la stratégie n’a aucun effet pour une SAP de délégation d’utilisateur. Si la clé de délégation d’utilisateur expire, toute SAP de délégation d’utilisateur signée avec cette clé n’est pas valide et toute tentative d’utilisation de la SAP retourne une erreur.
Dois-je d’abord faire pivoter les clés d’accès au compte ?
Cette section s’applique aux types SAP de service et SAS de compte, qui sont signés avec la clé de compte. Avant de pouvoir configurer une stratégie d’expiration de SAS, vous devrez peut-être faire tourner au moins une fois chacune des clés d’accès à votre compte. Si la propriété keyCreationTime du compte de stockage a une valeur nulle pour l’une des clés d’accès au compte (key1 et key2), vous devrez les faire pivoter. Pour déterminer si la propriété keyCreationTime est nulle, consultez Obtenir l’heure de création des clés d’accès au compte pour un compte de stockage. Si vous tentez de configurer une stratégie d’expiration de signature d’accès partagé (SAP) et que les clés doivent d’abord faire l’objet d’une rotation, l’opération échoue.
Comment configurer une stratégie d’expiration SAP
Vous pouvez configurer une stratégie d’expiration SAP à l’aide du Portail Azure, PowerShell ou Azure CLI.
Pour configurer une stratégie d’expiration de SAS dans le portail Azure, procédez comme suit :
Accédez à votre compte de stockage dans le portail Azure.
Sous Paramètres, sélectionnez Configuration.
Localisez le paramètre permettant d’Autoriser la limite supérieure recommandée pour l’intervalle d’expiration de la signature d’accès partagé (SAP) est définissez-le sur Activé.
Notes
Si le paramètre est grisé et que vous voyez le message affiché dans l’image ci-dessous, vous devez faire pivoter les deux clés d’accès au compte avant de pouvoir définir la limite supérieure recommandée pour les valeurs d’intervalle d’expiration SAP :
Spécifiez les valeurs de temps sous Limite supérieure recommandée pour l’intervalle d’expiration SAP pour l’intervalle recommandé pour toutes les nouvelles signatures d’accès partagé créées sur les ressources de ce compte de stockage.
Cliquez sur Enregistrer pour enregistrer vos modifications.
Requête de journaux de violations de stratégie
Pour consigner l’utilisation d’une signature d’accès partagé valide sur un intervalle plus long que celui recommandé par la stratégie d’expiration de SAP, commencez par créer un paramètre de diagnostic qui envoie des journaux à un espace de travail Azure Log Analytics. Pour plus d’informations, consultez l’article Envoyer des journaux Azure Log Analytics.
Ensuite, utilisez une requête de journal Azure Monitor pour surveiller si la stratégie a été violée. Créez une nouvelle requête dans votre espace de travail Log Analytics, ajoutez le texte de requête suivant, puis appuyez sur Exécuter.
StorageBlobLogs
| where SasExpiryStatus startswith "Policy violated"
| summarize count() by AccountName, SasExpiryStatus
Utiliser une stratégie intégrée pour surveiller la conformité
Vous pouvez analyser vos comptes de stockage avec Azure Policy pour vous assurer que les comptes de stockage de votre abonnement ont configuré des stratégies d’expiration SAP. Le stockage Azure fournit une stratégie intégrée qui permet de s’assurer que ce paramètre est configuré pour les comptes. Pour plus d’informations sur la stratégie intégrée, consultez Les comptes de stockage doivent avoir des stratégies de signature d’accès partagé (SAP) configurées dans la Liste de définitions des stratégies 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 :
Dans le portail Azure, recherchez Policy pour afficher le tableau de bord d’Azure Policy.
Dans la section Création, sélectionnez Attributions.
Choisissez Attribuer la stratégie.
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.
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.
Sélectionnez Vérifier + créer pour attribuer la définition de stratégie à l’étendue spécifiée.
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 :
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
Storage accounts should have shared access signature (SAS) policies configured
dans la zone Rechercher afin de filtrer la stratégie intégrée.Sélectionnez le nom de la stratégie avec l’étendue souhaitée.
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é.
Pour mettre un compte de stockage en conformité, configurez une stratégie d’expiration SAS pour ce compte, comme décrit dans Configurer une stratégie d’expiration SAS.