Configurer des autorisations au niveau du répertoire et du fichier pour les partages de fichiers Azure

Avant de commencer à lire cet article, veillez à lire Attribuer des autorisations au niveau du partage à une identité pour vous assurer que vos autorisations de partage sont définies auprès du contrôle d’accès en fonction du rôle (RBAC).

Une fois que vous avez attribué des autorisations au niveau du partage, vous pouvez configurer des listes de contrôle d’accès (ACL) Windows, également appelées autorisations NTFS, au niveau du fichier, du répertoire ou de la racine. Bien que les autorisations au niveau du partage agissent comme un gardien de haut niveau qui détermine si un utilisateur peut accéder au partage, les listes de contrôle d’accès Windows fonctionnent à un niveau plus précis pour contrôler les opérations que l’utilisateur peut effectuer au niveau du répertoire ou du fichier.

Les autorisations au niveau du partage et des fichiers/répertoires sont appliquées lorsqu’un utilisateur tente d’accéder à un fichier/répertoire. S’il existe une différence entre l’un ou l’autre d’entre eux, seul le plus restrictif sera appliqué. Par exemple, si un utilisateur dispose d’un accès en lecture/écriture au niveau du fichier, mais uniquement en lecture au niveau du partage, il peut uniquement lire ce fichier. Il en va de même dans le cas contraire : si un utilisateur avait un accès en lecture/écriture au niveau du partage, mais uniquement en lecture au niveau du fichier, il ne pourrait toujours que lire le fichier.

Important

Pour configurer des ACL Windows, il vous faut une machine cliente exécutant Windows avec une connectivité réseau non limitée au contrôleur de domaine. Si vous vous authentifiez sur Azure Files avec Active Directory Domain Services (AD DS) ou Microsoft Entra Kerberos pour les identités hybrides, cela signifie que vous avez besoin d’une connectivité réseau non limitée à l’AD local. Si vous utilisez les services du domaine Microsoft Entra, la machine cliente doit avoir une connectivité réseau non limitée aux contrôleurs du domaine managé par les services du domaine Microsoft Entra, qui se trouvent dans Azure.

S’applique à

Type de partage de fichiers SMB NFS
Partages de fichiers Standard (GPv2), LRS/ZRS Oui Non
Partages de fichiers Standard (GPv2), GRS/GZRS Oui Non
Partages de fichiers Premium (FileStorage), LRS/ZRS Oui Non

Les ACL Windows pris en charge sont les suivantes

Azure Files prend en charge l’ensemble des ACL Windows de base et avancées.

Utilisateurs Définition
BUILTIN\Administrators Groupe de sécurité intégré représentant les administrateurs du serveur de fichiers. Ce groupe est vide et personne ne peut y être ajouté.
BUILTIN\Users Groupe de sécurité intégré représentant les utilisateurs du serveur de fichiers. Il inclut NT AUTHORITY\Authenticated Users par défaut. Pour un serveur de fichiers traditionnel, vous pouvez configurer la définition d’appartenance par serveur. Pour Azure Files, il n’y a pas de serveur d’hébergement, donc BUILTIN\Users comprend le même ensemble d’utilisateurs que NT AUTHORITY\Authenticated Users.
NT AUTHORITY\SYSTEM Compte de service du système d’exploitation du serveur de fichiers. Ce compte de service n’est pas applicable dans un contexte Azure Files. Il est inclus dans le répertoire racine pour être cohérent avec l’expérience Windows Files Server pour les scénarios hybrides.
NT AUTHORITY\Authenticated Users Tous les utilisateurs dans Active Directory qui peuvent obtenir un jeton Kerberos valide.
CREATOR OWNER Chaque objet, répertoire ou fichier, a un propriétaire pour cet objet. Si des ACL sont affectées à l’objet CREATOR OWNER sur cet objet, l’utilisateur qui est le propriétaire de cet objet dispose des autorisations définies par la liste de contrôle d’accès.

Les autorisations suivantes sont incluses dans le répertoire racine d’un partage de fichiers :

  • BUILTIN\Administrators:(OI)(CI)(F)
  • BUILTIN\Users:(RX)
  • BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  • NT AUTHORITY\Authenticated Users:(OI)(CI)(M)
  • NT AUTHORITY\SYSTEM:(OI)(CI)(F)
  • NT AUTHORITY\SYSTEM:(F)
  • CREATOR OWNER:(OI)(CI)(IO)(F)

