Activer l’authentification Azure Active Directory Domain Services sur Azure Files

Azure Files prend en charge l’authentification basée sur l’identité via SMB (Server Message Block) pour les partages de fichiers Windows à l’aide du protocole d’authentification Kerberos via les trois méthodes suivantes :

  • Active Directory Domain Services (AD DS) en local
  • Azure Active Directory Domain Services (Azure AD DS)
  • Azure Active Directory (Azure AD) Kerberos pour les identités utilisateur hybrides

Cet article se concentre sur l’activation et la configuration d’Azure AD DS pour une authentification basée sur l’identité pour les partages de fichiers Azure. Dans ce scénario d’authentification, les informations d’identification Azure AD et Azure AD DS sont identiques et peuvent être interchangeables.

Nous vous recommandons vivement de consulter la section Fonctionnement pour sélectionner la source AD appropriée pour l’authentification. L’installation est différente selon la source AD que vous choisissez.

Si vous débutez avec les Fichiers Azure, nous vous recommandons de lire notre guide de planification avant de lire l’article suivant.

Notes

Le service Azure Files prend en charge l’authentification Kerberos à l’aide d’Azure AD DS avec les chiffrements RC4-HMAC et AES 256. Nous vous recommandons d’utiliser AES-256.

Azure Files prend en charge l’authentification pour Azure AD DS avec une synchronisation complète ou partielle à partir d’Azure AD. Pour les environnements avec une synchronisation délimitée, les administrateurs doivent comprendre qu’Azure Files respecte uniquement les attributions de rôles RBAC Azure accordées aux principaux qui sont synchronisés. Les attributions de rôles accordées aux identités non synchronisées entre Azure AD et Azure AD DS sont ignorées par le service Azure Files.

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

Prérequis

Avant d’activer Azure AD DS sur SMB pour des partages de fichiers Azure, vérifiez que les prérequis suivants sont satisfaits :

  1. Sélectionner ou créer un locataire Azure AD.

    Vous pouvez utiliser un locataire nouveau ou existant. Le locataire et le partage de fichiers auquel vous voulez accéder doivent être associés au même abonnement.

    Pour créer un locataire Azure AD, vous pouvez Ajouter un locataire Azure AD et un abonnement Azure AD. Si vous avez déjà un locataire Azure AD, mais que vous voulez en créer un pour l’utiliser avec des partages de fichiers Azure, voir Créer un locataire Azure Active Directory.

  2. Activer Azure AD Domain Services sur le locataire Azure AD.

    Pour prendre en charge l’authentification avec les informations d’identification Azure AD, vous devez activer Azure AD DS pour votre locataire Azure AD. Si vous n’êtes pas l’administrateur du locataire Azure AD, contactez-le et suivez les instructions pas à pas pour Activer Azure Active Directory Domain Services à l’aide du portail Azure.

    Il faut généralement environ 15 minutes pour déployer Azure AD DS. Vérifiez que l’état d’intégrité d’Azure AD DS est En cours d’exécution, avec la synchronisation de hachage de mot de passe activée, avant de passer à l’étape suivante.

  3. Joindre une machine virtuelle à Azure AD DS.

    Pour accéder à un partage de fichiers Azure à l’aide des informations d’identification Azure AD à partir d’une machine virtuelle, cette machine virtuelle doit être jointe à Azure AD DS. Pour plus d’informations sur la jonction de domaine d’une machine virtuelle, consultez Joindre une machine virtuelle Windows Server à un domaine géré. L’authentification Azure AD Domain Services sur SMB avec des partages de fichiers Azure est prise en charge uniquement sur des machines virtuelles Azure s’exécutant sur des versions de système d’exploitation postérieures à Windows 7 ou Windows Server 2008 R2.

    Notes

    Les machines virtuelles non jointes à un domaine peuvent accéder aux partages de fichiers Azure à l’aide de l’authentification Azure AD DS uniquement si la machine virtuelle a une visibilité directe sur les contrôleurs de domaine pour Azure AD DS. Cela nécessite généralement un VPN de site à site ou de point à site.

  4. Sélectionner ou créer un partage de fichiers Azure.

    Sélectionnez un partage de fichiers nouveau ou existant associé au même abonnement que celui de votre locataire Azure AD. Pour plus d’informations sur la création d’un partage de fichiers, consultez Créer un partage de fichiers dans Azure Files. Pour des performances optimales, nous recommandons que votre partage de fichiers soit dans la même région que celle de la machine virtuelle à partir de laquelle vous voulez accéder au partage.

  5. Vérifier la connectivité d’Azure Files en montant les partages de fichiers Azure à l’aide de votre clé de compte de stockage.

    Pour vérifier que votre machine virtuelle et le partage de fichiers sont configurés correctement, essayez de monter le partage de fichiers à l’aide de votre clé de compte de stockage. Pour plus d’informations, consultez Monter un partage de fichiers Azure et accéder au partage dans Windows.

