Utiliser Azure Files avec plusieurs forêts Active Directory

De nombreuses organisations souhaitent utiliser une authentification basée sur l’identité pour les partages de fichiers SMB Azure dans des environnements qui ont plusieurs forêts AD DS (Active Directory Domain Services) locales. Il s’agit d’un scénario informatique courant, en particulier après des fusions et des acquisitions, où les forêts AD de la société acquise sont isolées des forêts AD de la société mère. Cet article explique comment fonctionnent les relations d’approbation de forêt et fournit des instructions pas à pas pour la configuration et la confirmation de plusieurs forêts.

Important

Si vous souhaitez définir des autorisations au niveau du partage pour des utilisateurs ou des groupes Microsoft Entra spécifiques à l’aide du contrôle d’accès en fonction du rôle (RBAC) Azure, vous devez d’abord synchroniser les comptes AD locaux avec Microsoft Entra ID en utilisant Microsoft Entra Connect. Vous pouvez également utiliser une autorisation au niveau du partage par défaut.

S’applique à

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

Prérequis

  • Deux contrôleurs de domaine AD DS avec des forêts différentes et sur des réseaux virtuels différents
  • Autorisations AD suffisantes pour effectuer des tâches d’administration (par exemple, Administrateur de domaine)
  • Si vous utilisez le contrôle RBAC Azure, les deux forêts doivent être accessibles par un seul serveur de synchronisation Microsoft Entra Connect

Comment fonctionnent les relations d’approbation de forêt

L’authentification AD DS locale Azure Files est uniquement prise en charge sur la forêt AD du service de domaine sur lequel le compte de stockage est inscrit. Vous pouvez uniquement accéder aux partages de fichiers Azure avec les informations d’identification AD DS à partir d’une forêt unique par défaut. Si vous devez accéder à votre partage de fichiers Azure à partir d’une autre forêt, vous devez configurer une approbation de forêt.

Une approbation de forêt est une approbation transitive entre deux forêts AD qui permet aux utilisateurs de l’un des domaines d’une forêt d’être authentifiés dans l’un des domaines de l’autre forêt.

Configuration multiforêt

Pour procéder à une configuration multiforêt, nous allons effectuer les étapes suivantes :

  • Collecter les informations de domaine et les connexions de réseau virtuel entre les domaines
  • Établir et configurer une approbation de forêt
  • Configurer une authentification basée sur l’identité et des comptes d’utilisateur hybrides

Collecter les informations de domaine

Pour cet exercice, nous avons deux contrôleurs de domaine AD DS locaux avec deux forêts différentes et dans des réseaux virtuels différents.

Forêt Domaine Réseau virtuel
Forêt 1 onpremad1.com DomainServicesVNet WUS
Forêt 2 onpremad2.com vnet2/workloads

Établir et configurer une approbation

Pour permettre aux clients de la Forêt 1 d’accéder aux ressources de domaine Azure Files de la Forêt 2, nous devons établir une approbation entre les deux forêts. Suivez ces étapes pour établir l’approbation.

  1. Connectez-vous à un ordinateur joint à un domaine de la Forêt 2 et ouvrez la console Domaines et approbations Active Directory.

  2. Cliquez avec le bouton droit sur le domaine local onpremad2.com, puis sélectionnez l’onglet Approbations.

  3. Sélectionnez Nouvelles approbations pour lancer l’Assistant Nouvelle approbation.

  4. Spécifiez le nom de domaine avec lequel vous souhaitez établir l’approbation (dans cet exemple, onpremad1.com), puis sélectionnez Suivant.

  5. Pour Type d’approbation, sélectionnez Approbation de forêt, puis Suivant.

    Remarque

    Seules les approbations de forêt sont prises en charge pour Azure Files. D’autres types d’approbations, tels que les approbations externes, ne sont pas pris en charge.

  6. Pour Direction de l’approbation, sélectionnez Bidirectionnel, puis Suivant.

    Screenshot of Active Directory Domains and Trusts console showing how to select a two-way direction for the trust.

  7. Pour Sens de l’approbation, sélectionnez Ce domaine uniquement, puis Suivant.

  8. Les utilisateurs de la forêt spécifiée peuvent être authentifiés pour utiliser toutes les ressources de la forêt locale (authentification à l’échelle de la forêt) ou uniquement les ressources que vous sélectionnez (authentification sélective). Pour Niveau d’authentification d’approbations sortantes, sélectionnez Authentification à l’échelle de la forêt, qui est l’option par défaut lorsque les deux forêts appartiennent à la même organisation. Sélectionnez Suivant.

  9. Entrez un mot de passe pour l’approbation, puis sélectionnez Suivant. Le même mot de passe doit être utilisé lors de la création de cette relation d’approbation dans le domaine spécifié.

    Screenshot of Active Directory Domains and Trusts console showing how to enter a password for the trust.

  10. Vous devriez voir un message indiquant que la création de la relation d’approbation a réussi. Pour configurer l’approbation, sélectionnez Suivant.

  11. Confirmez l’approbation sortante et sélectionnez Suivant.

  12. Entrez le nom d’utilisateur et le mot de passe d’un utilisateur qui a des privilèges d’administrateur dans l’autre domaine.

