コードネームは gMSA
グループ管理サービスアカウント -- コードネームは gMSA です
gMSA - グループ管理サービスアカウント、Active Directory で管理されるアカウントになります
このアカウントの特長は 何といっても強力なパスワードが自動管理されること!
強力なパスワードが自動生成され、Active Directory ドメインのメンバーコンピューターで使用できるわけです
この gMSA を AWS Managed Microsoft AD で作成してみます
AWS Managed Microsoft AD での gMSA の作成については AWS ブログがあります
作成手順を見てみます
この手順、KDS ルート キーの作成がありません
gMSA のアカウントのパスワードは自動生成されます
そのための KDS ルート キーは必須です
通常 ユーザーはこの KDS ルート キーの作成から行う必要があります
その手順がないとは…
どげんなっとるばぃ?
なんと!
AWS Managed Microsoft AD ではこのキーができていたりするのだ
確認してみましょう
KDS ルート キーは CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration, DN=**** に作成されています
> Get-ADObject -Filter 'ObjectClass -like "*"' -searchbase 'CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=ad, DC=net'
DistinguishedName Name ObjectClass ObjectGUID
----------------- ---- ----------- ----------
CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=ad,DC=net Master Root Keys container e********-****-****-****-********
CN=********-****-****-****-********,CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=ad,DC=net
ホントだ いたわ…
KDS ルート キーの存在が無事確認できたので、gMSA だけ作成することにします
そぉそぉ gMSA は CN=gMSAexample,CN=Managed Service Accounts, DN=**** に作成されます
作成には PowerShell の New-ADServiceAccount コマンドレットを使用します
New-ADServiceAccount -name gMSAexample
-DNSHostName <サービスの DNS ホスト名>
-PrincipalsAllowedToRetrieveManagedPassword <メンバー ホストのコンピューター アカウントまたはメンバー ホストが属するセキュリティ グループ>
セキュリティグループで指定すれば メンバーコンピューターをセキュリティグループに入れてやるだけで個別指定の必要はありません
AWS Managed Microsoft AD ではこちらが推奨のようです
とゆーわけで作ってみた
まず対象のセキュリティグループを作成します
セキュリティグループ名はブログにあった App_server_grp としました
(考えるのがメンド―だったとかいわナイ)
> New-ADGroup -Name App_server_grp `
-Groupscope Global `
-Path "ou=Users, ou=ad, dc=ad, dc=net"
作成したセキュリティグループにメンバーコンピューターを追加します
> Add-ADGroupMember -Identity App_server_grp -Members EC2AMAZ-******$
メンバーコンピューター名の最後には $ を付けてあげましょう
では gMSA を作成し 対象にセキュリティグループを指定します
> New-ADServiceAccount -name gMSAexample -DNSHostName ad.net -PrincipalsAllowedToRetrieveManagedPassword App_server_grp
できた!
> Get-ADServiceAccount -Filter 'Name -eq "gMSAexample"'
DistinguishedName : CN=gMSAexample,CN=Managed Service Accounts,DC=ad,DC=net
Enabled : True
Name : gMSAexample
ObjectClass : msDS-GroupManagedServiceAccount
ObjectGUID : ********-****-****-****-********
SamAccountName : gMSAexample$
SID : S-*-*-**-**********-********-*********-****
UserPrincipalName :
これをサービスアカウントに使ったり スクリプトの実行ユーザーに使ったりできるわけです
いろいろ試してみてくださいね♪