このトピックでは、企業の OpenLDAP をインバウンド ID プロバイダーとして接続する方法について説明します。これにより、OpenLDAP の組織とアカウントを IDaaS に同期できます。また、OpenLDAP ID を使用して IDaaS またはアプリケーションにログインすることもできます。
OpenLDAP について
OpenLDAP は、Lightweight Directory Access Protocol (LDAP) のオープンソース実装です。これは、ユーザー、コンピューター、ネットワークなど、企業内のリソースを管理するためによく使用されます。OpenLDAP は広く使用されているため、単に LDAP と呼ばれることもよくあります。
ネットワークエンドポイント機能を使用すると、パブリックポートを開くことなく LDAP からデータを同期し、LDAP に認証を委任できます。
OpenLDAP への接続
ステップ 1: OpenLDAP に接続する
IDaaS コンソールにログインします。管理したい IDaaS インスタンスを見つけ、[操作] 列の Manage をクリックします。
左側のナビゲーションウィンドウで、 を選択します。Add Outbound をクリックします。プロバイダーリストで [OpenLDAP] を見つけ、[追加] をクリックします。

[OpenLDAP への接続] パネルで、次のパラメーターを設定します。

Display Name: ユーザーが IDaaS にログインして使用するときに表示される名前。
Network Access Endpoint: IDaaS からのリクエストのみを許可するには、LDAP サーバーで IP ホワイトリストを設定します。共有エンドポイントは、共有の固定パブリックアウトバウンド IP アドレスを使用します。専用エンドポイントは、専用のプライベートアウトバウンド IP アドレスとカスタムパブリックアウトバウンド IP アドレスを使用します。専用エンドポイントを使用すると、IDaaS はプライベートネットワーク経由で Alibaba Cloud VPC にアクセスできます。これにより、パブリックポートを開かずに LDAP サーバーにアクセスできます。詳細については、「ネットワークエンドポイント」をご参照ください。
Server address: LDAP サーバーのアドレス。LDAP のデフォルトポートは 389 です (例: 127.0.0.1:389)。LDAPS または StartTLS が有効になっている場合、通常はポート 636 が使用されます。
[StartTLS を有効にする]: この機能を有効にすると、接続のセキュリティが大幅に向上します。このオプションを有効にすることをお勧めします。この機能を有効にする方法の詳細については、「LDAP セキュリティ設定」をご参照ください。
Administrator Account: IDaaS はこの LDAP 管理者アカウントを使用して、データ同期と委任認証のために LDAP 情報を読み取ります。このアカウントには、少なくとも読み取り権限が必要です。アカウントは、cn=admin,ou=Technical Department,dc=example,dc=com などの識別名 (DN) 形式である必要があります。
Administrator Password: このアカウントのログインパスワード。
ステップ 2: シナリオを選択する
このステップでは、LDAP で実装したい機能を選択できます。

基本設定
同期方向: ユーザーと組織のデータは、選択した LDAP ソースノードから指定した IDaaS ノードにインポートされます。[ソースノード] には、LDAP ノードの DN を入力する必要があります。LDAP ルートノードの DN は通常、ドメインである dc=example,dc=com です。
スケジュールされた検証: LDAP は増分データのクエリをサポートしていません。IDaaS は、毎朝 LDAP ソースノード配下のすべてのデータの完全同期を自動的に実行します。
フィールドマッピング設定でマッピング識別子を設定できます。このプロセスは、携帯電話番号などの IDaaS アカウントのフィールドを LDAP ユーザーアカウントのフィールドと照合します。一致が見つかった場合、アカウントはリンクされ、IDaaS アカウントが更新されます。それ以外の場合は、新しい IDaaS アカウントが作成されます。
データをすぐに同期するには、手動で完全同期をトリガーできます。
IDaaS には、組み込みの同期保護機能があります。30 を超えるアカウントまたは 10 を超える組織が削除対象としてスケジュールされている場合、同期タスクは自動的にキャンセルされます。この機能は、偶発的なデータ損失を防ぎます。企業の規模に応じて同期保護設定を調整することをお勧めします。