Une fois l’authentification réussie, l’approbation est établie et vous devriez pouvoir voir le domaine spécifié onpremad1.com listé sous l’onglet Approbations.

Configurer une authentification basée sur l’identité et des comptes d’utilisateur hybrides

Une fois l’approbation établie, procédez comme suit pour créer un compte de stockage et un partage de fichiers SMB pour chaque domaine, activer l’authentification AD DS sur les comptes de stockage et créer des comptes d’utilisateur hybrides synchronisés avec Microsoft Entra ID.

  1. Connectez-vous au portail Azure et créez deux comptes de stockage, onprem1sa et onprem2sa. Pour des performances optimales, nous vous recommandons de déployer les comptes de stockage dans la même région que celle des clients à partir desquels vous prévoyez d’accéder aux partages.

    Notes

    La création d’un deuxième compte de stockage n’est pas nécessaire. Ces instructions sont destinées à montrer un exemple d’accès aux comptes de stockage qui appartiennent à différentes forêts. Si vous n’avez qu’un seul compte de stockage, vous pouvez ignorer les instructions de configuration du deuxième compte de stockage.

  2. Créez un partage de fichiers SMB Azure sur chaque compte de stockage.

  3. Synchronisez votre AD local avec Microsoft Entra ID l’aide de l’application de Synchronisation Microsoft Entra Connect.

  4. Joignez une machine virtuelle Azure à un domaine de la Forêt 1 dans votre service AD DS local. Pour plus d’informations sur la façon de joindre un domaine, reportez-vous à Joindre un ordinateur à un domaine.

  5. Activez l’authentification AD DS sur le compte de stockage associé à la Forêt 1, par exemple onprem1sa. Cette opération crée un compte d’ordinateur dans votre annuaire AD local appelé onprem1sa pour représenter le compte de stockage Azure et joindre le compte de stockage au domaine onpremad1.com. Vous pouvez vérifier que l’identité AD représentant le compte de stockage a été créée en recherchant onpremad1.com dans Utilisateurs et ordinateurs Active Directory. Dans cet exemple, vous verrez un compte d’ordinateur appelé onprem1sa.

  6. Créez un compte d’utilisateur en accédant à Active Directory > onpremad1.com. Cliquez avec le bouton droit sur Utilisateurs, sélectionnez Créer, entrez un nom d’utilisateur (par exemple, onprem1user), puis cochez la case Le mot de passe n’expire jamais (facultatif).

  7. Facultatif : Si vous souhaitez utiliser le contrôle RBAC Azure pour attribuer des autorisations au niveau du partage, vous devez synchroniser l’utilisateur avec Microsoft Entra ID en utilisant Microsoft Entra Connect. Normalement, la synchronisation Microsoft Entra Connect est mise à jour toutes les 30 minutes. Toutefois, vous pouvez la forcer à se synchroniser tout de suite en ouvrant une session PowerShell avec élévation de privilèges et en exécutant Start-ADSyncSyncCycle -PolicyType Delta. Vous devrez peut-être au préalable installer le module ADSync en exécutant Import-Module ADSync. Pour vérifier que l’utilisateur a été synchronisé avec Microsoft Entra ID, connectez-vous au portail Azure avec l’abonnement Azure associé à votre locataire multiforêt, puis sélectionnez Microsoft Entra ID. Sélectionnez Gérer > Utilisateurs et recherchez l’utilisateur que vous avez ajouté (par exemple, onprem1user). La synchronisation locale activée devrait indiquer Oui.

  8. Définissez des autorisations au niveau du partage avec des rôles RBAC Azure ou une autorisation de niveau partage par défaut.