Disponibilité régionale

L’authentification Azure Files avec Azure AD DS est disponible dans toutes les régions Azure publiques, Gov et Chine.

Vue d’ensemble du workflow

Avant d’activer l’authentification Azure AD Domain Services sur SMB pour des partages de fichiers Azure, vérifiez que vos environnements Azure AD et Stockage Azure sont correctement configurés. Nous vous recommandons d’examiner les conditions préalables pour vous assurer que vous avez parcouru toutes les étapes requises.

Suivez ces étapes afin d’accorder l’accès aux ressources Azure Files avec les informations d’identification Azure AD :

  1. Activez l’authentification Azure AD Domain Services sur SMB pour votre compte de stockage afin d’inscrire le compte de stockage auprès du déploiement Azure AD DS associé.
  2. Attribuez des autorisations au niveau du partage à une identité Azure AD (utilisateur, groupe ou principal de service).
  3. Connectez-vous à votre partage de fichiers Azure à l’aide d’une clé de compte de stockage et configurez des listes de contrôle d’accès Windows pour des répertoires et des fichiers.
  4. Montez un partage de fichiers Azure à partir d’une machine virtuelle jointe à un domaine.

Le diagramme ci-dessous illustre le workflow de bout en bout pour l’activation de l’authentification Azure AD Domain Services sur SMB pour Azure Files.

Diagramme montrant le workflow AD Azure sur SMB pour Azure Files

Activer l’authentification Azure AD Domain Services pour votre compte

Pour activer l’authentification Azure AD DS sur SMB pour Azure Files, vous pouvez définir une propriété sur les comptes de stockage à l’aide du Portail Azure, d’Azure PowerShell ou d’Azure CLI. En définissant cette propriété, le « domaine rejoint » implicitement le compte de stockage avec le déploiement Azure AD DS associé. L’authentification Azure AD Domain Services sur SMB est alors activée pour tous les partages de fichiers nouveaux et existants dans le compte de stockage.

N’oubliez pas que vous pouvez activer l’authentification Azure AD DS sur SMB uniquement après avoir correctement déployé Azure AD DS sur votre locataire Azure AD. Pour plus d’informations, voir les Conditions préalables.

Pour activer l’authentification Azure AD DS sur SMB avec le portail Azure, procédez comme suit :

  1. Dans le Portail Azure, accédez à votre compte de stockage existant, ou créez un compte de stockage.

  2. Dans la section Partages de fichiers, sélectionnez Active Directory : Non configuré.

    Capture d’écran du volet Partages de fichiers dans votre compte de stockage, avec Active Directory mis en évidence.

  3. Sélectionnez Azure Active Directory Domain Services, puis activez la fonctionnalité en cochant la case.

  4. Sélectionnez Enregistrer.

    Capture d’écran du volet Active Directory, avec Azure Active Directory Domain Services activé.

Par défaut, l’authentification Azure AD DS utilise le chiffrement Kerberos RC4. Nous vous recommandons de la configurer de manière à utiliser plutôt le chiffrement Kerberos AES-256 en suivant ces instructions.

Cette action nécessite l’exécution d’une opération sur le domaine Active Directory géré par Azure AD DS pour atteindre un contrôleur de domaine afin de demander une modification de propriété à l’objet de domaine. Les applets de commande ci-dessous sont des applets de commande PowerShell Windows Server Active Directory, et non pas des applets de commande Azure PowerShell. En raison de cela, ces commandes PowerShell doivent être exécutées à partir d’une machine client jointe au domaine Azure AD DS.