単一のアカウントレコードのインポートに失敗しても、他のレコードのインポートには影響しません。
[同期ログ] で失敗情報を表示できます。
委任認証: ユーザーは LDAP のユーザー名とパスワードを使用して IDaaS にログインできます。
自動パスワード更新: ユーザーが LDAP 委任認証を介して IDaaS にログインするときに、IDaaS アカウントにパスワードがない場合、パスワードは LDAP アカウントのパスワードに設定されます。LDAP パスワードは、IDaaS のパスワードポリシー要件を満たす必要があります。そうでない場合、パスワードは自動的に更新できません。
高度な設定
ユーザー/組織の
ObjectClass:ObjectClassを使用して、どのオブジェクトタイプがユーザーまたは組織であるかを定義できます。たとえば、クエリ結果でObjectClass=userとなっているオブジェクトは、ユーザーとして扱われます。重要LDAP には柔軟なカスタマイズ機能があります。ユーザーまたは組織の
ObjectClassをカスタマイズする場合は、ObjectClassが一貫していることを確認する必要があります。これにより、IDaaSに同期されるデータが期待どおりのものになります。ユーザーログイン ID: ユーザーが LDAP 委任認証を使用して IDaaS にログインすると、IDaaS はこれらの属性を使用して LDAP でユーザーを検索し、パスワードを検証します。パスワードが正しければ、ユーザーは IDaaS へのログインを許可されます。コンマ (,) で区切って複数の属性を入力できます。これにより OR 条件が作成され、ユーザーは指定されたいずれかの属性でログインできることを意味します。すべての属性が同じ LDAP ユーザーに対応していることを確認する必要があります。そうでない場合、ログインは失敗します。
ユーザー
フィルター: 異なる組織の特定のユーザーのみを IDaaS に同期するには、カスタムフィルター文を定義できます。条件を満たすユーザーのみが同期されます。デフォルトでは、フィルター文にはObjectClassの AND 条件が含まれています。完全な文を表示するには、[詳細を表示] をクリックします。構文と一般的なユースケースの詳細については、「フィルター」をご参照ください。
ステップ 3: フィールドマッピングを設定する
IDaaS に既存データがある場合、LDAP のユーザーと組織を既存の IDaaS のアカウントと組織にリンクできます。また、特定の LDAP フィールドのデータを IDaaS アカウントに使用することもできます。たとえば、LDAP ユーザーの携帯電話番号を IDaaS アカウントのユーザー名として使用できます。これを実現するには、このステップでフィールドマッピングを設定します。マッピング識別子機能を使用するには、携帯電話フィールドについて次の図に示すように、手動で有効にする必要があります。

フィールドマッピングの詳細については、「フィールドマッピング」をご参照ください。
LDAP セキュリティ構成
デフォルトでは、LDAP はデータをプレーンテキストで送信します。このデータは暗号化も保護もされていないため、データ盗難のリスクが生じます。LDAPS または StartTLS を使用すると、データ送信のセキュリティを大幅に向上させることができます。LDAP で証明書を設定した後、IDaaS で LDAPS または StartTLS を使用できます。これらのオプションのいずれかを有効にすることを強くお勧めします。
証明書を設定した後、IDaaS のボタンをクリックして証明書の指紋を取得できます。これにより、IDaaS と LDAP 証明書との間に信頼関係が確立され、証明書偽造のリスクが軽減されます。

LDAP カスタム構成
ObjectClass
LDAP では、ObjectClass は属性のコレクションです。すべてのオブジェクトには ObjectClass が必要です。ObjectClass を使用して、オブジェクトをユーザー、組織、またはコンピューターとして定義できます。たとえば、次の図のオブジェクトについて、IDaaS で [ユーザー] ObjectClass を "inetOrgPerson,posixAccount,top" に設定すると、IDaaS はそのオブジェクトをユーザーとして扱います。LDAP でオブジェクトを編集するときに ObjectClass を表示できます。

