次の方法で共有


AD DS のストレージ アカウント ID のパスワードを更新する

適用対象: ✔️ SMB Azure ファイル共有

Active Directory Domain Services (AD DS) でストレージ アカウントにドメイン参加する場合は、AD プリンシパル (コンピューター アカウントまたはサービス アカウント) をパスワードで作成します。 AD プリンシパルのパスワードは、ストレージ アカウントの Kerberos キーの 1 つです。 AD プリンシパルの組織単位のパスワード ポリシーに応じて、認証の問題を回避するために、AD プリンシパルのパスワードを定期的にローテーションする必要があります。 有効期限が切れる前にパスワードを変更しないと、Azure ファイル共有に対する Kerberos 認証が失われることがあります。 一部の AD 環境では、自動クリーンアップ スクリプトを使用して、期限切れのパスワードを持つ AD プリンシパルを削除することもできます。

パスワードを定期的にローテーションする代わりに、ストレージ アカウントを表す AD プリンシパルを、パスワードのローテーションを必要としない組織単位に配置することもできます。

パスワードのローテーションをトリガーするには、2 つのオプションがあります。 AzFilesHybrid モジュールまたは Active Directory PowerShell を使用できます。 両方の方法ではなく、いずれかの方法を使用してください。

オプション 1: AzFilesHybrid モジュールを使用する

ストレージ アカウントを表す AD プリンシパルのパスワードを再生成してローテーションするには、Update-AzStorageAccountADObjectPassword コマンドレットを使用します。 Update-AzStorageAccountADObjectPasswordを実行するには、次の操作を行う必要があります。

  • ドメインに参加しているクライアントからコマンドレットを実行します。
  • ストレージ アカウントに対する所有者アクセス許可を持っている。
  • ストレージ アカウントを表す AD プリンシパルのパスワードを変更するための 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>"

kerb2 にローテーションした後は、数時間待ってから、 Update-AzStorageAccountADObjectPassword コマンドレットを使用して、両方の Kerberos キーが再生成されるように、もう一度 kerb1 に再生成してローテーションすることをお勧めします。

オプション 2: Active Directory PowerShell を使用する

AzFilesHybrid モジュールをダウンロードしたくない場合、Active Directory PowerShell を使用できます。

重要

このセクション内の Windows Server Active Directory PowerShell コマンドレットは、昇格された特権を使用して Windows PowerShell 5.1 で実行する必要があります。

次のスクリプトの <domain-object-identity> を、環境に適した値に置き換えます。

$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

AD DS アカウントのパスワードが Kerberos キーと一致するかどうかをテストする

AD DS アカウントのパスワードを更新した後、次の PowerShell コマンドを使用してテストできます。

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