Restriction de la source des opérations de copie à un compte de stockage

Pour des raisons de sécurité, les administrateurs de stockage peuvent vouloir limiter les environnements à partir desquels les données peuvent être copiées sur des comptes sécurisés. La limitation de l’étendue des opérations de copie autorisées permet d’éviter l’infiltration de données indésirables à partir de locataires ou de réseaux virtuels non approuvés.

Cet article montre comment limiter les comptes sources des opérations de copie aux comptes situés au sein du même locataire que le compte de destination ou dotés de liaisons privées vers le même réseau virtuel que la destination.

Important

L’étendue autorisée pour les opérations de copie est actuellement en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

À propos de l’étendue autorisée pour les opérations de copie (préversion)

La propriété AllowedCopyScope d’un compte de stockage permet de spécifier les environnements à partir desquels les données peuvent être copiées dans le compte de destination. Elle apparaît sur le portail Azure sous la forme du paramètre de configuration Étendue autorisée pour les opérations de copie (préversion). Elle n’est pas définie par défaut et ne retourne pas de valeur si vous ne la définissez pas explicitement. Elle peut prendre trois valeurs :

  • (null) (par défaut) : autorise la copie de n’importe quel compte de stockage vers le compte de destination.
  • Microsoft Entra ID : autorise la copie uniquement à partir de comptes au sein du même locataire Microsoft Entra que le compte de destination.
  • PrivateLink : autorise la copie à partir de comptes de stockage dotés de liaisons privées vers le même réseau virtuel que le compte de destination uniquement.

Le paramètre s’applique aux opérations Copier un objet blob et Copier un objet blob à partir de l’URL. AzCopy et l’Explorateur Stockage Azure constituent des exemples d’outils qui utilisent Copier un objet blob.

Lorsque la source d’une demande de copie ne répond pas aux exigences spécifiées par ce paramètre, la demande échoue avec le code d’état HTTP 403 (Interdit).

La propriété AllowedCopyScope n’est prise en charge que pour les comptes de stockage qui utilisent le modèle de déploiement Azure Resource Manager. Pour plus d’informations sur les comptes de stockage qui utilisent le modèle de déploiement Azure Resource Manager, consultez Types de compte de stockage.

Identification des comptes de stockage sources des opérations de copie

Avant de modifier la valeur d’AllowedCopyScope pour un compte de stockage, identifiez les utilisateurs, les applications ou les services qui seraient affectés par cette modification. Selon vos résultats, il peut être nécessaire de régler le paramètre sur une étendue qui inclut toutes les sources de copie souhaitées, ou d’ajuster la configuration du réseau ou de Microsoft Entra pour certains des comptes de stockage sources.

Les journaux Stockage Azure capturent dans Azure Monitor des informations sur les demandes effectuées sur le compte de stockage, notamment la source et la destination des opérations de copie. Pour plus d’informations, consultez Superviser le stockage Azure. Activez et analysez les journaux pour identifier les opérations de copie susceptibles d’être affectées par la modification d’AllowedCopyScope pour le compte de stockage de destination.

Créer un paramètre de diagnostic dans le portail Azure

Pour journaliser des données 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 :

  1. Créez un espace de travail Log Analytics dans l’abonnement contenant votre compte Stockage Azure, ou utilisez un espace de travail Log Analytics existant. Une fois que vous avez 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.

  2. Accédez à votre compte de stockage dans le portail Azure.

  3. Dans la section Supervision, sélectionnez Paramètres de diagnostic.

  4. 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.

  5. Sélectionnez Ajouter le paramètre de diagnostic.

  6. Fournissez un nom pour le paramètre de diagnostic.

  7. Sous Catégories, dans la section Journaux, choisissez StorageRead, StorageWrite et StorageDelete pour journaliser toutes les demandes de données adressées au service sélectionné.

  8. Sous Détails de la destination, sélectionnez Envoyer à l’espace de travail Log Analytics. Sélectionnez votre abonnement et l’espace de travail Log Analytics que vous avez créé (cf. image suivante), puis Enregistrer.

    Screenshot showing how to create a diagnostic setting for logging requests.

