Configurer des autorisations au niveau de l’annuaire et des fichiers sur SMB

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

Autorisations Azure RBAC

Le tableau suivant contient les autorisations Azure RBAC associées à cette configuration. Si vous utilisez Explorateur Stockage Azure, vous aurez également besoin du rôle Lecteur et Accès aux données pour lire/accéder au partage de fichiers.

Autorisation au niveau du partage (rôle intégré) Autorisations NTFS Accès obtenu
Lecteur de partage SMB de données de fichier de stockage Contrôle total, Modifier, Lire, Écrire, Exécuter Lecture et exécution
Lire Lire
Contributeur de partage SMB de données de fichier de stockage Contrôle total Modifier, Lire, Écrire, Exécuter
Modifier Modify
Lecture et exécution Lecture et exécution
Lire Lire
Write Write
Contributeur élevé de partage SMB de données de fichier de stockage Contrôle total Modifier, Lire, Écrire, Éditer (Modifier les autorisations), Exécuter
Modifier Modify
Lecture et exécution Lecture et exécution
Lire Lire
Write Write

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 existantes ou si vous migrez un fichier/répertoire local avec des autorisations existantes dans un nouveau partage de fichiers, cette approche peut ne pas fonctionner, car les fichiers migrés n’héritent pas de la liste de contrôle d’accès 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, ouvrez une invite de commandes Windows et 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.

Important

Si votre environnement a plusieurs forêts AD DS, n’utilisez pas l’Explorateur Windows pour configurer des listes de contrôle d’accès. Utilisez icacls à la place.

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.

N’oubliez pas de synchroniser vos identités afin que les autorisations définies prennent effet. Vous pouvez définir des listes de contrôle d’accès pour les identités non synchronisées, mais ces listes de contrôle d’accès ne sont pas appliquées, car les identités non synchronisées ne sont pas présentes dans le ticket Kerberos utilisé pour l’authentification/l’autorisation.

Configurer des ACL Windows avec icacls

Pour accorder des autorisations complètes sur tous les répertoires et fichiers sous le partage de fichiers, y compris le répertoire racine, exécutez la commande Windows suivante à partir d’une machine ayant une ligne de mire sur le contrôleur de domaine AD. N’oubliez pas de remplacer les valeurs d’espace réservé dans l’exemple par vos propres valeurs.

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. Si votre client n’est pas joint à un domaine, utilisez icacls pour configurer des ACL Windows.

  1. Ouvrez l’Explorateur de fichiers Windows, cliquez avec le bouton droit sur le fichier/répertoire, 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.
  6. Sélectionnez 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

Maintenant que vous avez activé et configuré l’authentification basée sur l’identité avec AD DS, vous pouvez monter un partage de fichiers.