Répétez les étapes 4 à 8 pour le domaine Forest2onpremad2.com (compte de stockage onprem2sa/user onprem2user). Si vous avez plus de deux forêts, répétez les étapes pour chaque forêt.

Configurer des autorisations au niveau du répertoire et des fichiers (facultatif)

Dans un environnement à forêts multiples, utilisez l’utilitaire de ligne de commande icacls pour configurer des autorisations au niveau du répertoire et du fichier pour des utilisateurs des deux forêts. Consultez Configurer des ACL Windows avec icacls.

Si icacls échoue avec une erreur Accès refusé, procédez comme suit pour configurer des autorisations au niveau du répertoire et du fichier en montant le partage avec la clé de compte de stockage.

  1. Supprimez le montage de partage existant : net use * /delete /y

  2. Montez à nouveau le partage à l’aide de la clé de compte de stockage :

    net use <driveletter> \\storageaccount.file.core.windows.net\sharename /user:AZURE\<storageaccountname> <storageaccountkey>
    
  3. Définissez des autorisations icacls pour l’utilisateur dans Forest2 sur le compte de stockage joint à Forest1 à partir du client dans Forest1.

Notes

Nous vous déconseillons d’utiliser l’Explorateur de fichiers pour configurer des listes de contrôle d’accès dans un environnement à forêts multiples. Bien que les utilisateurs appartenant à la forêt jointe au domaine au compte de stockage puissent avoir des autorisations au niveau du fichier/répertoire définies via l’Explorateur de fichiers, cela ne fonctionne pas pour les utilisateurs qui n’appartiennent pas à la même forêt que celle jointe au domaine au compte de stockage.

Configurer des suffixes de domaine

Comme expliqué ci-dessus, Azure Files s’inscrit à AD DS presque de la même manière qu’un serveur de fichiers standard : il crée une identité (par défaut un compte d’ordinateur, qui peut également être un compte d’ouverture de session de service) qui représente le compte de stockage dans AD DS pour l’authentification. La seule différence est que le nom de principal du service (SPN) inscrit du compte de stockage se termine par file.core.windows.net, ce qui ne correspond pas au suffixe du domaine. En raison du suffixe de domaine différent, vous devez configurer une stratégie de routage de suffixe pour activer une authentification multiforêt.

Étant donné que le suffixe file.core.windows.net est le suffixe de toutes les ressources Azure Files et non un suffixe pour un domaine AD spécifique, le contrôleur de domaine du client ne sait pas à quel domaine transférer la requête et fait par conséquent échouer toutes les requêtes où la ressource n’est pas trouvée dans son propre domaine.

Par exemple, lorsque les utilisateurs d’un domaine de la Forêt 1 veulent atteindre un partage de fichiers avec le compte de stockage inscrit sur un domaine de la Forêt 2, l’opération n’est pas automatique parce que le principal de service du compte de stockage n’a pas de suffixe correspondant au suffixe des domaines de la Forêt 1.

Vous pouvez configurer des domaines de suffixe en utilisant l’une des méthodes suivantes :

Modifier le suffixe du nom du compte de stockage et ajouter un enregistrement CNAME

Vous pouvez résoudre le problème de routage du domaine en modifiant le suffixe du nom du compte de stockage associé au partage de fichiers Azure, puis en ajoutant un enregistrement CNAME pour router le nouveau suffixe vers le point de terminaison du compte de stockage. Avec cette configuration, les clients joints à un domaine peuvent accéder aux comptes de stockage joints à n’importe quelle forêt. Cela fonctionne pour les environnements qui ont deux forêts ou plus.

Dans notre exemple, nous avons les domaines onpremad1.com et onpremad2.com, et nous avons onprem1sa et onprem2sa comme comptes de stockage associés aux partages de fichiers SMB Azure dans les domaines respectifs. Ces domaines se trouvent dans des forêts différentes qui s’approuvent mutuellement pour accéder aux ressources des forêts de l’un et de l’autre. Nous voulons autoriser l’accès aux deux comptes de stockage à partir de clients qui appartiennent à chaque forêt. Pour ce faire, nous devons modifier les suffixes SPN du compte de stockage :

onprem1sa.onpremad1.com -> onprem1sa.file.core.windows.net

onprem2sa.onpremad2.com -> onprem2sa.file.core.windows.net

