Mettre à jour le mot de passe de l’identité de votre compte de stockage dans AD DS

Si vous avez inscrit l’identité/le compte AD DS (Active Directory Domain Services) qui représente votre compte de stockage dans une unité d’organisation ou un domaine qui applique l’heure d’expiration du mot de passe, vous devez modifier le mot de passe avant sa durée de vie maximale. Votre organisation peut exécuter des scripts de nettoyage automatisés qui suppriment les comptes une fois que leur mot de passe arrive à expiration. Pour cette raison, si vous ne changez pas votre mot de passe avant son expiration, votre compte risque d’être supprimé, ce qui vous fera perdre l’accès à vos partages de fichiers Azure.

Pour éviter toute rotation involontaire des mots de passe, durant l’intégration du compte Stockage Azure dans le domaine, veillez à placer le compte Stockage Azure dans une unité d’organisation distincte au sein d’AD DS. Désactivez l’héritage de stratégie de groupe sur cette unité d’organisation pour empêcher l’application des stratégies de domaine par défaut ou de stratégies de mot de passe spécifiques.

Notes

Dans AD DS, une identité de compte de stockage peut être un compte de service ou un compte d’ordinateur. Les mots de passe des comptes de service peuvent expirer dans Active Directory (AD). En revanche, les changements de mots de passe des compte d’ordinateur étant gérés par l’ordinateur client et non par AD, ils n’expirent pas dans AD.

Il existe deux options pour le déclenchement de la rotation des mots de passe. Vous pouvez utiliser le module AzFilesHybrid ou Active Directory PowerShell. N’utilisez qu’une seule méthode, pas les deux.

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

Option 1 : Utiliser le module AzFilesHybrid

Vous pouvez exécuter l’applet de commande Update-AzStorageAccountADObjectPassword à partir du module AzFilesHybrid. Cette commande doit être exécutée dans un environnement joint à un domaine AD DS en local à l’aide d’une identité hybride disposant de l’autorisation de propriétaire sur le compte de stockage et d’autorisations AD DS pour modifier le mot de passe de l’identité représentant le compte de stockage. La commande effectue des actions similaires à la rotation des clés du compte de stockage. Plus précisément, elle récupère la deuxième clé Kerberos du compte de stockage et l’utilise pour mettre à jour le mot de passe du compte inscrit dans AD DS. Ensuite, elle régénère la clé Kerberos cible du compte de stockage et met à jour le mot de passe du compte inscrit dans AD DS.

# Update the password of the AD DS account registered for the storage account
# You may use either kerb1 or kerb2
Update-AzStorageAccountADObjectPassword `
        -RotateToKerbKey kerb2 `
        -ResourceGroupName "<your-resource-group-name-here>" `
        -StorageAccountName "<your-storage-account-name-here>"

Cette action entraîne le changement du mot de passe de l’objet AD : kerb1 devient kerb2. Il s’agit d’un processus en deux phases : rotation avec remplacement de kerb1 par kerb2 (kerb2 est regénéré sur le compte de stockage avant d’être défini), attente de plusieurs heures, puis rotation inverse avec la réutilisation de kerb1 (cette applet de commande va également regénérer kerb1).

Option 2 : Utiliser Active Directory PowerShell

Si vous ne souhaitez pas télécharger le module AzFilesHybrid, vous pouvez utiliser Active Directory PowerShell.

Important

Les applets de commande Windows Server Active Directory PowerShell décrites dans cette section doivent être exécutées dans Windows PowerShell 5.1 avec des privilèges élevés. PowerShell 7.x et Azure Cloud Shell ne fonctionneront pas dans ce scénario.

Remplacez <domain-object-identity> dans le script suivant par votre valeur, puis exécutez le script pour mettre à jour le mot de passe de l’objet de domaine :

$KeyName = "kerb1" # Could be either the first or second kerberos key, this script assumes we're refreshing the first
$KerbKeys = New-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -KeyName $KeyName
$KerbKey = $KerbKeys.keys | Where-Object {$_.KeyName -eq $KeyName} | Select-Object -ExpandProperty Value
$NewPassword = ConvertTo-SecureString -String $KerbKey -AsPlainText -Force

Set-ADAccountPassword -Identity <domain-object-identity> -Reset -NewPassword $NewPassword