Important

Les applets de commande PowerShell Windows Server Active Directory de cette section doivent être exécutées dans Windows PowerShell 5.1 à partir d’un ordinateur client joint au domaine Azure AD DS. PowerShell 7.x et Azure Cloud Shell ne fonctionneront pas dans ce scénario.

Connectez-vous à une machine client domaine joint en tant qu’utilisateur Azure AD DS avec les autorisations requises (en règle générale, les membres du groupe AAD DC Administrators auront les autorisations nécessaires). Ouvrez une session PowerShell normale (sans élévation de privilèges) et exécutez les commandes suivantes.

# 1. Find the service account in your managed domain that represents the storage account.

$storageAccountName= “<InsertStorageAccountNameHere>”
$searchFilter = "Name -like '*{0}*'" -f $storageAccountName
$userObject = Get-ADUser -filter $searchFilter

if ($userObject -eq $null)
{
   Write-Error "Cannot find AD object for storage account:$storageAccountName" -ErrorAction Stop
}

# 2. Set the KerberosEncryptionType of the object

Set-ADUser $userObject -KerberosEncryptionType AES256

# 3. Validate that the object now has the expected (AES256) encryption type.

Get-ADUser $userObject -properties KerberosEncryptionType

Important

Si vous avez précédemment utilisé le chiffrement RC4 et mettez à jour le compte de stockage pour utiliser AES-256, vous devez exécuter klist purge sur le client, puis remonter le partage de fichiers pour obtenir de nouveaux tickets Kerberos avec AES-256.

Affecter des autorisations au niveau du partage

Pour pouvoir accéder à des ressources Azure Files avec l’authentification par identité, il faut que l’identité (utilisateur, groupe ou principal de service) dispose des autorisations nécessaires au niveau du partage. Ce processus est semblable à la spécification des autorisations de partage Windows, où vous spécifiez le type d’accès dont dispose un utilisateur particulier sur un partage de fichiers. Les instructions dans cette section montrent comment assigner des autorisations de lecture, d’écriture ou de suppression pour un partage de fichiers à une identité. Nous vous recommandons vivement d’affecter des autorisations en déclarant explicitement des actions et actions de données plutôt que d’utiliser le caractère générique (*).

La plupart des utilisateurs doivent attribuer des autorisations au niveau du partage à des utilisateurs ou groupes Azure AD spécifiques, puis configurer des listes ACL Windows pour avoir un contrôle d’accès granulaire au niveau des répertoires et des fichiers. Toutefois, vous pouvez également définir une autorisation par défaut au niveau du partage pour autoriser un accès de contributeur, de contributeur élevé ou de lecteur à toutes les identités authentifiées.

Nous avons introduit trois rôles intégrés Azure pour accorder aux utilisateurs et aux groupes des autorisations au niveau du partage :

  • Lecteur de partage SMB de données de fichier de stockage autorise l’accès en lecture aux partages de fichiers Stockage Azure sur SMB.
  • Collaborateur de partage SMB de données de fichier de stockage autorise l’accès en lecture, écriture et suppression aux partages de fichiers Stockage Azure sur SMB.
  • Contributeur élevé de partage SMB pour les données de fichier de stockage : autorise la lecture, l’écriture, la suppression et la modification des listes ACL Windows dans les partages de fichiers Azure sur SMB.

Important

Le contrôle administratif total d’un partage de fichiers, y compris la possibilité de prendre possession d’un fichier, nécessite l’utilisation de la clé de compte de stockage. Le contrôle administratif n’est pas pris en charge avec les informations d’identification Azure AD.

Vous pouvez utiliser le portail Azure, PowerShell ou Azure CLI pour attribuer les rôles intégrés à l’identité Azure AD d’un utilisateur afin d’accorder des autorisations au niveau du partage. N’oubliez pas que l’attribution de rôle Azure au niveau du partage peut prendre un certain temps. La recommandation générale est d’utiliser l’autorisation au niveau du partage pour la gestion de l’accès global pour un groupe AD représentant un groupe d’utilisateurs et d’identités, puis de tirer parti des listes de contrôle d’accès Windows pour un contrôle d’accès précis au niveau du répertoire/fichier.

