Dela via


Uppdatera lösenordet för din lagringskontoidentitet i AD DS

Om du har registrerat identiteten/kontot för Active Directory-domän Services (AD DS) som representerar ditt lagringskonto i en organisationsenhet eller domän som framtvingar lösenordsförfallotid måste du ändra lösenordet före den maximala lösenordsåldern. Din organisation kan köra automatiserade rensningsskript som tar bort konton när lösenordet upphör att gälla. Om du inte ändrar lösenordet innan det upphör att gälla kan ditt konto därför tas bort, vilket gör att du förlorar åtkomsten till dina Azure-filresurser.

För att förhindra oavsiktlig lösenordsrotation bör du under registreringen av Azure Storage-kontot i domänen placera Azure Storage-kontot i en separat organisationsenhet i AD DS. Inaktivera grupprincip arv på den här organisationsenheten för att förhindra att standarddomänprinciper eller specifika lösenordsprinciper tillämpas.

Kommentar

En lagringskontoidentitet i AD DS kan vara antingen ett tjänstkonto eller ett datorkonto. Lösenord för tjänstkonton kan upphöra att gälla i Active Directory (AD); Men eftersom lösenordsändringar för datorkonton drivs av klientdatorn och inte AD upphör de inte att gälla i AD.

Det finns två alternativ för att utlösa rotation av lösenord. Du kan använda modulen AzFilesHybrid eller Active Directory PowerShell. Använd en metod, inte båda.

Gäller för

Typ av filresurs SMB NFS
Standardfilresurser (GPv2), LRS/ZRS Ja Inga
Standardfilresurser (GPv2), GRS/GZRS Ja Inga
Premiumfilresurser (FileStorage), LRS/ZRS Ja Nej

Alternativ 1: Använd Modulen AzFilesHybrid

Du kan köra cmdleten Update-AzStorageAccountADObjectPassword från Modulen AzFilesHybrid. Du måste köra det här kommandot i en lokal AD DS-ansluten miljö med en hybrididentitet med ägarbehörighet till lagringskontot och AD DS-behörigheter för att ändra lösenordet för den identitet som representerar lagringskontot. Kommandot utför åtgärder som liknar rotation av nycklar till lagringskonton. Det hämtar den andra Kerberos-nyckeln för lagringskontot och använder den för att uppdatera lösenordet för det registrerade kontot i Active Directory Domain Services. Sedan återskapar den lagringskontots Kerberos-målnyckel och uppdaterar lösenordet för det registrerade kontot i Active Directory.

# 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>"

Den här åtgärden ändrar lösenordet för AD-objektet från kerb1 till kerb2. Detta är avsett att vara en process i två steg: rotera från kerb1 till kerb2 (kerb2 återskapas på lagringskontot innan det anges), vänta flera timmar och rotera sedan tillbaka till kerb1 (den här cmdleten återskapar också kerb1).

Alternativ 2: Använd Active Directory PowerShell

Om du inte vill ladda ned modulen AzFilesHybrid kan du använda Active Directory PowerShell.

Viktigt!

Windows Server Active Directory PowerShell-cmdletar i det här avsnittet måste köras i Windows PowerShell 5.1 med förhöjd behörighet. PowerShell 7.x och Azure Cloud Shell fungerar inte i det här scenariot.

Ersätt <domain-object-identity> i följande skript med ditt värde och kör sedan skriptet för att uppdatera lösenordet för domänobjektet:

$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

Testa att AD DS-kontolösenordet matchar en Kerberos-nyckel

Nu när du har uppdaterat AD DS-kontots lösenord kan du testa det med hjälp av följande PowerShell-kommando.

 Test-AzStorageAccountADObjectPasswordIsKerbKey -ResourceGroupName "<your-resource-group-name>" -Name "<your-storage-account-name>" -Verbose