委任された管理サービス アカウントのセットアップ
委任された管理サービス アカウント (dMSA) は、資格情報のセキュアで効率的な管理が可能な Active Directory (AD) アカウントです。 従来のサービス アカウントとは異なり、dMSA では AD が自動的にパスワード管理を行うため、手動のパスワード管理は必要ありません。 dMSA を使用すると、ドメイン内のリソースにアクセスするための特定のアクセス許可を委任できるため、セキュリティ リスクが軽減され、サービス アカウント アクティビティの可視性とログが向上します。
現在、dMSA は Windows Server 2025 を実行しているデバイスでのみセットアップできます。 DMSA は、従来のサービス アカウントと比較して、サービス アカウント管理に対するよりセキュアで管理しやすいアプローチです。 重要なサービスを dMSA に移行することで、組織は、これらのサービスがセキュリティで保護された準拠している方法で確実に管理されるようにできます。 DMSA は、一意かつ頻繁にローテーションされるパスワードを提供してセキュリティのレベルを上げ、そうすることで承認されていないアクセスの可能性を減らし、全体的なセキュリティを向上させます。
前提条件
- Active Directory Domain Services ロールは、お使いのデバイスのほか、リモート管理ツールを使用している場合はすべての対象デバイスにインストールする必要があります。 詳しくは、「役割、役割サービス、または機能のインストールまたはアンインストール」をご覧ください。
- ロールがインストールされたら、デバイスをドメイン コントローラー (DC) に昇格させる必要があります。 サーバー マネージャーのフラグ アイコンに新しい通知が表示されたら、[このサーバーをドメイン コントローラーに昇格する] を選択してから、必要な手順を完了します。
- dMSA を作成または移行する前に、KDS ルート キー を DC で生成する必要があります。 PowerShell で
Get-KdsRootKey
を実行して、キーが使用可能かどうかを確認します。 キーが使用できない場合は、Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))
を実行するとキーを追加できます。
Note
スタンドアロンの管理されたサービス アカウント (MSA) として dMSA を使用したり、レガシ サービス アカウントを置き換えたりするには、クライアント デバイスで次のコマンドを実行する必要があります。
$params = @{
Path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters"
Name = "DelegatedMSAEnabled"
Value = 1
Type = "DWORD"
}
Set-ItemProperty @params
スタンドアロン dMSA の作成
次の手順を実行すると、ユーザーは従来のサービス アカウントから移行することなく、新しい dMSA を作成できます。
管理者権限を使用して PowerShell セッションを開き、次を実行します。
$params = @{ Name = "ServiceAccountName" DNSHostName = "DNSHostName" CreateDelegatedServiceAccount = $true KerberosEncryptionType = "AES256" } New-ADServiceAccount @params
特定のデバイスに、AD でサービス アカウントのパスワードを取得するためのアクセス許可を付与します。
$params = @{ Identity = "DMSA Name" PrincipalsAllowedToRetrieveManagedPassword = "Machine$" } Set-ADServiceAccount @params
dMSA の msDS-DelegatedMSAState プロパティ値を 3 に設定する必要があります。 現在のプロパティ値を表示するには、次を実行します。
$params = @{ Identity = "dMSAsnmp" Properties = "msDS-DelegatedMSAState" } Get-ADServiceAccount @params
この値を 3 に設定するには、次を実行します。
$params = @{ Identity = "dMSAsnmp" Properties = @{ "msDS-DelegatedMSAState" = 3 } } Set-ADServiceAccount @params
dMSA に移行する
サービス アカウントを dMSA に移行するには、次の手順に従います。
「スタンドアロン dMSA の作成」の説明に従って dMSA を作成します。
dMSA へのアカウント移行を開始します。
$params = @{ Identity = "<DMSAName>" SupersededAccount = "<DN of service account>" } Start-ADServiceAccountMigration @params
dMSA に移行するサービス アカウントが複数のサーバーにアクセスできる場合は、まずレジストリ ポリシーを適用して、既定を DC に設定する必要があります。 dMSA を使用してサインインしたら、以下を実行します。
$params = @{ Path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" Name = "DelegatedMSAEnabled" Value = "1" PropertyType = "DWORD" Force = $true } New-ItemProperty @params
レジストリへの変更が適用され、アカウントがリンクされたら、次のコマンドを実行して、アカウントの実行中のサービスを再起動します。
Get-Service | Where-Object {$_.Status -eq "Running"} | Restart-Service
Note
サービス アカウントが複数のデバイスに接続されていて、移行が終了した場合は、 PrincipalsAllowedToRetrieveManagedPassword を手動で更新する必要があります。
アカウントの移行を完了する
警告
移行後の問題を回避できるよう、元のサービス アカウントに戻す必要がある場合に備えて、移行を完了する際に元のサービス アカウントを削除しないでください。
アカウントの移行を完了するには、すべてのサービスで dMSA を使用できるように、従来のサービス アカウントを無効にする必要があります。
従来のサービスアカウントを無効にするには、次のコマンドを実行します。
$params = @{
Identity = "<DMSAName>"
SupersededAccount = "<DN of service account>"
}
Complete-ADServiceAccountMigration @params
移行するアカウントを誤った場合は、以下を実行して、移行中のすべての手順を元に戻します。
$params = @{
Identity = "<DMSAName>"
SupersededAccount = "<DN of service account>"
}
Undo-ADServiceAccountMigration @params
サービス アカウントを非アクティブまたはリンクされていない状態に戻すには、以下を実行します。
$params = @{
Identity = "<DMSAName>"
SupersededAccount = "<DN of service account>"
}
Reset-ADServiceAccountMigration @params
dMSA イベント ログを確認する
次のアクションを実行することにより、イベントをイベント ビューアー (eventvwr.exe) で確認できます。
- [スタート] を右クリックし、[イベント ビューアー] を選択します。
- 左側のペインで、[アプリケーションとサービス ログ] を展開し、Microsoft\Windows\Security-Kerberos\Operational に移動します。
- このプロバイダーのログ記録は、既定では無効になっています。ログ記録を有効にするには、[操作] を右クリックし、[ログの有効化] を選択します。
次の表に示すイベントがキャプチャされます。
イベント ID | 説明 |
---|---|
307 | dMSA Migration - このイベントは、移行中の dMSA と移行された dMSA の両方について出力されます。 これには、古いサービス アカウントと新しい dMSA に関する情報が含まれています。 |
308 | dMSA Permission Add - このイベントは、移行中に dMSA の管理パスワード フィールドの取得を許可されたプリンシパルに、マシンが自身を追加しようとするとログに記録されます。 |
309 | dMSA Key Fetch - このイベントは、Kerberos クライアントがドメイン コントローラーから dMSA のキーをフェッチしようとしたときにログに記録されます。 |