Affecter un rôle Azure à une identité AD Azure AD

Important

Affectez des autorisations en déclarant explicitement des actions et des actions de données plutôt que d’utiliser un caractère générique (*). Si une définition de rôle personnalisée pour une action de données contient un caractère générique, toutes les identités affectées à ce rôle sont autorisées à accéder à toutes les actions de données possibles. Cela signifie que toutes ces identités seront également accordées à toute nouvelle action de données ajoutée à la plateforme. L’accès et les autorisations supplémentaires accordés par le biais de nouvelles actions ou actions de données peuvent constituer un comportement indésirable pour les clients qui utilisent le caractère générique.

Pour affecter un rôle Azure à une identité Azure AD par le biais du portail Azure, suivez ces étapes :

  1. Sur le Portail Azure, accédez à votre partage de fichiers ou Créez un partage de fichiers.
  2. Sélectionnez Contrôle d’accès (IAM) .
  3. Sélectionnez Ajouter une attribution de rôle.
  4. Dans le panneau Ajouter une attribution de rôle, sélectionnez le rôle intégré approprié (Lecteur de partage SMB de données de fichier de stockage, Collaborateur de partage SMB de données de fichier de stockage) dans la liste Rôle. Conservez le paramètre par défaut Attribuer l’accès à : Utilisateur, groupe ou principal du service Azure AD. Sélectionnez l’identité Azure AD cible par son nom ou son adresse e-mail.
  5. Sélectionnez Vérifier + attribuer pour terminer l’opération d’attribution de rôle.

Configurer des ACL Windows

Une fois que vous avez attribué des autorisations au niveau du partage avec RBAC, vous pouvez attribuer des listes de contrôle d’accès Windows, également appelées autorisations NTFS au niveau du fichier, du répertoire ou de la racine. Les autorisations au niveau du partage représentent l’opérateur de contrôle de niveau supérieur qui détermine si un utilisateur peut accéder au partage, tandis que les listes de contrôle d’accès (ACL) Windows agissent à un niveau plus précis pour déterminer les opérations que l’utilisateur peut effectuer au niveau du répertoire ou du fichier.

Azure Files prend en charge l’ensemble des autorisations de base et avancées. Vous pouvez voir et configurer les listes de contrôle d’accès Windows sur les répertoires et les fichiers dans un partage de fichiers Azure en montant le partage, puis en utilisant l’Explorateur de fichiers Windows ou en exécutant la commande Windows icacls ou Set-ACL.

Les ensembles d’autorisations suivants sont pris en charge dans le répertoire racine d’un partage de fichiers :

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

Pour plus d’informations, consultez Configurer des autorisations au niveau des répertoires et des fichiers sur SMB.

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

Avant de configurer des listes de contrôle d’accès Windows, vous devez d’abord monter le partage de fichiers sur votre machine virtuelle jointe à un domaine à l’aide de votre clé de compte de stockage. Pour ce faire, connectez-vous à la machine virtuelle jointe au domaine en tant qu’utilisateur Azure AD, 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 ne sera pas visible par Windows Explorateur de fichiers ou cmd.exe, et vous ne pourrez pas 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 à privilèges élevés SMB 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 avec l’Explorateur de fichiers Windows

Une fois que vous êtes monté à votre partage de fichiers Azure, vous devez configurer les listes de contrôle d’accès (ACL) Windows. Vous pouvez effectuer cette opération en utilisant l’Explorateur de fichiers Windows ou icacls.

Effectuez les étapes suivantes pour utiliser l’Explorateur de fichiers Windows afin d’accorder des autorisations complètes à tous les répertoires et fichiers situés sous le partage de fichiers, y compris le répertoire racine.

  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 Modifier 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 l’autorisation 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.

Configurer des ACL Windows avec icacls

Utilisez la commande Windows suivante pour accorder des autorisations complètes sur tous les répertoires et fichiers du partage de fichiers, y compris le répertoire racine. N’oubliez pas de remplacer les valeurs d’espace réservé dans l’exemple par vos propres valeurs.