Une fois le paramètre de diagnostic créé, les demandes adressées au compte de stockage sont journalisées conformément à 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.

Interrogation des journaux pour les demandes de copie

Les journaux Stockage Azure incluent toutes les demandes de copie de données vers un compte de stockage à partir d’une autre source. Les entrées de journal incluent le nom du compte de stockage de destination et l’URI de l’objet source, ainsi que des informations permettant d’identifier le client qui demande la copie. Pour obtenir des informations de référence complètes sur les champs disponibles dans les journaux Stockage Azure dans Azure Monitor, consultez Journaux de ressource.

Pour récupérer les journaux des demandes de copie d’objets blob effectuées au cours des sept derniers jours, procédez comme suit :

  1. Accédez à votre compte de stockage dans le portail Azure.

  2. Dans la section Supervision, sélectionnez Journaux.

  3. Collez la requête suivante dans une nouvelle requête de journal et exécutez-la. Cette requête affiche les objets sources auxquels les demandes de copie de données vers le compte de stockage spécifié font le plus fréquemment référence. Dans l’exemple suivant, remplacez le texte d’espace réservé <account-name> par le nom de votre propre compte de stockage.

    StorageBlobLogs
    | where OperationName has "CopyBlobSource" and TimeGenerated > ago(7d) and AccountName == "<account-name>"
    | summarize count() by Uri, CallerIpAddress, UserAgentHeader
    

Les résultats de la requête se présentent comme suit :

Screenshot showing how a Copy Blob Source log query might look.

L’URI constitue le chemin complet de l’objet source copié, qui comprend le nom du compte de stockage, du conteneur et du fichier. Dans la liste des URI, déterminez si les opérations de copie seraient bloquées dans le cas où un paramètre AllowedCopyScope spécifique serait appliqué.

Vous pouvez également configurer une règle d’alerte basée sur cette requête pour vous avertir des demandes Copier un objet blob relatives au compte. Pour plus d’informations, consultez Créer, afficher et gérer des alertes de journal à l’aide d’Azure Monitor.

Limitation de l’étendue autorisée pour les opérations de copie (préversion)

Lorsque vous avez la certitude de pouvoir restreindre en toute sécurité les sources des demandes de copie à une étendue spécifique, vous pouvez définir la propriété AllowedCopyScope du compte de stockage sur cette étendue.

Autorisations permettant de modifier l’étendue autorisée pour les opérations de copie (préversion)

Pour définir la propriété AllowedCopyScope du compte de stockage, un utilisateur doit disposer des autorisations nécessaires pour créer et gérer des comptes de stockage. Les rôles de contrôle d’accès en fonction du rôle Azure (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 :

Ces rôles ne donnent pas accès aux données d’un compte de stockage par le biais de 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, un utilisateur peut utiliser les clés d’accès du compte pour accéder à toutes les données d’un compte de stockage.

Les attributions de rôles doivent être définies au niveau du compte de stockage ou à un niveau supérieur pour permettre à un utilisateur de restreindre l’étendue des opérations de copie du compte. 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. Appliquez le principe des privilèges minimum pour que les utilisateurs disposent des autorisations nécessaires les plus faibles possibles 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.

Notes

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’abonnements classiques.

Configuration de l’étendue autorisée pour les opérations de copie (préversion)

À l’aide d’un compte disposant des autorisations nécessaires, configurez l’étendue autorisée pour les opérations de copie sur le Portail Azure, avec PowerShell ou à l’aide d’Azure CLI.

Pour configurer l’étendue autorisée pour les opérations de copie d’un compte de stockage existant sur le Portail Azure, procédez comme suit :

  1. Accédez à votre compte de stockage dans le portail Azure.

  2. Sous Paramètres, sélectionnez Configuration.

  3. Définissez Étendue autorisée pour les opérations de copie (préversion) sur l’une des valeurs suivantes :

    • À partir de n’importe quel compte de stockage
    • À partir de comptes de stockage dans le même locataire Microsoft Entra
    • À partir de comptes de stockage dotés d’un point de terminaison privé vers le même réseau virtuel

    Screenshot showing how to disallow Shared Key access for a storage account.

  4. Cliquez sur Enregistrer.

Étapes suivantes