Pour plus d’informations sur ces autorisations avancées, consultez la référence de ligne de commande pour icacls.

Fonctionnement

Vous pouvez utiliser deux approches pour configurer et modifier les listes ACL Windows :

  • Connectez-vous toujours avec le nom d’utilisateur et la clé de compte de stockage : à chaque fois que vous voulez configurer des ACL, montez le partage de fichiers avec votre clé de compte de stockage sur une machine à connectivité réseau non limitée aux contrôleur de domaine.

  • Configuration de la clé de compte de stockage/du nom d’utilisateur à usage unique :

Remarque

Cette configuration fonctionne pour les partages de fichiers nouvellement créés, car tout nouveau fichier/répertoire hérite de l’autorisation racine configurée. Pour les partages de fichiers migrés avec les listes de contrôle d’accès (ACL, access-control list) existantes, ou si vous migrez un fichier/répertoire local avec des autorisations existantes vers un nouveau partage de fichiers, cette approche risque de ne pas fonctionner, car les fichiers migrés n’héritent pas de la liste ACL racine configurée.

  1. Connectez-vous avec un nom d’utilisateur et une clé de compte de stockage sur une machine à connectivité réseau non limitée au contrôleur de domaine, et donnez à certains utilisateurs (ou groupes) l’autorisation de modifier les autorisations à la racine du partage de fichiers.
  2. Attribuez à ces utilisateurs le rôle RBAC Azure Contributeur élevé du partage de fichiers SMB pour les données de fichier de stockage.
  3. À l’avenir, à chaque fois que vous voudrez mettre à jour les ACL, vous pourrez utiliser l’un de ces utilisateurs autorisés pour vous connecter à partir d’une machine à connectivité réseau non limitée au contrôleur de domaine et modifier les ACL.

Monter le partage de fichiers à l’aide de votre clé de compte de stockage

Avant de configurer les listes de contrôle d’accès Windows, vous devez d’abord monter le partage de fichiers à l’aide de votre clé de compte de stockage. Pour ce faire, connectez-vous à un appareil joint à un domaine (en tant qu’utilisateur Microsoft Entra, si votre source AD (Active Directory) est Microsoft Entra Domain Services), ouvrez une invite de commandes Windows, puis exécutez la commande suivante. Assurez-vous de remplacer <YourStorageAccountName>, <FileShareName>, et <YourStorageAccountKey> par vos propres valeurs. Si Z: est déjà utilisé, remplacez-le par une lettre de lecteur disponible. Vous pouvez trouver votre clé de compte de stockage dans le portail Azure en accédant au compte de stockage et en sélectionnant Sécurité + réseau>Clés d’accès. Vous pouvez également utiliser l’Get-AzStorageAccountKeyapplet de commande PowerShell.

Il est important d’utiliser la net use commande Windows pour monter le partage à ce stade, et non PowerShell. Si vous utilisez PowerShell pour monter le partage, le partage n’est pas visible par Windows Explorateur de fichiers ou cmd.exe, et vous aurez des difficultés à configurer les listes de contrôle d’accès Windows.

Notes

Vous pouvez voir que la liste de contrôle d’accès Contrôle total est déjà appliquée à un rôle. Cela offre généralement la possibilité d’attribuer des autorisations. Cela est toutefois limité du fait qu’il existe des contrôles d’accès à deux niveaux (au niveau du partage et au niveau du fichier/répertoire). Seuls les utilisateurs disposant du rôle Contributeur élevé de partage SMB de données de fichier de stockage et qui créent un fichier ou un répertoire peuvent attribuer des autorisations sur ces nouveaux fichiers ou répertoires sans utiliser la clé du compte de stockage. Toutes les autres attributions d’autorisations de fichier/répertoire nécessitent la connexion préalable au partage à l’aide de la clé du compte de stockage.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

Configurer des ACL Windows

Vous pouvez configurer les ACL Windows en utilisant icacls ou l’Explorateur de fichiers Windows. Vous pouvez aussi utiliser la commande PowerShell Set-ACL.