icacls <mounted-drive-letter>: /grant <user-email>:(f)

Pour plus d’informations sur l’utilisation de la commande icacls pour définir des listes de contrôle d’accès (ACL) Windows et sur les différents types d’autorisation pris en charge, consultez les informations de référence de ligne de commande pour icacls.

Monter le partage de fichiers Azure à partir d’une machine virtuelle jointe à un domaine

Le processus suivant vérifie que vos autorisations de partage de fichiers et d’accès ont été configurées correctement, et que vous pouvez accéder à un partage de fichiers Azure à partir d’une machine virtuelle jointe à un domaine. N’oubliez pas que l’attribution de rôle Azure au niveau du partage peut prendre un certain temps.

Connectez-vous à la VM reliée au domaine en utilisant l’identité Azure AD à laquelle vous avez accordé des autorisations. Veillez à vous connecter avec les informations d’identification Azure AD. Si le lecteur est déjà monté avec la clé de compte de stockage, vous devez le déconnecter ou vous reconnecter.

Exécutez le script PowerShell ci-dessous ou utilisez le Portail Azure pour monter de façon permanente le partage de fichiers Azure et le mapper au lecteur Z: sur Windows. Si Z: est déjà utilisé, remplacez-le par une lettre de lecteur disponible. Étant donné que vous avez été authentifié, vous n’avez pas besoin de fournir la clé de compte de stockage. Le script vérifie si ce compte de stockage est accessible via le port TCP 445, qui est le port que SMB utilise. Assurez-vous de remplacer <storage-account-name> et <file-share-name> par vos propres valeurs. Pour plus d’informations, consultez Utiliser un partage de fichiers Azure avec Windows.

Montez toujours des partages de fichiers Azure à l’aide de file.core.windows.net, même si vous configurez un point de terminaison privé pour votre partage. L’utilisation de CNAME pour le montage de partage de fichiers n’est pas prise en charge pour l’authentification basée sur l’identité.

$connectTestResult = Test-NetConnection -ComputerName <storage-account-name>.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
    cmd.exe /C "cmdkey /add:`"<storage-account-name>.file.core.windows.net`" /user:`"localhost\<storage-account-name>`""
    New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<storage-account-name>.file.core.windows.net\<file-share-name>" -Persist
} else {
    Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}

Vous pouvez également utiliser la commande net-use à partir d’une invite Windows pour monter le partage de fichiers. Assurez-vous de remplacer <YourStorageAccountName> et <FileShareName> par vos propres valeurs.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName>

Monter le partage de fichiers Azure à partir d’une machine virtuelle non jointe à un domaine

Les machines virtuelles non jointes à un domaine peuvent accéder aux partages de fichiers Azure à l’aide de l’authentification Azure AD DS uniquement si la machine virtuelle a une ligne de vue sur les contrôleurs de domaine pour Azure AD DS, qui se trouvent dans Azure. Cela nécessite généralement la configuration d’un VPN de site à site ou de point à site pour autoriser cette connectivité. L’utilisateur qui accède au partage de fichiers doit avoir une identité et des informations d’identification (une identité Azure AD synchronisée entre Azure AD et Azure AD DS) dans le domaine managé Azure AD DS.

Pour monter un partage de fichiers à partir d’une machine virtuelle non jointe à un domaine, l’utilisateur doit :

  • Fournir des informations d’identification explicites, par exemple DOMAINNAME\username, où DOMAINNAME correspond au domaine Azure AD DS et username au nom d’utilisateur de l’identité dans Azure AD DS, ou
  • Utiliser la notation username@domainFQDN, où domainFQDN correspond au nom de domaine complet.

L’utilisation de l’une de ces approches permet au client de contacter le contrôleur de domaine du domaine Azure AD DS pour demander et recevoir des tickets Kerberos.

Par exemple :

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:<DOMAINNAME\username>

ou

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:<username@domainFQDN>

Étapes suivantes

Pour accorder à d’autres utilisateurs l’accès à votre partage de fichiers, suivez les instructions dans Attribuer des autorisations au niveau du partage et Configurer des listes ACL Windows.

Pour plus d’informations sur l’authentification basée sur l’identité pour Azure File, voir les ressources suivantes :