ダイナミックアクセス制御のステージング

Windows Server 2012の新機能、ダイナミックアクセス制御では、Active Directoryユーザーやコンピューターのもつ属性情報をもとにアクセス制御をおこなったり、アクセス監査を行えることを前回の投稿では紹介しましたが、今回はダイナミックアクセス制御のステージングについて紹介したいと思います。

一般に「ステージング」とは、公開前のコンテンツや設定・機能などをテスト環境に実装し、問題なく利用できるか?を確認するための環境のことを指すと思います。では、ダイナミックアクセス制御のステージングとはなんでしょうか?
それは、「ダイナミックアクセス制御のアクセス許可を設定する際、このアクセス許可で問題なく動作するかな?ということを事前に確認したいときに利用する機能」です。

ファイアウォールなどでも新しいルールを実装する場合、いきなり遮断する設定を行うのではなく、
まずはルールに該当するアクセスがあったらログだけを残すような設定を行って、テストすることがあると思います。
それと同じように、ダイナミックアクセス制御でも、いきなりアクセスを遮断するのではなく、ログだけを残すように設定し、
管理者の方が自分の思い通りにルールが適用されているか、確認するという使い方ができます。

image

ここまでの話をすれば、お気づきかもしれません。
ダイナミックアクセス制御には、最初からアクセス許可設定と監査ログを残す設定の2つが最初から用意されているのですから、「ログだけ残して様子を見る」という運用は簡単にできるのです。

[Active Directory管理センター]管理ツールの[ダイナミックアクセス制御]-[Central Access Rules]から、ルールを開き、[提案されたアクセス許可]にダイナミックアクセス制御で将来的に適用したいアクセス許可を設定します。

CAR6

上記の設定と、前回の投稿などで紹介したダイナミックアクセス制御の設定により、役職が部長になっているユーザーが該当するファイルにアクセスすると、イベントビューアのセキュリティログにイベントID4663をはじめとするオブジェクトアクセスに関するログが記録されます。

CAR7

このときに注目してほしいのが、イベントID4663のログの前にイベントID4818のログが出ている点です。
イベントID4818のログは「集約型アクセスポリシーステージング」と呼ばれるログで、前述のCentral Access Rulesで設定したアクセス許可のうち、[現在のアクセス許可]にはなく、[提案されたアクセス許可]だけに登録されているアクセス許可によってイベントログが生成された場合に記録されるという、特殊なログです。

CAR8

このログは次のような活用が考えられます。

1.ダイナミックアクセス制御で設定したいアクセス許可をCentral Access Rulesの[提案されたアクセス許可]だけに
設定する
2.1.の状態でしばらく運用し、自分の思った通りのイベントログが生成されているか、イベントID4818または
その周辺のログを参照して確認する
3.2.の確認の結果、問題ないことが確認できたら、Central Access Rulesの[現在のアクセス許可]に
[提案されたアクセス許可]と同じアクセス許可を設定する(もし、本番運用が始まったらログを残さなくてもよいと
いうことであれば、Central Access Rulesの[提案されたアクセス許可]からアクセス許可を削除してもよい)

参考までにイベントID 4818の集約型アクセスポリシーステージングのログに記載される内容を紹介しておきます。

提案された集約型アクセス ポリシーは、現在の集約型アクセス ポリシーと同じアクセス許可を与えません。
サブジェクト:
セキュリティ ID:        EXAMPLEyamada
アカウント名:        yamada
アカウント ドメイン:        EXAMPLE
ログオン ID:        0x15E798

オブジェクト:
オブジェクト サーバー:        Security
オブジェクトの種類:        File
オブジェクト名:        C:share社外秘.txt
ハンドル ID:        0x7a0

プロセス情報:
プロセス ID:        0x798
プロセス名:        C:WindowsSystem32WindowsPowerShellv1.0powershell.exe

現在の集約型アクセス ポリシーの結果:

アクセス理由:        READ_CONTROL:    許可元    D:(A;ID;FA;;;AU)
SYNCHRONIZE:    許可元    D:(A;ID;FA;;;AU)
ReadData (または ListDirectory):    許可元    D:(A;ID;FA;;;AU)
ReadEA:    許可元    D:(A;ID;FA;;;AU)
ReadAttributes:    許可元    D:(A;ID;FA;;;AU)

現在の集約型アクセス ポリシーの結果とは異なる提案された集約型アクセス ポリシーの結果:

アクセス理由:        READ_CONTROL:    集約型アクセス規則によって許可されませんでしたCAR-重要度
SYNCHRONIZE:    集約型アクセス規則によって許可されませんでしたCAR-重要度
ReadData (または ListDirectory):    集約型アクセス規則によって許可されませんでしたCAR-重要度
ReadEA:    集約型アクセス規則によって許可されませんでしたCAR-重要度
ReadAttributes:    集約型アクセス規則によって許可されませんでしたCAR-重要度