Windowsのアクセス許可、ADFSのアクセス許可

If I were making my life as an AD admin, I would say that’s probably not the place to be.
(Active Directory管理者としての人生を送ろうとするなら、居場所はなくなるかもしれない)

米Quest Software社のイベントにおける対談で、こんな刺激的な言葉が飛び出したのですが、
少しずつではあるものの、言っていることがわかってきたような気がします。
オンプレミスを使うか?、クラウドを使うか?という選択肢が出てきたとき、
Active Directoryは絶対的な存在ではなくなりつつあります。
これから先、様々なサービスが登場し、様々なディレクトリが登場すれば
Active Directoryだけでなく、色々なテクノロジーに目を向ける必要があるかと思います。

そんなわけで、今日はActive Directoryをベースに他の認証・認可システムとの連携を実現する
ADFSを利用した場合の効用について、アクセス許可という観点から紹介します。

■ ■ ■

Active Directoryを利用したアクセス許可について簡単におさらいしておきましょう。
今まで、アクセス許可を割り当てるというと、グローバルグループやドメインローカルグループなどという
グループが作られ、作ったグループに対してアクセス許可を割り当てるというのが一般的でした。
そのときには、グループのメンバの設定と
共有フォルダなどのリソースに対するアクセス許可の設定が
一般的な作業として必要でした。

acl1-1

例えば、上の図のように部署を単位としてグループを作成していると、
人事異動などで部署が変わった場合、
ユーザーの属性情報の変更(部署属性の変更)と
Salesグループのメンバの変更という
2つの作業が必要になります。

acl1-2

上の図のような2つの作業が必要になると面倒なので、だいたいグループのメンバ変更だけを行って、
Active Directoryのユーザー属性の変更は行わない(最初から使わない)というケースも多いと思います。
部署名などの人事情報は人事DBに入っていることが多いので、
Forefront Identity Managerのようなディレクトリ同期機能を使って
人事DBに登録されている人事情報に基づいてグループのメンバを構成していたりしました。

acl1-4

これに対して、ADFSはアクセス可否の判定にクレームと呼ばれるユーザー属性情報を利用します。
一見すると、最初に登場したアクセス許可の割り当てに比べて複雑な仕組みのように見えますが、
部署:営業部という情報に基づいてアクセス許可が割り当てられるので、より直感的な
アクセス許可の割り当て方法であることがお分かりいただけると思います。

acl1-5

簡単に仕組みを説明すると(簡易的な説明なので厳密な仕組みはもう少し複雑ですが..)、

①現在ログオンしているユーザーの情報から部署情報を取得
②部署情報に基づいてADFSサーバーでアクセス許可を確認
③アクセス許可があることを確認すると、アクセスできる許可証を発行
④許可証を利用してサーバー(リソースサーバー)にアクセス

「営業部=Salesグループ=アクセスを許可」として運用するよりも、直接
「営業部=アクセスを許可」
としたほうが管理もしやすいですね。
そして、何よりも人事異動などで部署が変わった時の処理は
いたってシンプルなのです。

acl1-6

Active Directoryのユーザー属性にある部署名だけを変えておけば
それで終わりです。
人事情報を書き換えて、Salesグループを変更して、、などという面倒な設定が
不要ですし、直感的な設定なので、設定ミスを減らす効果があるのです。

ADFSは導入が面倒な面が確かにあります。
しかし、一度入れてしまえば、その後のアクセス許可管理がきわめてシンプルであることが
おわかりいただけると思います。