AWS Managed Microsoft ADでグループ管理サービスアカウント(gMSA)を作成する

しばたです。
小ネタなのですが軽くハマったので本記事で共有します。

グループ管理サービスアカウント(gMSA)

Windows Server 2012のActive Directoryから導入された新機能の一つにグループ管理サービスアカウント(Group Managed Service Accounts(gMSA))があり、ドメイン内の特定のサーバーでのみ利用可能なサービスアカウントになります。
細かい話は以下のドキュメントやブログをご覧ください。

で、このグループ管理サービスアカウントを利用するには

  1. (初期設定のみ) KDSルートキーの作成
  2. グループ管理サービスアカウントの追加

という手順を踏む必要があります。

Microsoft ADにおけるグループ管理サービスアカウント

AWS Managed Microsoft AD(以後Microsoft AD)でもグループ管理サービスアカウントはサポートされており、AWS Delegated Managed Service Account Administratorsグループのメンバーであればアカウントを作成可能です。

初期状態でこのグループにはAWS Delegated Administratorsが所属しており、最初に提供されるAdmin管理者ユーザーが該当します。

Microsoft ADでグループ管理サービスアカウントを作成する

本記事では適当な環境に作成したcorp.contoso.comドメイン環境でAdminユーザーで作業しています。

最初にKDSルートキーを作成しようとしたのですが、次の様にCOMエラーとなってしまいました。

Add-KdsRootKey -EffectiveTime ((Get-Date).addhours(-10))

Add-KdsRootKey : この要求はサポートされていません。 (HRESULT からの例外:0x80070032) 発生場所 行:1 文字:1 + Add-KdsRootKey -EffectiveTime ((Get-Date).addhours(-10)) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Add-KdsRootKey], COMException + FullyQualifiedErrorId : この要求はサポートされていません。 (HRESULT からの例外:0x80070032),Microsoft.KeyDistributionService.Cmdlets.AddKdsRootKeyCommand

Get-KdsRootKeyを実行しても既存のキーは無さそうに見えました。

Get-KdsRootKey

ただ、ここがちょっとハマったポイントで、Microsoft ADではコマンドレットから見ることができないものの初期状態でKDSルートキーが作成済みでした。
ADSIエディターから確認すると下図の様にキーが存在しています。

このためMicrosoft ADでグループ管理サービスアカウント(gMSA)を作成する際はいきなりNew-ADServiceAccountコマンドレットを実行して構いません。

New-ADServiceAccount -Name <サービスアカウント名> –DNSHostName <利用サーバー名>

エラー無くコマンドレットが終了し、グループ管理サービスアカウントがきちんと作成されました。