Si vous avez des répertoires ou des fichiers dans des serveurs de fichiers locaux avec des listes de contrôle d’accès discrétionnaire Windows configurées sur les identités AD DS, vous pouvez les copier sur Azure Files en conservant les ACL avec des outils de copie de fichiers traditionnels comme Robocopy ou Azure AzCopy v10.4+. Si vos répertoires et fichiers sont hiérarchisés pour Azure Files par le biais d’Azure File Sync, vos ACL sont reportées et conservées dans leur format natif.

Important

Si vous utilisez Microsoft Entra Kerberos en tant que source AD, les identités doivent être synchronisées avec Microsoft Entra ID pour permettre l’application des listes ACL. Vous pouvez définir des listes ACL au niveau des fichiers/répertoires pour les identités qui ne sont pas synchronisées avec Microsoft Entra ID. Toutefois, ces listes ACL ne sont pas appliquées, car le ticket Kerberos utilisé pour l’authentification/autorisation ne contient pas les identités non synchronisées. Si vous utilisez un service AD DS (Active Directory Domain Services) local en tant que source AD, vous pouvez avoir des identités non synchronisées dans les listes ACL. AD DS place ces SID dans le ticket Kerberos, et les listes ACL sont appliquées.

Configurer des ACL Windows avec icacls

Pour octroyer des autorisations complètes à tous les répertoires et fichiers du partage de fichiers, notamment le répertoire racine, exécutez la commande Windows suivante à partir d’une machine qui dispose d’une connectivité réseau sans entrave au contrôleur de domaine AD. N’oubliez pas de remplacer les valeurs d’espace réservé dans l’exemple par vos propres valeurs. Si votre source AD est Microsoft Entra Domain Services, <user-upn> est <user-email>.

icacls <mapped-drive-letter>: /grant <user-upn>:(f)

Pour plus d’informations sur l’utilisation de la commande icacls pour définir des ACL Windows et sur les différents types d’autorisation pris en charge, consultez les informations de référence sur la ligne de commande pour icacls.

Configurer des ACL Windows avec l’Explorateur de fichiers Windows

Si vous êtes connecté à un client Windows joint à un domaine, vous pouvez utiliser l’Explorateur de fichiers Windows pour accorder l’autorisation complète sur tous les répertoires et fichiers sous le partage de fichiers, y compris le répertoire racine.

Important

Si votre client n’est pas joint à un domaine, ou si votre environnement comporte plusieurs forêts AD, n’utilisez pas l’Explorateur Windows pour configurer les listes ACL. Utilisez icacls à la place. En effet, la configuration des listes ACL dans l’Explorateur de fichiers Windows est possible uniquement si le client est joint au domaine AD auquel le compte de stockage est joint.

Suivez ces étapes pour configurer les listes ACL à l’aide de l’Explorateur de fichiers Windows.

  1. Ouvrez l’Explorateur de fichiers Windows, cliquez avec le bouton droit sur le fichier/répertoire souhaité, puis sélectionnez Propriétés.
  2. Sélectionnez l'onglet Sécurité .
  3. Sélectionnez Éditer... pour modifier les autorisations.
  4. Vous pouvez modifier les autorisations des utilisateurs existants ou sélectionner Ajouter… pour accorder des autorisations à de nouveaux utilisateurs.
  5. Dans la fenêtre d’invite d’ajout de nouveaux utilisateurs, entrez le nom d’utilisateur cible auquel vous souhaitez accorder des autorisations dans la zone Entrer les noms des objets à sélectionner, puis sélectionnez Vérifier les noms pour trouver le nom UPN complet de l’utilisateur cible. Vous devrez peut-être spécifier le nom de domaine et le GUID de domaine pour votre service AD local. Vous pouvez obtenir ces informations auprès de votre administrateur de domaine ou d’un client joint à AD au niveau local.
  6. Cliquez sur OK.
  7. Dans l’onglet Sécurité, sélectionnez toutes les autorisations que vous souhaitez accorder au nouvel utilisateur.
  8. Sélectionnez Appliquer.

Étape suivante

Une fois que vous avez configuré les autorisations au niveau des répertoires et des fichiers, vous pouvez monter le partage de fichiers.