Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
✔️ S’applique à : Stockage Blob Azure, Azure Data Lake Storage, Stockage File d'attente Azure, Azure Table Storage
✖️ Ne s'applique pas à : Azure Files (Microsoft.Storage ou Microsoft.FileShares)
La communication entre une application cliente et un compte stockage Azure est chiffrée en utilisant la sécurité de la couche de transport (TLS). Le protocole TLS est un protocole de chiffrement standard qui garantit la confidentialité et l’intégrité des données entre les clients et les services via Internet. Pour plus d’informations sur le protocole TLS , consultez TLS.
Stockage Azure prend en charge deux versions du protocole TLS : 1.2 et 1.3. Bien qu'stockage Azure prenne désormais en charge TLS 1.3, il ne supporte pas actuellement l'application de TLS 1.3 comme version minimale TLS pour les comptes stockage Azure. La version minimale recommandée de TLS est TLS 1.2. Les clients utilisant les dernières versions TLS négocient automatiquement pour utiliser TLS 1.3 si disponible.
Conseil
Le stockage Azure s’appuie sur l’implémentation Windows de SSL qui n’est pas basée sur OpenSSL et n’est donc pas exposé aux vulnérabilités liées à OpenSSL.
Les comptes stockage Azure permettent aux clients d’envoyer et de recevoir des données avec TLS versions 1.2 et ultérieures. Lorsqu’un compte de stockage nécessite une version TLS minimale, toute requête utilisant une version plus ancienne échoue.
Cet article explique comment utiliser une infrastructure DRAG (détection, correction, audit, gouvernance) pour gérer en continu le protocole TLS sécurisé pour vos comptes de stockage.
Pour plus d’informations sur la façon de spécifier une version particulière de TLS lors de l’envoi d’une demande à partir d’une application cliente, consultez Configurer le protocole TLS (Transport Layer Security) pour une application cliente.
Remarque
La suite de chiffrement utilisée lorsque les clients envoient des données vers et reçoivent des données depuis un compte de stockage dépend de la version TLS utilisée. Vous ne pouvez pas configurer un compte de stockage pour bloquer l’utilisation de suites de chiffrement spécifiques, sauf en exigeant une version TLS minimale. Si vous avez besoin de la possibilité d’autoriser uniquement des suites de chiffrement spécifiques lors de la connexion à votre compte de stockage, envisagez d’utiliser Azure Application Gateway. Pour plus d’informations sur l’utilisation d’Application Gateway à cet effet, consultez Configurer les versions des stratégies TLS et les suites de chiffrement sur Azure Application Gateway.
Pour Azure Files, voir le chiffrement FileREST en transit. Les comptes de stockage contenant des partages de fichiers Azure utilisent le même paramètre, mais l’article Azure Files décrit les considérations concernant Azure Files.
Détecter la version TLS utilisée par les applications clientes
Lorsque vous imposez une version TLS minimale pour votre compte de stockage, vous risquez de rejeter les requêtes de clients utilisant une version plus ancienne de TLS. Pour comprendre comment la configuration de la version TLS minimale affecte les applications clientes, Microsoft recommande d’activer la journalisation de votre compte stockage Azure et d’analyser les journaux après un certain temps afin de détecter quelles versions de TLS les applications clientes utilisent.
Pour enregistrer les requêtes sur votre compte stockage Azure et déterminer la version TLS utilisée par le client, utilisez la journalisation stockage Azure dans Azure Monitor. Pour plus d’informations, consultez Superviser le stockage Azure.
La journalisation du stockage Azure dans Azure Monitor prend en charge l’utilisation de requêtes de journal pour analyser les données des journaux. Pour interroger les journaux, utilisez un espace de travail Azure Log Analytics. Pour en savoir plus sur les requêtes de journal, consultez Tutoriel : Bien démarrer avec les requêtes Log Analytics.
Pour journaliser des données de stockage Azure avec Azure Monitor et les analyser avec Azure Log Analytics, vous devez d’abord créer un paramètre de diagnostic qui indique les types de demandes et les services de stockage pour lesquels vous souhaitez journaliser les données. Pour créer un paramètre de diagnostic dans le portail Azure, suivez ces étapes :
Créez un espace de travail Log Analytics dans l’abonnement qui contient votre compte de stockage Azure. Après avoir configuré la journalisation pour votre compte de stockage, les journaux sont disponibles dans l’espace de travail Log Analytics. Pour plus d’informations, consultez Créer un espace de travail Log Analytics dans le portail Azure.
Accédez à votre compte de stockage dans le portail Azure.
Dans la section Supervision, sélectionnez Paramètres de diagnostic.
Sélectionnez le service de stockage Azure pour lequel vous souhaitez journaliser les demandes. Par exemple, choisissez Blob pour journaliser les demandes dans le stockage Blob.
Sélectionnez Ajouter le paramètre de diagnostic.
Fournissez un nom pour le paramètre de diagnostic.
Sous Détails de la catégorie, dans la section Journal, choisissez les types de demandes à journaliser. Vous pouvez journaliser les demandes de lecture, d’écriture et de suppression. Par exemple, choisir StorageRead et StorageWrite journalise les requêtes de lecture et d’écriture vers le service sélectionné.
Sous Détails de la destination, sélectionnez Envoyer à Log Analytics. Sélectionnez votre abonnement et l’espace de travail Log Analytics que vous avez créé, comme illustré dans l’image suivante.
Après avoir créé le paramètre de diagnostic, le compte de stockage enregistre les requêtes selon ce paramètre. Pour plus d’informations, consultez Créer un paramètre de diagnostic pour collecter les journaux et les métriques des ressources dans Azure.
Pour obtenir des informations de référence sur les champs disponibles dans les journaux Stockage Azure dans Azure Monitor, consultez Journaux de ressources.
Interroger les demandes journalisées en fonction de la version de TLS
Les journaux de stockage Azure dans Azure Monitor incluent la version de TLS utilisée pour envoyer une demande à un compte de stockage. Utilisez la propriété TlsVersion pour vérifier la version de TLS d’une demande journalisée.
Pour déterminer le nombre de demandes effectuées sur le Stockage Blob avec différentes versions du protocole TLS au cours des sept derniers jours, ouvrez votre espace de travail Log Analytics. Collez ensuite la requête suivante dans une nouvelle requête de journal et exécutez-la. N’oubliez pas de remplacer les valeurs d’espace réservé entre crochets par vos propres valeurs :
StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>"
| summarize count() by TlsVersion
Les résultats indiquent le nombre de demandes effectuées avec chaque version de TLS :
Interroger les demandes journalisées en fonction de l’adresse IP de l’appelant et de l’en-tête de l’agent utilisateur
Les journaux stockage Azure dans Azure Monitor incluent également l’adresse IP de l’appelant et l’en-tête de l’agent utilisateur pour vous aider à évaluer quelles applications clientes ont accédé au compte de stockage. Vous pouvez analyser ces valeurs pour décider si les applications clientes doivent être mises à jour pour utiliser une version plus récente de TLS, ou s’il est acceptable de rejeter la demande d’un client si elle n’est pas envoyée avec la version TLS minimale.
Pour déterminer les clients qui ont effectué des demandes avec une version de TLS antérieure à TLS 1.2 au cours des sept derniers jours, collez la requête suivante dans une nouvelle requête de journal et exécutez-la. N’oubliez pas de remplacer les valeurs d’espace réservé entre crochets par vos propres valeurs :
StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>" and TlsVersion != "TLS 1.2"
| project TlsVersion, CallerIpAddress, UserAgentHeader
Corriger les risques de sécurité avec une version minimale de TLS
Lorsque vous êtes certain que le trafic provenant de clients utilisant d’anciennes versions de TLS est minimal, ou qu’il est acceptable d’échouer les requêtes utilisant une version TLS obsolète, vous pouvez alors commencer à imposer une version TLS minimale sur votre compte de stockage. Exiger que les clients utilisent une version minimale de TLS pour effectuer des demandes sur un compte de stockage fait partie d’une stratégie visant à de réduire les risques de sécurité pour vos données.
Important
Si vous utilisez un service qui se connecte à stockage Azure, assurez-vous que ce service utilise la version appropriée de TLS pour envoyer les requêtes à stockage Azure avant de définir la version minimale requise pour un compte de stockage.
Configurer la version minimale de TLS pour un compte de stockage
Pour configurer la version minimale de TLS pour un compte de stockage, définissez la version minimumTlsVersion pour le compte. Cette propriété est disponible pour tous les comptes de stockage créés avec le modèle de déploiement Azure Resource Manager. Pour plus d’informations sur le modèle de déploiement Azure Resource Manager, consultez Vue d’ensemble du compte de stockage.
La valeur par défaut de la propriété MinimumTlsVersion est différente selon la façon dont vous la définissez. Lorsque vous créez un compte de stockage avec le portail Azure, la version TLS minimale est définie sur 1.2 par défaut. Lors de la création d'un compte de stockage avec PowerShell, Azure CLI ou un modèle Azure Resource Manager, la MinimumTlsVersion propriété n'est pas définie par défaut et ne renvoie pas de valeur tant que vous ne l'avez pas configurée explicitement.
Lorsque la propriété MinimumTlsVersion n’est pas définie, sa valeur peut être affichée soit comme null, soit comme une chaîne vide, selon le contexte. Le compte de stockage permet les requêtes envoyées avec TLS version 1.0 ou supérieure si la propriété n’est pas définie.
Lorsque vous créez un compte de stockage avec le portail Azure, la version TLS minimale est définie sur 1.2 par défaut.
Pour configurer la version TLS minimale pour un compte de stockage existant avec le portail Azure, effectuez les étapes suivantes :
Remarque
Après avoir mis à jour la version TLS minimale pour le compte de stockage, il peut falloir jusqu’à 30 secondes avant que le changement ne soit pleinement propagé.
La configuration de la version minimale de TLS nécessite la version 2019-04-01 ou une version ultérieure du fournisseur de ressources Stockage Azure. Pour plus d’informations, consultez API REST du fournisseur de ressources Stockage Azure.
Vérifier la version minimale requise de TLS pour plusieurs comptes
Pour vérifier la version TLS minimale requise sur un ensemble de comptes de stockage avec des performances optimales, utilisez Azure Resource Graph Explorer dans le portail Azure. Pour en savoir plus sur l’utilisation de l’Explorateur Resource Graph, consultez Démarrage rapide : Exécuter votre première requête Resource Graph à l’aide de l’Explorateur Azure Resource Graph.
L’exécution de la requête suivante dans l’Explorateur Resource Graph retourne une liste de comptes de stockage et affiche la version de TLS minimale pour chaque compte :
resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend minimumTlsVersion = parse_json(properties).minimumTlsVersion
| project subscriptionId, resourceGroup, name, minimumTlsVersion
Tester la version de TLS minimale à partir d’un client
Pour vérifier que la version TLS minimale requise pour un compte de stockage interdit les appels effectués avec une version plus ancienne, configurez un client pour utiliser une version plus ancienne de TLS. Pour plus d’informations sur la configuration d’un client afin qu’il utilise une version spécifique de TLS, consultez Configurer le protocole TLS (Transport Layer Security) pour une application cliente.
Lorsqu'un client accède à un compte de stockage en utilisant une version TLS qui ne correspond pas à la version TLS minimale configurée pour le compte, stockage Azure affiche le code d'erreur 400 (mauvaise requête) et un message indiquant que la version TLS n'est pas autorisée pour effectuer des requêtes sur ce compte de stockage.
Remarque
Lorsque vous configurez une version TLS minimale pour un compte de stockage, la couche application applique cette version minimale. Les outils qui tentent de déterminer le support TLS au niveau du protocole peuvent renvoyer des versions TLS en plus de la version minimale requise lorsqu’ils sont exécutés directement sur le point de terminaison du compte de stockage.
Utiliser Azure Policy pour auditer la conformité
Si vous avez un grand nombre de comptes de stockage, vous pourriez vouloir effectuer un audit pour vous assurer que tous les comptes sont configurés selon la version minimale de TLS requise par votre organisation. Pour auditer la conformité d’un ensemble de comptes de stockage, utilisez Azure Policy. Azure Policy est un service que vous pouvez utiliser pour créer, attribuer et gérer des stratégies qui appliquent des règles à des ressources Azure. Azure Policy vous aide à maintenir ces ressources conformes à vos normes d’entreprise et accords de niveau de service. Pour plus d’informations, consultez Vue d’ensemble d’Azure Policy.
Créer une stratégie avec un effet d’audit
Azure Policy prend en charge les effets qui déterminent ce qui se produit quand une règle de stratégie est évaluée par rapport à une ressource. L’effet d’audit crée un avertissement lorsqu’une ressource n’est pas conforme, mais il n’arrête pas la requête. Pour plus d’informations, consultez Comprendre les effets d’Azure Policy.
Pour créer une politique avec un effet d’audit pour la version TLS minimale en utilisant le portail Azure, suivez ces étapes :
Dans le Portail Azure, accédez au service Azure Policy.
Dans la section Création, sélectionnez Définitions.
Sélectionnez Ajouter une définition de stratégie pour créer une nouvelle définition de stratégie.
Pour le champ emplacement de la définition, sélectionnez le bouton Autres pour spécifier l’emplacement de la ressource de stratégie d’audit.
Permet d’entrer un nom pour la stratégie. Vous pouvez éventuellement spécifier une description et une catégorie.
Sous Règle de stratégie, ajoutez la définition de stratégie suivante à la section policyRule.
{ "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "anyOf": [ { "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion", "notEquals": "TLS1_2" }, { "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion", "exists": "false" } ] } ] }, "then": { "effect": "audit" } } }Enregistrez la stratégie.
Affecter la stratégie
Ensuite, attribuez la stratégie à une ressource. L’étendue de la stratégie correspond à cette ressource et à toutes les ressources qu’elle contient. Pour plus d’informations sur l’attribution de stratégie, consultez Structure d’affectation d’Azure Policy.
Pour attribuer la stratégie avec le portail Azure, procédez comme suit :
- Dans le Portail Azure, accédez au service Azure Policy.
- Dans la section Création, sélectionnez Attributions.
- Sélectionnez Attribuer une stratégie pour créer une attribution de stratégie.
- Pour le champ Étendue, sélectionnez l’étendue de l’attribution de stratégie.
- Pour le champ Définition de stratégie, sélectionnez le bouton Autres, puis la stratégie que vous avez définie dans la section précédente dans la liste.
- Entrez un nom pour l’attribution de stratégie. La description est facultative.
- Laissez l’option Application de stratégie définie sur Activée. Ce paramètre n’a aucun effet sur la stratégie d’audit.
- Sélectionnez Vérifier + créer pour créer l’attribution.
Afficher le rapport de conformité
Après avoir attribué la politique, consultez le rapport de conformité. Le rapport de conformité d’une stratégie d’audit fournit des informations sur les comptes de stockage qui ne sont pas conformes à la stratégie. Pour plus d’informations, consultez Obtenir les données de conformité de la stratégie.
La disponibilité du rapport de conformité peut prendre plusieurs minutes après la création de l’attribution de stratégie.
Pour afficher le rapport de conformité dans le Portail Azure, procédez comme suit :
Dans le Portail Azure, accédez au service Azure Policy.
Sélectionnez Conformité.
Filtrez les résultats sur le nom de l’attribution de stratégie que vous avez créée à l’étape précédente. Le rapport indique le nombre de ressources qui ne sont pas conformes à la stratégie.
Vous pouvez approfondir le rapport pour plus de détails, y compris une liste des comptes de stockage qui ne sont pas conformes.
Utiliser Azure Policy pour appliquer la version minimale de TLS
Azure Policy prend en charge la gouvernance cloud en s’assurant que les ressources Azure respectent les exigences et les normes. Pour imposer une exigence minimale de version TLS pour les comptes de stockage de votre organisation, vous pouvez créer une politique qui empêche la création d’un nouveau compte de stockage fixant l’exigence minimale de TLS à une version plus ancienne de TLS que celle dictée par la politique. Cette politique empêche également toute modification de configuration d’un compte existant si le réglage minimal de la version TLS pour ce compte n’est pas conforme à la politique.
La politique d’application utilise l’effet Refuser pour empêcher une requête qui créerait ou modifierait un compte de stockage de sorte que la version TLS minimale ne respecte plus les normes de votre organisation. Pour plus d’informations, consultez Comprendre les effets d’Azure Policy.
Pour créer une politique avec un effet de refus pour une version minimale de TLS inférieure à TLS 1.2, suivez les mêmes étapes décrites dans Utiliser Azure Policy pour auditer la conformité, mais fournissez le JSON suivant dans la section policyRule de la définition de la politique :
{
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Storage/storageAccounts"
},
{
"anyOf": [
{
"field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
"notEquals": "TLS1_2"
},
{
"field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
"exists": "false"
}
]
}
]
},
"then": {
"effect": "deny"
}
}
}
Après avoir créé la politique avec l’effet de refus et l’avoir assignée à un périmètre, un utilisateur ne peut pas créer un compte de stockage avec une version TLS minimale antérieure à la 1.2. Un utilisateur ne peut pas non plus modifier la configuration d’un compte de stockage existant qui nécessite actuellement une version TLS minimale antérieure à la 1.2. Toute tentative en ce sens entraîne une erreur. La version minimale TLS requise pour le compte de stockage doit être définie sur 1.2 pour poursuivre la création ou la configuration du compte.
L’image suivante montre l’erreur qui se produit si vous tentez de créer un compte de stockage avec la version minimale de TLS définie sur TLS 1.0 (valeur par défaut pour un nouveau compte) quand une stratégie avec effet de refus exige que la version minimale de TLS soit définie sur TLS 1.2.
Autorisations nécessaires pour exiger une version minimale du protocole TLS
Pour définir la propriété MinimumTlsVersion pour le compte de stockage, il faut des permissions pour créer et gérer les comptes de stockage. Les rôles de contrôle d’accès en fonction du rôle Azure (contrôle RBAC Azure) qui fournissent ces autorisations comprennent l’action Microsoft.Storage/storageAccounts/write ou l’action Microsoft.Storage/storageAccounts/*. Parmi les rôles intégrés comportant cette action figurent :
- Le rôle Propriétaire d’Azure Resource Manager
- Le rôle Contributeur d’Azure Resource Manager
- Le rôle Contributeur de compte de stockage
Ces rôles ne donnent pas accès aux données d'un compte de stockage via Microsoft Entra ID. Toutefois, ils incluent l’action Microsoft.Storage/storageAccounts/listkeys/action, qui accorde l’accès aux clés d’accès du compte. Avec cette autorisation, vous pouvez utiliser les clés d’accès au compte de stockage pour accéder à toutes les données du compte de stockage.
Les attributions de rôles doivent être définies au niveau du compte de stockage ou à un niveau supérieur pour vous permettre d’exiger une version minimale de TLS pour le compte de stockage. Pour plus d’informations sur l’étendue des rôles, consultez Comprendre l’étendue pour Azure RBAC.
Veillez à limiter l’attribution de ces rôles aux seules personnes qui ont besoin de créer un compte de stockage ou de mettre à jour ses propriétés. Utilisez le principe du moindre privilège pour garantir que les utilisateurs disposent du moins de permissions nécessaires pour accomplir leurs tâches. Pour plus d’informations sur la gestion de l’accès avec Azure RBAC, consultez Meilleures pratiques pour Azure RBAC.
Remarque
Les rôles d’administrateur d’abonnement classique Administrateur de service et Co-administrateur incluent l’équivalent du rôle Propriétaire d’Azure Resource Manager. Le rôle Propriétaire comprend toutes les actions. Par conséquent, un utilisateur disposant de l’un de ces rôles d’administration peut également créer et gérer des comptes de stockage. Pour plus d’informations, consultez Rôles Azure, rôles Microsoft Entra et rôles d’administrateur d’abonnement classique.
Considérations relatives au réseau
Lorsqu’un client envoie une requête à un compte de stockage, le client se connecte d’abord au point de terminaison public du compte de stockage avant de traiter toute requête. Le paramètre de version TLS minimale est vérifié après l’établissement de la connexion. Si la requête utilise une version antérieure de TLS à celle spécifiée par le paramètre, la connexion continue de réussir, mais la requête échoue finalement. Pour plus d’informations sur les points de terminaison publics pour le stockage Azure, consultez Syntaxe d’URI de ressource.