LDAP には柔軟なカスタマイズ機能があります。ユーザーまたは組織の ObjectClass をカスタマイズする場合は、ObjectClass が一貫していることを確認する必要があります。これにより、IDaaS に同期されるデータが期待どおりのものになります。
ログイン ID
ユーザーが LDAP 委任認証を使用して IDaaS にログインすると、IDaaS はこれらの属性を使用して LDAP でユーザーを検索し、パスワードを検証します。パスワードが正しければ、ユーザーは IDaaS へのログインを許可されます。
通常、ログインには uid、携帯電話番号、メールボックス、従業員 ID などの属性を使用できます。これらの属性は、作成時または [委任認証] 設定で定義できます。複数の属性を使用する場合は、各属性が一意であり、同じ LDAP ユーザーに対応していることを確認する必要があります。そうでない場合、ユーザーは委任認証を使用できません。
フィルター
ObjectClass と フィルター を変更すると、LDAP フィルター条件に影響します。完全同期中に、フィルター条件を満たさない IDaaS アカウントと組織は削除されます。変更を加える前に、同期保護の制限を調整する必要があります。また、フィルターの結果が期待どおりであることを確認するために、十分にテストする必要があります。たとえば、テスト用に別の IDaaS インスタンスを使用できます。
概要
異なる組織の特定のユーザーのみを IDaaS に同期するには、カスタム フィルター 文を定義できます。条件を満たすユーザーのみが同期されます。デフォルトでは、フィルター 文には ObjectClass の AND 条件が含まれています。完全な文を表示するには、[詳細を表示] をクリックします。

LDAP Admin ツールにfilter 文を入力して、フィルターの結果を確認できます。

以下のセクションでは、LDAP フィルターの一般的な構文と文について説明します。
一般的な構文
オペレーター | 意味 | 例 |
= | 等しい | (cn=Alice) |
>= | 以上 | (pwdLastSet>=1319563845000000000) |
<= | 以下 | (employeeNumber<=1000) |
& | AND 関係。すべての条件を満たす必要があります。 | (&(cn=CN*)(title=RD)) |
| | OR 関係。少なくとも 1 つの条件を満たす必要があります。 | (|(cn=Test*)(cn=Admin*)) |
! | NOT 関係。すべての条件を満たしてはなりません。 | (!(cn=Test*)(cn=Admin*)) |
一般的なステートメント
シナリオ | 例 |
ユーザー名が "CN" で始まる | (cn=CN*) |
特定のメールボックスを持つユーザー | (mail=alice@example.com) |
LDAP 同期構成
Base DN の取得
ベース識別名 (Base DN) は、LDAP 内のノードのパス識別子です。IDaaS は、クエリやデータ同期などの操作をこのノード配下でのみ実行します。[同期方向] 設定でソースノードの Base DN を設定できます。
DN 形式は ou=some-organization,dc=example,dc=com です。ルートノードの DN は通常、ドメインである dc=example,dc=com です。次の図に示すように、LDAP でノードの DN を直接表示することもできます。

さらに、ノードのパスが変更されると、その Base DN も変更されます。パスの変更によって引き起こされるデータ同期エラーを防ぐために、IDaaS は、ソースノードの Base DN を設定するときに、ノードの ObjectGuid をノードの指紋としても使用します。Base DN が変更され、ノードの指紋と一致しなくなった場合、データ同期はブロックされます。ソースノードを再設定すると、同期は正常に続行できます。
スケジュールされた検証
LDAP は増分データのクエリをサポートしていません。IDaaS は、毎朝 LDAP ソースノード配下のすべてのデータの完全同期を自動的に実行します。データをすぐに同期するには、手動で完全同期をトリガーできます。
IDaaS には、組み込みの同期保護機能があります。30 を超えるアカウントまたは 10 を超える組織が削除対象としてスケジュールされている場合、同期タスクは自動的にキャンセルされます。この機能は、偶発的なデータ損失を防ぎます。企業の規模に応じて同期保護設定を調整することをお勧めします。