Cela permettra aux clients de monter le partage avec net use \\onprem1sa.onpremad1.com parce que les clients dans onpremad1 ou onpremad2 sauront rechercher dans onpremad1.com afin de trouver la ressource appropriée pour ce compte de stockage.

Pour utiliser cette méthode, effectuez les étapes suivantes :

  1. Vérifiez que vous avez établi une approbation entre les deux forêts et configuré une authentification basée sur l’identité et des comptes d’utilisateur hybrides, comme décrit dans les sections précédentes.

  2. Modifiez le SPN du compte de stockage en utilisant l’outil setspn. Vous pouvez trouver <DomainDnsRoot> en exécutant la commande Active Directory PowerShell suivante : (Get-AdDomain).DnsRoot

    setspn -s cifs/<storage-account-name>.<DomainDnsRoot> <storage-account-name>
    
  3. Ajoutez une entrée CNAME à l’aide du Gestionnaire DNS Active Directory et suivez les étapes ci-dessous pour chaque compte de stockage du domaine auquel le compte de stockage est joint. Si vous utilisez un point de terminaison privé, ajoutez l’entrée CNAME pour mapper à son nom.

    1. Ouvrez le Gestionnaire DNS Active Directory.

    2. Accédez à votre domaine (par exemple, onpremad1.com).

    3. Accédez à « Zones de recherche directe ».

    4. Sélectionnez le nœud nommé d’après votre domaine (par exemple, onpremad1.com) et cliquez avec le bouton droit sur Nouvel alias (CNAME).

    5. Pour le nom de l’alias, entrez le nom de votre compte de stockage.

    6. Pour le nom de domaine complet (FQDN), entrez <storage-account-name>.<domain-name>, par exemple moncomptedestockage.onpremad1.com.

    7. Pour le nom de domaine complet de l’hôte cible, entrez <storage-account-name>.file.core.windows.net

    8. Cliquez sur OK.

      Screenshot showing how to add a CNAME record for suffix routing using Active Directory DNS Manager.

Maintenant, à partir des clients joints à un domaine, vous devriez pouvoir utiliser des comptes de stockage joints à n’importe quelle forêt.

Notes

Assurez-vous que le nom d’hôte faisant partie du nom de domaine complet correspond au nom du compte de stockage, comme décrit ci-dessus. Sinon, vous recevez une erreur d’accès refusé : « La syntaxe du nom de fichier, du nom du répertoire ou de l’étiquette de volume est incorrect. » Une trace réseau affiche le message STATUS_OBJECT_NAME_INVALID (0xc0000033) pendant la configuration de la session SMB.

Ajouter un suffixe de nom personnalisé et une règle de routage

Si vous avez déjà modifié le suffixe du nom du compte de stockage et ajouté un enregistrement CNAME comme décrit dans la section précédente, vous pouvez ignorer cette étape. Si vous préférez ne pas apporter de changement DNS ni modifier le suffixe du nom du compte de stockage, vous pouvez configurer une règle de routage de suffixe de la Forêt 1 vers la Forêt 2 pour un suffixe personnalisé de file.core.windows.net.

Notes

La configuration du routage de suffixe de nom n’affecte pas la capacité à accéder aux ressources du domaine local. Elle est uniquement nécessaire pour autoriser le client à transférer la requête au domaine correspondant au suffixe lorsque la ressource est introuvable dans son propre domaine.

Tout d’abord, ajoutez un nouveau suffixe personnalisé dans la Forêt 2. Veillez à disposer des autorisations d’administration appropriées pour modifier la configuration et à établir une approbation entre les deux forêts. Effectuez ensuite ces étapes :

  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 2.
  2. Ouvrez la console Domaines et approbations Active Directory.
  3. Cliquez avec le bouton droit sur Domaines et approbations Active Directory.
  4. Sélectionnez Propriétés, puis Ajouter.
  5. Ajoutez « file.core.windows.net » comme suffixe UPN.
  6. Sélectionnez Appliquer, puis OK pour fermer l’Assistant.

