今回は、前回に引き続きMicrosoft Identity Manager 2016(MIM)を使ったActive Directoryの特権アカウントの管理についてです。今回はいよいよ管理対象の特権アカウントを登録し、権限管理をしてみます。
参考)
[MIM]特権アカウント管理機能の概要
http://idmlab.eidentity.jp/2015/06/mim.html
[MIM]Active Directoryの特権アカウント管理環境を構築する~環境構築編
http://idmlab.eidentity.jp/2015/07/mimactice-directory.html
◆ロール、特権、ユーザの準備
前々回のポストでも紹介した通り、MIMの中で特権アカウントは以下の図の様に扱われます。
つまり、やるべきことはMIM上に①特権ロール(PAM-Role)を定義する、②特権ロールに対応する特権グループ(PAM-Group)の作成と紐づけ、③特権ロールが利用できるユーザ(PAM-User)の作成と紐づけ、の3点です。
以下の通りPowerShellを使って順番に行います。(実際は特権グループの作成、特権利用ユーザの作成、特権ロールの作成と紐づけという順番なので②⇒③⇒①の順で実行します)
・既存ドメインアカウントの準備
Shadowアカウントを特権アカウント管理サーバ側のドメインに作成するため、[ドメイン名$$$]という名称のセキュリティグループを既存ドメイン上に作成しておきます。
Import-Module ActiveDirectory New-ADGroup -name ‘EIDENTITY$$$' -GroupCategory Security -GroupScope DomainLocal -SamAccountName ‘EIDENTITY$$$'
また、既存ドメイン上の特権として利用するセキュリティグループ(ここではCorpAdmins)の作成および特権利用ユーザの元となるユーザ(ここではJen)を作成しておきます。
特権利用申請をMIMで行うと、ここで作ったセキュリティグループの持つ権限が付与されることになります。
New-ADGroup -name CorpAdmins -GroupCategory Security -GroupScope Global -SamAccountName CorpAdmins New-ADUser -SamAccountName Jen -name Jen Add-ADGroupMember -identity CorpAdmins -Members Jen $jp = ConvertTo-SecureString "P@ssw0rd" -asplaintext -force Set-ADAccountPassword -identity Jen -NewPassword $jp Set-ADUser -identity Jen -Enabled 1 -DisplayName "Jen"
・特権アカウント管理サーバ側の準備
※PowerShellのモジュール読み込み、既存ドメインへの接続
Import-Module MIMPAM Import-Module ActiveDirectory $ca = get-credential -UserName eidentity\Administrator -Message "eidentity forest domain admin credentials"
・特権グループの作成(既存ドメイン上のCorpAdminsグループのSIDをコピーして作成)
$pg = New-PAMGroup -SourceGroupName "CorpAdmins" -SourceDomain eidentity.local -SourceDC dc.eidentity.local -Credentials $ca
※dc.eidentity.localは既存ドメインの任意のドメインコントローラ
※New-PAMGroupを実行した段階で特権アカウント管理サーバのドメイン上に[ソースドメイン名].[グループ名]というグループオブジェクト(Shadowアカウント)が作成される。
・特権利用ユーザの作成(既存ドメイン上のユーザ/jenをベースに作成)
$sj = New-PAMUser -SourceDomain eidentity.local -SourceAccountName Jen $jp = ConvertTo-SecureString "P@ssw0rd" -asplaintext -force Set-ADAccountPassword -identity priv.Jen -NewPassword $jp Set-ADUser -identity priv.Jen -Enabled 1 Add-ADGroupMember "Protected Users" priv.Jen
※New-PAMUserを実行した段階で特権アカウント管理サーバのドメイン上にPRIV.[ユーザ名]というユーザが自動的に作成される
・特権ロールへ特権グループ、特権利用ユーザの紐づけ
$pr = New-PAMRole -DisplayName "CorpAdmins" -Privileges $pg -Candidates $sj
これで準備は完了です。
Get-PAMRoleコマンドレットで設定状況が確認できます。
(MIMポータルをインストールした場合は、ポータル上からも確認できます)
◆権限を付与してみる
では、実際に特権の付与をしてみましょう。
権限付与に成功すると、既存ドメイン上のCorpAdminsの権限が特権アカウント管理ドメインのpriv.jenに付与される、つまりpyramid\priv.jenユーザがeidentity\CorpAdminsグループに登録されます。
ですから、eidentity\CorpAdminsグループでないとできないことを定義しておき、権限の付与の前後で出来ることが変わっていればOKです。
今回は、他のユーザのパスワードリセット権限を付与してみます。
やり方としては、既存ドメインのActive Directoryユーザとコンピュータより、CorpAdminsグループにパスワードリセット権限を委譲します。
・特権付与前の状態
既存ドメイン側で「runas /user:priv.jen@pyramid.local powershell」を実行し、特権付与前の状態でpowershellを起動し、MMCを起動、Active Directoryユーザとコンピュータを立ち上げます。
この状態だとパスワードのリセットができません。
・特権付与と権限の確認
では、特権を与えてみましょう。
特権管理ポータルへアクセスし、pyramid\priv.jenでログインします。Edgeを使ってみました(笑)
特権の利用を申請します。
再び、「runas /user:priv.jen@pyramid.local powershell」を起動し、Active Directoryユーザとコンピュータを起動します。
今度はパスワードのリセットが実行できました。
尚、所定の時間が過ぎると特権が取り消され、priv.jenアカウントがCorpAdminsグループのメンバから外れます。この時、MIMサーバのイベントログに以下のエントリが記録されます。(バッチが走るタイミングに依存するので、ロールに設定したTTLより少し遅れ気味になります)
尚、Windows Server 2016からはKerberosの仕様が変更され、TGTのTTLのコントロールができるようになるため、実際のメンバシップ登録・削除ではなく、Foreign Principalとして仮想的にグループメンバとして登録される形になる予定なので、明示的なグループメンバの削除ジョブが実行されることはなくなる見込みです。こうなれば特権が外れるタイミングがTTLとぴったり合うと思われます。
0 件のコメント:
コメントを投稿