【ID管理超入門】#1 AADCの同期の仕組み

こんにちは、サイオステクノロジー萩原です。

これからID管理について学習し、その内容をまとめていきます。今回はAADCとは何か、どのような仕組みで動いているのかについて紹介します。

AADCとは

AADCとは何かを理解するためには、まずADとAADについて理解する必要があります。そのため、AD、AAD、AADCの順に説明していきます。

Active Directory(AD)

Active Directory(AD)はオンプレミスのID管理プラットフォームです。Windows Server上で動作するソフトウェアで、組織内のユーザのID情報を管理することができます。ADによって社員や学生のユーザアカウントをまとめて管理することが容易にできるようになります。ID情報はディレクトリと呼ばれる階層構造で構成されます。企業の部署や学校の学部のようにフォルダ分けされているようなイメージです。

Azure Active Directory(AAD)

Azure Active Directory(AAD)はクラウドベースのID管理プラットフォームです。MicrosoftのクラウドサービスであるAzure上で動作します。Microsoft 365など、様々なクラウドサービスのユーザのID情報を管理することができます。ADのクラウド版とも言えます。

Azure Active Directory Connect(AADC)

上記2つの用語を踏まえて、AADCとは何かについて説明します。Azure Active Directory Connect(AADC)はオンプレミス環境と AAD 間の ID データの同期サービスです。要するにADとAADのIDデータを統合するためのサービスです。

AADCの構造

AADCの同期の仕組みを理解するために、まずはAADCの構造について見ていきます。AADCは以下の図のような構造になっています。

AADCは1つのMetaverseという領域と複数のConnector-spaceという領域で構成されています。

Metaverse(メタバース)

MetaverseとはADやAADのID情報をすべて統合したデータを保持するストレージ領域です。複数のユーザ情報を一つにまとめます。

聞きなれない単語ですが、元々の意味は以下のように定義されています。

メタバース、メタヴァース (英: Metaverse) は、SF作家・ニール・スティーヴンスンによる1992年の著作『スノウ・クラッシュ』の作中で登場するインターネット上の仮想世界のこと。転じて、将来におけるインターネット環境が到達するであろうコンセプトモデルや、仮想空間サービスの通称としても用いられる。メタ (meta-) とユニバース (universe) の合成語。

(出典: フリー百科事典『ウィキペディア(Wikipedia)』)

AADCの場合は「仮想空間サービスの通称」という意味合いが強いのでしょうか。複数の実態(ID情報)を統合する仮想空間と解釈できそうですね。

Connector-space(コネクタスペース)

Connector-spaceは接続するディレクトリごとに作られるステージング領域です。各ディレクトリ情報をコピーし、一旦保存しておきます。Connector-spaceに保存されたID情報はMetaverseで統合され、その結果がConnector-spaceに反映されます。

図中のCDはConnected Directoryの略で、接続されているADやAADの総称です。

AADCの同期の3つの手順

では続いて、AADCがディレクトリの同期を行う手順について説明します。AADCによる同期は以下の3つの手順によって行われます。

  1. インポート
  2. 同期
  3. エクスポート

それぞれの処理はAADCの構成と以下の図のように対応しています。

それでは、それぞれの処理について見ていきましょう。

①インポート

最初に行うのはインポート処理です。ADやAADのディレクトリ情報をConnector-spaceにコピーします。

Connector-spaceのID情報をステージングオブジェクトと呼びます。Connector-spaceにステージングオブジェクトがない場合はそのままコピーします。Connector-spaceにステージングオブジェクトがある場合、すなわち情報の更新時は、CDのID情報とステージングオブジェクトを比較し、その差分を更新します。比較する際、CDのディレクトリの一意識別子であるアンカー属性か識別名を確認します。これらのどちらかが一致すれば同一のデータとみなし、その情報を更新します。

その後、次の同期処理のために更新したデータの同期の種類を設定します。同期処理ではこの同期の種類に従って同期します。同期の種類には以下の5つがあります。

  • 変更なし
  • 追加
  • 更新
  • 削除
  • 削除/追加

削除/追加はオブジェクトの種類が一致しないときに一旦削除し再度追加し直すための処理です。

②同期

2つめの処理は同期処理です。CDから集めたConnector-spaceの情報を統合します。

同期処理には2つの手順があります。受信同期と送信同期です。同期処理では受信同期を行った後、送信同期を行います。

受信同期と送信同期
受信同期と送信同期

受信同期

受信同期とはConnector-spaceのデータをMetaverseに同期することです。Connector-space内で発生した変更を反映するようにMetaverseを更新します。

受信同期では、まず初めにConnector-space内でオブジェクトが新しく追加された場合、それに対応するMetaverseオブジェクトを作成します。作成したMetaverseオブジェクトをConnector-spaceオブジェクトとリンクします。その後、既存のMetaverseオブジェクトをConnector-spaceオブジェクトとリンクします。これによりConnector-spaceの変更をMetaverseに反映します。

送信同期

送信同期とはMetaverseのデータをConnector-spaceに同期することです。Metaverse内で発生した変更を反映するようにConnector-spaceを更新します。

送信同期では、まず初めにMetaverse内でオブジェクトが新しく追加された場合、それに対応するConnector-spaceオブジェクトを作成します。作成したConnector-spaceオブジェクトをMetaverseオブジェクトとリンクします。その後、Metaverseオブジェクトの変更に合わせConnector-spaceオブジェクトを変更します。リンクが切断される場合はオブジェクトが削除されます。

③エクスポート

最後にエクスポート処理を行います。エクスポート処理ではConnector-spaceオブジェクトの変更をCD(主にAAD)に反映させます。基本的にAD→AADの連携をし、ADでアカウント情報を管理しています。そのため管理外でAADで変更した値がADに反映されてしまった場合、管理者が管理している情報が上書きされてしまうため一方向の同期になります。パスワードライトバック等のオプション機能についてはこれの限りではありません。

エクスポートする際、変更された情報だけを反映させればよいのですが、あるデータを一度だけしかエクスポートしていない場合、その後のCD内での変更によりデータが消えてしまう恐れがあります。そのため、Connector-spaceはエクスポートした情報を保存しておき、次回インポート時に取得したデータと比較して、同一のデータであると認識するまで次回以降のエクスポート処理時にも送信されます。これによってID 管理プロセスが完了したことを確認します。

以上がAADCでの同期処理の流れになります。

Connector-spaceを使う3つの理由

なぜMeteverseに直接同期させず、Connector-spaceを経由させるのでしょうか。それには3つの理由があります。

同期のデータ量を減らせる

インポート処理時に、各データに同期が必要かを確認した上で同期を行うため、無駄な同期が発生せず 同期中に処理されるデータの量を最小限にできます。そのため効率よく同期が可能になります。

ID 情報の処理方法変更が容易

Connector-spaceに一時的にデータを保存しているので、同期エンジンをCDに再接続しなくても、ID 情報の処理方法を変更することができます。

同期をプレビューできる

事前に同期結果を確認できるため、同期の際の設定ミスを事前に防ぐことができます。

まとめ

  • AADCはADとAADのIDデータを統合するためのサービス。
  • AADCはConnector-spaceとMetaverseで構成される。
  • 同期の手順
    1. インポート
    2. 同期
    3. エクスポート
  • Connector-spaceがあることで、同期を効率よく行うことができる。

以上で「【ID管理超入門】#1 AADCの同期の仕組み」は終了です。

最後までお読みいただきありがとうございます。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*