Ajoutez ensuite la règle de routage de suffixe dans la Forêt 1 à des fins de redirection vers la Forêt 2.

  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 1.
  2. Ouvrez la console Domaines et approbations Active Directory.
  3. Cliquez avec le bouton droit sur le domaine pour lequel vous souhaitez accéder au partage de fichiers, sélectionnez l’onglet Approbations, puis le domaine de la Forêt 2 dans les approbations sortantes.
  4. Sélectionnez Propriétés, puis Routage des suffixes de noms.
  5. Vérifiez que le suffixe « *.file.core.windows.net » s’affiche. Si ce n’est pas le cas, sélectionnez Actualiser.
  6. Sélectionnez « *.file.core.windows.net » et sélectionnez Activer, puis Appliquer.

Confirmer que l’approbation fonctionne

Nous allons maintenant confirmer que l’approbation fonctionne en exécutant la commande klist pour afficher le contenu du cache des informations d’identification Kerberos et de la table de clés.

  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 1 et ouvrez une invite de commandes Windows.
  2. Pour afficher le cache des informations d’identification du compte de stockage joint à un domaine de la Forêt 2, exécutez l’une des commandes suivantes :
  3. Le résultat ressemble à ce qui suit. La sortie de klist diffère légèrement en fonction de la méthode que vous avez utilisée pour configurer les suffixes de domaine.
Client: onprem1user @ ONPREMAD1.COM
Server: cifs/onprem2sa.file.core.windows.net @ ONPREMAD2.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:45:02 (local)
End Time: 11/23/2022 4:45:02 (local)
Renew Time: 11/29/2022 18:45:02 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x200 -> DISABLE-TGT-DELEGATION
Kdc Called: onprem2.onpremad2.com
  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 2 et ouvrez une invite de commandes Windows.
  2. Pour afficher le cache des informations d’identification du compte de stockage joint à un domaine de la Forêt 1, exécutez l’une des commandes suivantes :
  3. Le résultat ressemble à ce qui suit. La sortie de klist diffère légèrement en fonction de la méthode que vous avez utilisée pour configurer les suffixes de domaine.
Client: onprem2user @ ONPREMAD2.COM
Server: krbtgt/ONPREMAD2.COM @ ONPREMAD2.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40e10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:46:35 (local)
End Time: 11/23/2022 4:46:35 (local)
Renew Time: 11/29/2022 18:46:35 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x1 -> PRIMARY
Kdc Called: onprem2

Client: onprem2user @ ONPREMAD2.COM    
Server: cifs/onprem1sa.file.core.windows.net @ ONPREMAD1.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:46:35 (local)
End Time: 11/23/2022 4:46:35 (local)
Renew Time: 11/29/2022 18:46:35 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x200 -> DISABLE-TGT-DELEGATION
Kdc Called: onpremad1.onpremad1.com

Si vous voyez la sortie ci-dessus, vous avez terminé. Si ce n’est pas le cas, suivez ces étapes pour fournir d’autres suffixes UPN pour que l’authentification multiforêt fonctionne.

Important

Cette méthode fonctionne uniquement dans les environnements avec deux forêts. Si vous avez plus de deux forêts, utilisez l’une des autres méthodes pour configurer des suffixes de domaine.

Tout d’abord, ajoutez un nouveau suffixe personnalisé dans la Forêt 1.

  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 1.
  2. Ouvrez la console Domaines et approbations Active Directory.
  3. Cliquez avec le bouton droit sur Domaines et approbations Active Directory.
  4. Sélectionnez Propriétés, puis Ajouter.
  5. Ajoutez un autre suffixe UPN tel que « onprem1sa.file.core.windows.net ».
  6. Sélectionnez Appliquer, puis OK pour fermer l’Assistant.

Ensuite, ajoutez la règle de routage de suffixe dans la Forêt 2.

  1. Connectez-vous à un ordinateur ou à une machine virtuelle qui est joint(e) à un domaine de la Forêt 2.
  2. Ouvrez la console Domaines et approbations Active Directory.
  3. Cliquez avec le bouton droit sur le domaine pour lequel vous souhaitez accéder au partage de fichiers, sélectionnez l’onglet Approbations, puis l’approbation sortante de la Forêt 2 où le nom de routage de suffixe a été ajouté.
  4. Sélectionnez Propriétés, puis Routage des suffixes de noms.
  5. Vérifiez que le suffixe « onprem1sa.file.core.windows.net » s’affiche. Si ce n’est pas le cas, sélectionnez Actualiser.
  6. Sélectionnez successivement « onprem1sa.file.core.windows.net », Activer, puis Appliquer.

Étapes suivantes

Pour plus d’informations, consultez ces ressources :