Generic LDAP コネクタに関するテクニカル リファレンス
この記事では Generic LDAP コネクタについて説明します。 この記事は次の製品に適用されます。
- Microsoft Identity Manager 2016 (MIM2016)
- Microsoft Entra ID
MIM2016の場合、コネクタは Microsoft ダウンロード センターからダウンロードできます。
IETF RFC を参照する際、このドキュメントでは形式 (RFC [RFC number]/[section in RFC document]) を使用します (RFC 4512/4.3 など)。 詳細については、 を参照してください https://tools.ietf.org/。 左側のパネルで、[ Doc fetch]\(ドキュメントフェッチ \) ダイアログ ボックスに RFC 番号を入力し、有効であることを確認するためにテストします。
注意
Microsoft Entra IDでは、MIM 同期のデプロイを必要とせずに、LDAPv3 サーバーにユーザーをプロビジョニングするための軽量のエージェント ベースのソリューションが提供されるようになりました。 送信ユーザー プロビジョニングに使用することをお勧めします。 詳細については、こちらを参照してください。
Generic LDAP コネクタの概要
Generic LDAP コネクタを使用すると、同期サービスを LDAP v3 サーバーと統合することができます。
デルタ インポートの実行に必要な操作やスキーマ要素など、特定の操作とスキーマ要素は、IETF RFC では指定されていません。 これらの操作では、明示的に指定された LDAP ディレクトリのみがサポートされます。
ディレクトリに接続する場合は、ルート/管理者アカウントを使用してテストします。 別のアカウントを使用してより詳細なアクセス許可を適用するには、LDAP ディレクトリ チームに確認が必要な場合があります。
コネクタの現在のリリースでは、次の機能がサポートされています。
機能 | サポート |
---|---|
接続先のデータ ソース | コネクタは、サポートされていないと呼ばれる場合を除き、すべての LDAP v3 サーバー (RFC 4510 準拠) でサポートされています。 これは、次のディレクトリ サーバーでテストされています。
|
シナリオ | |
Operations | すべての LDAP ディレクトリで次の操作がサポートされています。 |
スキーマ |
差分インポートおよびパスワード管理のサポート
差分インポートおよびパスワード管理がサポートされているディレクトリは次のとおりです。
- Microsoft Active Directory ライトウェイト ディレクトリ サービス (AD LDS)
- 差分インポートのすべての操作をサポート
- パスワードの設定をサポート
- Microsoft Active Directory グローバル カタログ (AD GC)
- 差分インポートのすべての操作をサポート
- パスワードの設定をサポート
- 389 Directory Server
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Apache Directory Server
- このディレクトリには永続的な変更ログがないため、差分インポートはサポートされていません
- パスワードの設定をサポート
- IBM Tivoli DS
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Isode Directory
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Novell eDirectory and NetIQ eDirectory
- 差分インポートの追加、更新、および名前変更操作をサポート
- 差分インポートの削除操作はサポートされていません
- パスワードの設定とパスワードの変更をサポート
- Open DJ
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Open DS
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Open LDAP (openldap.org)
- 差分インポートのすべての操作をサポート
- パスワードの設定をサポート
- パスワードの変更はサポートされていません
- Oracle (以前は Sun) Directory Server Enterprise Edition
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- RadiantOne Virtual Directory Server (VDS)
- 7.1.1 以上のバージョンを使用する必要があります。
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
- Sun One Directory Server
- 差分インポートのすべての操作をサポート
- パスワードの設定とパスワードの変更をサポート
前提条件
コネクタを使用する前に、次のものが同期サーバーにインストールされていることを確認してください。
- Microsoft .NET 4.6.2 Framework 以降
このコネクタをデプロイするには、ディレクトリ サーバーの構成の変更と MIM への構成の変更が必要になる場合があります。 MIM を運用環境のサード パーティのディレクトリ サーバーと統合する展開の場合は、お客様がディレクトリ サーバー ベンダー、またはこの統合に関するヘルプ、ガイダンス、およびサポートのために展開パートナーと協力することをお勧めします。
LDAP サーバーの検出
コネクタは、さまざまな手法に基づいて LDAP サーバーを検出し、識別します。 コネクタでは、ルート DSE、ベンダー名、バージョンを使用し、スキーマを調べて LDAP サーバーに存在している既知の一意のオブジェクトと属性を見つけます。 このデータは、見つかると、コネクタでの構成オプションの事前設定に使用されます。
接続先のデータ ソースのアクセス権
接続されたディレクトリ内のオブジェクトに対してインポートおよびエクスポート操作を実行するには、それに必要なアクセス許可がコネクタのアカウントになければなりません。 コネクタは、エクスポートするためには書き込みアクセス許可を、インポートするためには読み取りアクセス許可を備えている必要があります。 アクセス許可は、ターゲット ディレクトリ自体の管理エクスペリエンス内で構成されます。
ポートとプロトコル
コネクタでは構成で指定されたポート番号が使用されます。既定では、LDAP の場合は 389、LDAPS の場合は 636 が使用されます。
LDAPS では、SSL 3.0 または TLS を使用する必要があります。 SSL 2.0 はサポートされていないため、アクティブ化できません。
必要なコントロールと機能
コネクタが正常に動作するためには、LDAP サーバー上で次の LDAP コントロール/機能を利用できる必要があります:
1.3.6.1.4.1.4203.1.5.3
True/False フィルター
True/False フィルターは、LDAP ディレクトリでサポートされていても、多くの場合は報告されません。[Mandatory Features Not Found (必須機能が見つかりません)] という状況下で [Global Page (グローバル ページ)] に表示される場合があります。 True/False フィルターは、LDAP クエリで OR フィルターを作成する場合に使用します (たとえば、複数のオブジェクト型をインポートする場合)。 複数の種類のオブジェクトをインポートできる場合に、LDAP サーバーでこの機能がサポートされます。
一意識別子がアンカーであるディレクトリを使用する場合は、次の機能も使用できる必要があります (詳細については、「 アンカーの構成 」セクションを参照してください)。
1.3.6.1.4.1.4203.1.5.1
すべての操作属性
1 回のディレクトリ呼び出しに収まり切れない数のオブジェクトがディレクトリにある場合は、ページングの使用をお勧めします。 ページングが機能するには、次のオプションのいずれかが必要です。
オプション 1:
1.2.840.113556.1.4.319
pagedResultsControl
オプション 2:
2.16.840.1.113730.3.4.9
VLVControl
1.2.840.113556.1.4.473
SortControl
コネクタの構成で両方のオプションが有効になっている場合は、pagedResultsControl が使用されます。
1.2.840.113556.1.4.417
ShowDeletedControl
ShowDeletedControl は USNChanged 差分インポート方法で使用できるだけであり、削除されたオブジェクトを確認できます。
コネクタは、サーバーに上記オプションがあるかどうか、検出を試みます。 オプションを検出できなかった場合、コネクタのプロパティ内のグローバル ページに警告が表示されます。 LDAP のすべてが、サポートしているコントロール/機能をすべて提示しているとは限らないため、この警告が表示されてもコネクタは問題なく動作する場合があります。
差分インポート
差分インポートは、それをサポートするディレクトリが検出された場合にのみ使用できます。 現在、次の方法が使用されています。
- LDAP アクセスログ。 「ログ記録」を参照してくださいhttp://www.openldap.org/doc/admin24/overlays.html#Access
- LDAP 変更ログ。 「http://tools.ietf.org/html/draft-good-ldap-changelog-04」を参照してください。
- タイムスタンプ。 Novell/NetIQ eDirectory の場合、コネクタは最後の日付/時刻を使用して、作成されたオブジェクトと更新されたオブジェクトを取得します。 Novell/NetIQ eDirectory には、削除されたオブジェクトを取得するための同等の手段は用意されていません。 タイムスタンプ オプションはまた、LDAP サーバー上で他にアクティブになっている差分インポート方法がない場合に使用することができます。 このオプションでは、削除されたオブジェクトをインポートできません。
- USNChanged。 https://msdn.microsoft.com/library/ms677627.aspx を参照
サポートされていません
次の LDAP 機能はサポートされていません。
- サーバー間の LDAP 参照 (RFC 4511/4.1.10)
新しいコネクタの作成
一般的な LDAP コネクタを作成するには、[同期サービス] で [管理エージェント] を選択し、[作成] を選択します。 Generic LDAP (Microsoft) コネクタを選択します。
接続
[接続] ページで、ホスト、ポート、バインディングに関する情報を指定する必要があります。 選択したバインディングによっては、次のセクションに追加の情報が表示される場合があります。
- 接続タイムアウトの設定は、スキーマの検出時に行われるサーバーへの最初の接続でのみ使用されます。
- バインディングが匿名である場合は、ユーザー名/パスワードも証明書も使用されません。
- その他のバインディングの場合は、ユーザー名/パスワードに情報を入力するか、または証明書を選択します。
- Kerberos を使用して認証する場合は、ユーザーの領域/ドメインを指定します。
属性エイリアス テキスト ボックスは、スキーマで定義されている属性に対してRFC4522構文で使用されます。 これらの属性はスキーマ検出中に検出できず、コネクタではそれらの属性を個別に構成する必要があります。 たとえば、userCertificate 属性をバイナリ属性として正しく識別するには、属性のエイリアス ボックスに次の文字列を入力する必要があります。
userCertificate;binary
この構成の例を次の表に示します。
[操作属性をスキーマに含める] チェックボックスを選択して、サーバーで作成された属性も含めます。 これには、オブジェクトの作成日時および最終更新日時などの属性が含まれます。
拡張可能なオブジェクト (RFC4512/4.3) が使用されている場合は [Include extensible attributes in schema (拡張可能な属性をスキーマに含める)] を選択します。このオプションを有効にすると、どの属性もすべてのオブジェクトで使用できるようになります。 このオプションを選択すると、スキーマの規模が非常に大きくなります。接続先のディレクトリがこの機能を使用していない限り、このオプションは非選択のままにしておくことをお勧めします。
グローバル パラメーター
[グローバル パラメーター] ページで、DN を差分変更ログおよびその他の LDAP 機能に構成します。 このページには、LDAP サーバーから提供された情報があらかじめ設定されています。
上部セクションには、サーバーの名前など、サーバーから提供された情報が表示されます。 コネクタでは、必須のコントロールがルート DSE に存在していることも確認されます。 これらのコントロールが一覧にない場合は、警告が表示されます。 LDAP ディレクトリの中には、一部の機能しかルート DSE に一覧表示しないものがあります。このため、警告が存在する場合でも、コネクタは問題なく動作する場合があります。
サポートされているコントロールのチェック ボックスは、特定の操作の動作を制御します。
- ツリー削除を選択すると、1 回の LDAP 呼び出しで階層が削除されます。 ツリー削除を選択していない場合、コネクタは必要に応じて再帰削除を実行します。
- 結果のページングが選択されている場合、コネクタは実行の手順で指定されたサイズに従ってページング インポートを行います。
- VLVControl および SortControl は、pagedResultsControl に代わる、LDAP ディレクトリからのデータの読み取り方法です。
- 3 つのオプション (pagedResultsControl、VLVControl、SortControl) がいずれも選択されていない場合、コネクタは 1 回の操作であらゆるオブジェクトをインポートします。この場合、オブジェクトが大規模なディレクトリであると、失敗する可能性があります。
- ShowDeletedControl は、差分インポート方法が USNChanged である場合にのみ使用されます。
変更ログ DN は差分変更ログで使用される名前付けコンテキストです (たとえば、 cn=changelog)。 差分インポートを実行するには、この値を指定する必要があります。
次の表は、既定の変更ログ DN の一覧です。
ディレクトリ | 差分変更ログ |
---|---|
Microsoft AD LDS および AD GC | 自動的に検出されます。 USNChanged。 |
Apache Directory Server | 使用できません。 |
Directory 389 | 変更ログ。 使用する既定値: cn=changelog |
IBM Tivoli DS | 変更ログ。 使用する既定値: cn=changelog |
Isode Directory | 変更ログ。 使用する既定値: cn=changelog |
Novell/NetIQ eDirectory | 使用できません。 タイムスタンプ。 コネクタは、前回の更新の日時を使用して、追加されたレコードと更新されたレコードを取得します。 |
Open DJ/DS | 変更ログ。 使用する既定値: cn=changelog |
Open LDAP | アクセス ログ。 使用する既定値: cn=accesslog |
Oracle DSEE | 変更ログ。 使用する既定値: cn=changelog |
RadiantOne VDS | 仮想ディレクトリ。 VDS に接続されているディレクトリに依存します。 |
Sun One Directory Server | 変更ログ。 使用する既定値: cn=changelog |
パスワード属性は、パスワード変更およびパスワード設定の操作でパスワードを設定する場合に、コネクタで使用する必要がある属性の名前です。 この値は既定で userPassword に設定されますが、特定の LDAP システムについては必要に応じて変更することができます。
追加のパーティションの一覧に加えて、自動的に検出されない名前空間を追加することもできます。 たとえばこの設定は、複数のサーバーが 1 つの論理クラスターを構成していて、すべて同時にインポートする必要がある場合などに使用することができます。 Active Directory では 1 つのフォレスト内に複数のドメインを保持することができますが、ドメインはすべて 1 つのスキーマを共有します。それと同じことを、このボックスに追加の名前空間を入力することでシミュレートできます。 それぞれの名前空間は、さまざまなサーバーからインポートすることができ、[Configure Partitions and Hierarchies (パーティションと階層の構成)] ページで追加の構成を行うことができます。 新しい行を取得するには Ctrl + Enter キーを使用します。
Configure Provisioning Hierarchy (プロビジョニング階層の構成)
このページでは、DN コンポーネント (OU など) をプロビジョニングするオブジェクト型 (organizationalUnit など) にマップします。
プロビジョニング階層を構成することによって、必要に応じて自動的に構造体を作成するようコネクタを構成できます。 たとえば、名前空間 dc=contoso,dc=com と新しいオブジェクト cn=Joe、ou=Seattle、c=US、dc=contoso、dc=com がプロビジョニングされている場合、コネクタは、ディレクトリにまだ存在しない場合は、米国とシアトルの organizationUnit の種類のオブジェクトを作成できます。
パーティションと階層を構成する
パーティションと階層のページでは、インポートおよびエクスポートする予定のオブジェクトを含むすべての名前空間を選びます。
名前空間ごとに、[接続] 画面で指定した値をオーバーライドする接続設定を構成することもできます。 これらの値が既定の空白値のままである場合は、[接続] 画面からの情報が使用されます。
コネクタでは、インポート元のコンテナーおよび OU と、エクスポート先のコンテナーおよび OU を選択することもできます。
検索を実行すると、検索はパーティション内のすべてのコンテナーで行われます。 多数のコンテナーがある場合、この動作はパフォーマンスの低下につながります。
注意
Generic LDAP コネクタに対する 2017 年 3 月の更新以降、検索範囲を選択したコンテナーのみに制限することができます。 これは、次の図に示すように、[Search only in selected containers (選択したコンテナーのみ検索)] チェックボックスをオンにすることで実行できます。
アンカーを構成する
このページには常に構成済みの値があり、変更することはできません。 サーバーのベンダーが明らかになっている場合、このアンカーには変更できない属性 (オブジェクトの GUID など) が設定されている場合があります。 サーバーのベンダーが検出されていない場合、またはそれには変更できない属性がないことがわかっている場合、コネクタはアンカーとして dn (識別名) を使用します。
次の表は、使用されている LDAP サーバーとアンカーの一覧です。
ディレクトリ | アンカー属性 |
---|---|
Microsoft AD LDS および AD GC | objectGUID |
389 Directory Server | dn |
Apache Directory | dn |
IBM Tivoli DS | dn |
Isode Directory | dn |
Novell/NetIQ eDirectory | GUID |
Open DJ/DS | dn |
Open LDAP | dn |
Oracle ODSEE | dn |
RadiantOne VDS | dn |
Sun One Directory Server | dn |
他の注意事項
このセクションでは、このコネクタに固有の特徴、または他の理由で理解しておく必要のある特徴を示します。
差分インポート
Open LDAP の差分ウォーターマークは、UTC 日付/時刻です。 このため、FIM 同期サービスと Open LDAP の間で時間を同期させる必要があります。 そうしないと、差分変更ログの一部のエントリが省略される場合があります。
Novell eDirectory の場合、デルタ インポートではオブジェクトの削除は検出されません。 このため、削除されたすべてのオブジェクトを検索するには、フル インポートを定期的に実行する必要があります。
日付/時刻に基づく差分変更ログを備えるディレクトリの場合は、フル インポートを定期的に実行することを強くお勧めします。 このプロセスを実行すると、LDAP サーバーとコネクタ スペースに現在存在するものとの相違点を同期エンジンで見つけることができます。
トラブルシューティング
- コネクタのトラブルシューティングを行うためにログ記録を有効にする方法については、「 How to Enable ETW Tracing for Connectors (コネクタの ETW トレースを有効にする方法)」を参照してください。