ダイナミックアクセス制御 (Dynamic Access Control) は,Active Directory のグループよりも詳細に認証と権限を管理するための Windows Server 2012 の機能セットだ。おもに以下の4つのシナリオを想定している。
- データ分類
- 式ベースのアクセス条件
- 式ベースの監査
- 暗号化
これらのシナリオに対処するため,ダイナミックアクセス制御には5つの主要なコンポーネントがある。
- 式ベースのアクセスコントロールリスト
- ユーザおよびデバイスクレーム
- ファイル分類インフラストラクチャ
- 集約型アクセスおよび監査ポリシ
- アクセス拒否アシスタンス
ユーザおよびデバイスクレーム
ユーザクレームとは,ユーザがどの部署に所属するかというような,ユーザに関するプロパティである。同じように物理的なデバイスに対しても,関連するクレームを定義することができるようになった。これにより,ユーザが他の方法でファイルへのアクセスを許可されていたとしても,信頼されないマシンに対して機密情報が公開されるのを防止することが可能になる。
クレームでは文字列やブール値,整数などさまざまなデータ型がサポートされている。
式ベースのアクセスコントロールリスト
式ベースの ACL によってユーザクレームやデバイスクレーム,リソースプロパティを操作する。
式は2つの部分、適用性(applicability) と権限(permission) で構成される。適用性のチェックは通常 “Resource.SecurityLevel = Secret” のように,リソースプロパティを対象とする。この式が true を返した場合,権限式が評価されて,ユーザ/デバイスの組み合わせがリソースへのアクセス可能なものか確認される。もうひとつの例として,"(User.SecurityClearance = TopSecret or User.SecurityClearance = Secret) and (Device.Location = SecureLab)" という式を見てみよう。
式ベースのアクセスコントロールリストは,既存のグループベースのポリシも拡張する。従来は,グループに対して "and" 演算子という概念は存在しなかった。そのためリソースにアクセスするグループが2つ,あるいはそれ以上必要な場合には,それぞれのグループを新たに作成しなければならなかった。このような "グループの肥大化" は,数十あるいは数百のサイトを抱える大企業の多くで問題となっていた。今回それが "ユーザはグループAとグループBに所属する" という意味の式で記述できるようになった。
ユーザや開発者は,AddConditionalAce などの API や PowerShell,LDAP といった,さまざまな方法で式ベースの ACL を管理することができる。
ファイル分類インフラストラクチャ
ファイル分類インフラストラクチャ (FCI / File Classification Infrastructure) は,リソースプロパティをファイルに割り当てるために使用されるもので,組み込み,サードパーティいずれの分類もサポートする。Windows Server 2008 R2 では,ファイルの分類はタイマを使用して,通常は深夜に実行されていた。Windows Server 2012 ではこれが,ほぼリアルタイムで処理される。それでもファイル生成からクラス分類されるまでわずかな時間遅延はあるので,ローカルでのアクセス許可の設定も重要だ。
FCI に関するもうひとつの変更は,分類が格納される場所である。これまでは二次的なファイルシステムに配置されていたため,ファイルへの書き込みアクセス権を持っていれば編集が可能だった。Server 2012 ではこでがファイルの ACL に移動している。設定可能なファイル分類のリストは ActiveDirectory に格納される。
集約型のアクセスおよび監査ポリシ
集約型アクセスポリシ (CAP / Central Access Policy) は,ファイル分類に式ベースのアクセスコントロールを組み合わせたものだ。これによって IT 部門は,財務資料 (FCI で分類される) へのアクセスをプロジェクトのグループに属する経理部のユーザに限定する,というような高レベルのルールを設定可能になる。設定されたルールは,グループポリシを使って各ファイルサーバにプッシュ配信される。
集約型アクセスポリシは,共有 ACL がチェックされた後にチェックされる。CAP ルールもパスすれば,NTFS ベースのローカルファイル ACL が最後にチェックされる仕組みだ。
セキュリティ設定の誤操作によって生じる問題を軽減するために,集約型アクセスポリシにはステージ設定が可能になっている。これにより情報セキュリティ管理者は,ファイルアクセスを失うのは誰か,どのルールが問題を発生させているかなどを確認することができる。
Kerberos と新しいトークン
Kerberos が ActiveDirectory 内のマシン間でクレームを受け渡す手段であることは変わっていない。クライアントが Windows 8 を使用している場合,トークンにはユーザクレーム,デバイスグループ,デバイスクレームが格納されるようになる。
Windows 7,OS X,その他のオペレーティングシステムを使用している場合,Kerberos でこの拡張がサポートされないので,認証にはさらに別の手順が必要である。有効に設定されていれは,ファイルサーバが ActiveDirectory サーバに対して,不足しているクレーム情報の問い合わせを行う。ただしこれは,遅延とネットワーク帯域の面で多少高価な処理になるかも知れない。
新しい Kerberos トークンのもうひとつの機能は,複合ID (compound identiry) というものだ。ユーザアカウント単独では必要なすべてのファイルにアクセスするための,十分な権限を持っていないようなシナリオが,これによってサポートされる。複合トークンにも,クラウドベースのサーバにアクセスするための SAML 情報を格納することができる。
"チケット膨張",すなわちユーザの Kerberos チケットに,過剰な数のグループやクレームが格納される事態を避けるための注意が必要だ。チケット膨張の影響を軽減するため,クレームとグループは圧縮されている。さらにトークンの最大サイズも 48K まで拡大された。
アクセス拒否アシスタンス
簡単に言うと,アクセス拒否アシスタンスとは,なぜ自分が特定のリソースへのアクセスを拒否されたのか,その理由の確認を支援するものだ。物理的なパスキーの挿入を指示する,あるいはその時適用されたアクセス違反ルールを提示する,といった動作を行うことができる。アクセス要求を確認して権限を付与してくれるように,リソース所有者にEメールを送信するような設定も可能だ。
デプロイ
リソースプロパティを追加するには,Active Directory と Windows Server 2012 ファイルサーバの更新が必要になる。ユーザクレームと集約型アクセスポリシには,Windows Server 2012 ドメインコントローラが必要だ。デバイスクレームを利用するには,クライアントにも同様に Windows 8 が実行されていなければならない。