20 Nov 2024, 00:00

Azure files - Authentification via AD DS local

Share

Préalables

https://learn.microsoft.com/fr-fr/azure/storage/files/storage-files-identity-ad-ds-enable

Ces paramètres s’activeront sur tous les partages du compte.

Conditions :

  • nécessite un DC (on-prem ou éventuellement en VM ; ici on-prem)
  • nécessite une connectivité permanente des clients au DC
  • supporte uniquement les hybrid-users (donc synchro depuis le DC vers Entra ID)
  • 1 seule forêt
  • accorde des droits uniquement aux Users, pas aux Computers
  • avoir accès à une machine jointe au domaine et sur le même réseau que le DC

Il semble possible de monter le partage depuis une machine non-jointe au domaine.

Il faut vérifier que le compte de stockage n’a pas déjà une source d’AD configurée ; si oui, il faut d’abord la désactiver.

Activation

Il faut inscrire le compte de stockage en tant que Computer (ou service logon account) sur l’AD local.

Installation des modules

On utilise le module AzFilesHybrid qui automatise une partie du processus. Des instructions pour le faire manuellement sont disponibles sur la page chez MS.

Téléchargement du module sur cette page Github

On dézippe les fichiers, et on les installe avec .\CopyToPSPath.ps1 (devrait les mettre dans %username%\Documents\WindowsPowerShell\Modules\ )

Lors de l’import Import-Module AzFilesHybrid , j’ai du installer PowershellGet, et donc lancer la commande en tant qu’admin.
Au lancement suivant, il m’a proposé d’installer 2 autres modules nécessaires, Az et Az.storage.
On peut aussi les installer manuellement avec install-module Az -AllowClobber (AllowClobber permet de forcer l’installation, même si ce module existe déjà dans le système mais en version différente).

Il faut aussi le module “ActiveDirectory” , qui s’installe avec les RSAT (Remote Server Administration Tools).
Pour les installer, on peut les télécharger, ou passer par l’ajout de fonctionnalités Windows dans “Programme et fonctionnalités, ou passer par Powershell.
Pour ceci, en admin, on peut déjà vérifier ce qui est installé :
Get-WindowsCapability -Name RSAT* -Online | Select-Object -Property DisplayName, State
et on regarde la colonne “State”.

On installe :
Add-WindowsCapability –Online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"
puis
Import-Module ActiveDirectory

Activation

Il faut Powershell 5.1 ! Ne semble pas fonctionner avec les versions plus récentes, comme la 7.

Il faut faire les manipulations depuis un poste joint au domaine, et depuis un utilisateur avec au minimum les rôles Azure “Lecteur” sur le groupe de resources (contenant le compte de stockage) et “Contributeur” sur le compte de stockage.
Si on est Owner ou Contributeur sur l’abonnement Azure, ça devrait être OK.
Il faut aussi avoir le droit de créer des objets sur l’AD local.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
Import-Module -Name AzFilesHybrid
Connect-AzAccount
$SubscriptionId = "<your-subscription-id-here>"
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
$SamAccountName = "<sam-account-name-here>"
(SamAccountName est le nom du “Computer” qui VA être créé sur l’AD ; max 15 caractères)

Select-AzSubscription -SubscriptionId $SubscriptionId

Join-AzStorageAccount -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName -SamAccountName $SamAccountName
(pour cette étape, il est nécessaire d’être connecté au DC)

Le compte Computer sur l’AD est désormais créé.

Si besoin de débuguer l’accès, on peut lancer cette commande :
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose
qui permettra notamment d’avoir l’info du type d’auth actuellement activé sur ce compte de stockage.

Droits sur le partage

Portail Azure -> Partage en question -> IAM -> Ajouter -> une attribution de rôle
Rechercher “SMB” et choisir “Collaborateur de pargae SMB” (pour ceux qui doivent simplement travailler sur les fichiers du partage)
Choisir “Utilisateur, Groupe ou UPN” puis choisir l’utilisateur ou le groupe en question (issu de l’AD)