Office 365管理者のためのディレクトリ同期ツール入門(1)

みなさん、こんにちは。国井です。
今日はOffice 365 Advent Calendarに参加しております。

今日の内容はディレクトリ同期ツールです。
Office 365でActive DirectoryとOffice 365(Azure AD)の間でID情報を同期させる際、Office365のサイトからダウンロードして利用可能なディレクトリ同期ツールと呼ばれるツールを使います。ところが、このツール、実はマイクロソフトが提供しているディレクトリ同期サーバー製品である、Forefront Identity Manager(FIM)の簡易版であることをご存知でしたでしょうか?

ディレクトリ同期ツールは3時間に1回の割合で自動的にActive DirectoryのID情報をAzure ADへ同期してくれるので、メンテナンスフリーだと思うかもしれませんが、実際にトラブルに遭遇した場合、どこに問題の原因があるのか、自分である程度は調べられるようになりたいですよね。
そのようなときには、FIMの基本的なところをおさえておくと、役立つかもしれませんので、
実際の画面を見ながら基本を確認しておきましょう。

■FIMの処理概要
まず、FIMには3つの代表的なコンポーネントがあります。
それは、
・Management Agent (MA)
・Connector Space (CS)
・メタバース
の3つです。

image

Active DirectoryからAzure ADへ同期する場合、2つのディレクトリどうしを直接結んで同期しているわけではなく、メタバースと呼ばれるFIMが持つデータベースにいったん格納されます。

Active DirectoryとAzure ADでは対応する同じ属性名があるとは限りません。そのため、メタバースを一度経由することで、スキーマの違いを吸収しているのですね。

それから、Active Directoryに格納されているデータをメタバースに格納するとき、
Azure ADに格納されているデータをメタバースに格納するとき、それぞれ中間データベースにいったん格納します。このテンポラリとなるデータベースのことをConnector Space (CS)と呼んでいます。

また、Active Directoryの場合で言うと、Active DirectoryからCSを経由して最終的にメタバースにデータを格納する際、どのようなデータを格納すればよいか?や、Active Directory以外では使われない、グローバルグループ、ドメインローカルグループなどのグループ属性はメタバースにどのような属性として保存すればよいか?などの同期のためのルールを定めたものをManagement Agent(MA)と呼びます。

ディレクトリ同期ツールは、このようにインストールすることにより、メタバースの作成、MAの作成、MA内のCSの定義、同期フローの定義(これについては後で説明します)、などの設定を全部自動的に行ってくれるのです。だからみなさん、「ディレクトリ同期ツールのインストールが長い!」などと文句を言うはやめてあげてください。

■ディレクトリ同期ツール(FIM)の起動とインターフェイスの確認
簡単ですが、仕組みが確認できたら、続いてディレクトリ同期ツールを起動します。
ツールはc:program filesMicrosoft Azure Active Directory SyncSYNCBUSSynchronization ServiceUIShellmiisclient.exeを実行すると利用できます。

MIIS001

実行するときに注意してほしいのは、インストール後、すぐに実行しないこと。
実行直後はmiisclient.exeにアクセスする権限が割り当てられていないので、
インストールが終わったら、一度サインアウト/サインインをしましょう。

その後、起動すると以下のような画面が表示されます。(FIMでも同じ画面です)
画面上部に
Operations, Management Agents, Metaverse Designer, Metaverse Search, Joinerのボタンがあります。これが大まかにメニューだと思ってください。

まず、Operationsメニュー。
Operationsメニューでは、過去のディレクトリ同期の結果が確認できます。ログの時刻を見てもらうと、おおよそ3時間ごとに同期が実行されていることが確認できます。

MIIS002

続いて、Management Agentsメニュー。
名前のとおり、MAが登録されている箇所です。画面には、
Windows Azure Active Directory Connector(Azure MA)とActive Directory Connector(AD MA)の2つがありますが、
前の図で説明すると、Azure MAはメタバースからAzure ADまでの同期を担当し、
AD MAはActive Directoryからメタバースまでの同期を担当しています。

image

次はMetaverse Designer。
Metaverse Designerはメタバースのスキーマを定義するところです。ディレクトリ同期ツールとしてFIMを使っている場合には、ほとんど設定変更することはないでしょう。

image

Metaverse Searchは名前のとおり、メタバースに登録されたID情報を検索するために使います。Scope by Object Typeからpersonと選んでいただいて検索すると、メタバースに登録されたユーザーの一覧が表示されます。検索結果はdisplayname属性で表示されますが、displayname属性を持たないユーザーがいると、画面に表示されません。だけど、空欄をダブルクリックすると、そのユーザーのプロパティが表示される不思議。

image

最後はJoinerです。JoinerはDisconnector Typeと呼ばれるID情報を表示できるところで、
「Active Directoryの国井ユーザーはAzure ADのKuniiユーザーとみなす」のような2つのIDの関連付けをFIMは行うことで同期を行うのですが、Joinerに表示されるのは関連付けがされていないIDの一覧になります。普通の管理では使うことはあまりないですね。

image

■メタバースとCSに登録されたオブジェクトの参照
画面は戻って、Metaverse Searchの検索結果について。
Metaverse Searchで検索したユーザーですが、検索結果のdisplaynameをダブルクリックすると、メタバースに登録されたユーザーの属性情報が確認できます。

image

さらに、Connectorsタブをクリックすると、経由したCS(MA)の名前が表示されます。このケースでは、Active Directory ConnectorとWindows Azure Active Directory Connectorをそれぞれ経由したということがわかります。

image

そして、CSの名前をダブルクリックすると、CSに登録されていた時点でのユーザーの属性情報が確認できます。メタバースと同じように見えますが、よく見ると、CSに保存されていたuserAccountControl属性はメタバースに入ると、消えてなくなっていることが確認できます。

image

このようにFIMの管理画面を見ると、ディレクトリ同期が正常に行えているか、そして同期ができていない場合には、どこに問題があるのか?ということを探るきっかけを色々と与えてくれます。

今日は長くなってしまったので、ここまでにしましょう。続きは次回の投稿で。

明日のOffice 365 Advent CalendarはADFS/Office365トレーニングの主催会社として、いつもお世話になっている沼口さんです。お楽しみに。