OpenDJ LDAP統合リファレンス
このトピックは、OpenDJ Lightweight Directory Access Protocol (LDAP) の統合に固有のリファレンス情報を提供します。Okta LDAP エージェントをインストールする際に、この情報を使用してOpenDJディレクトリとOktaを統合する必要があります。Okta LDAP エージェントのインストールを参照してください。
推奨されるバージョン
OpenDJ Community Edition 2.6.4
既知の問題
-
セルフパスワードのリセットを要求しているユーザーが、管理者がパスワードをリセットした後でパスワードの変更が必要な場合、Oktaエンドユーザーダッシュボードにアクセスするために新しいパスワードを2回入力する必要があります。
-
ユーザーが非アクティブ化され、プロビジョニング設定がDo nothing(何もしない)と示されている場合、ユーザーがOktaでアクティブ状態のまま残ります。単一ソースがユーザー プロファイル属性を提供している場合、非アクティブ化されたユーザーはソースから切断されOktaがユーザー プロファイル属性のソースとなります。
統合構成
Okta LDAP エージェントのインストールに記載されているエージェントの初回インストールと構成の際に、これらはOpenDJ統合時の属性となります。
- 一意の識別子の属性 — entryuuid
- DN属性 — entrydn
- ユーザー オブジェクト クラス— inetorgperson
- ユーザー オブジェクト フィルター ― (objectclass=inetorgperson)
- *アカウントで無効化されている属性 - ds-pwp-account-disabled
- *アカウントで無効になっている値 - TRUE
- *アカウントで有効になっている値 - FALSE
- パスワード属性 - userpassword
- グループ オブジェクト クラス - groupofuniquenames
- グループ オブジェクト フィルター - (objectclass=groupofuniquenames)
- メンバー属性 - uniquemember
- パスワード有効期限属性 - ds-pwp-password-expiration-time
スキーマ読み出し
OpenDJ 統合のための特別な考慮事項はありません。
AUXクラスから属性を追加するには、AUXILIARYクラスをAUXILIARYオブジェクト クラスとしてディレクトリ プロビジョニング 構成に追加します。
パスワード変更
ユーザーはOktaエンドユーザー ダッシュボードで[Settings(設定)]を選択することでパスワード変更をトリガーできます。
ユーザーがパスワードを変更またはリセットできるようにするには、[Security (セキュリティ)]>[Delegated Authentication (代理認証)]をクリックし、[LDAP]タブを選択して、[Users can change their LDAP passwords in Okta (ユーザーはOktaでのLDAPパスワードを変更できます)] を選択します。
パスワードの長さや有効期限などの設定を、LDAPインスタンスで行うことができます。
失敗したパスワード更新操作はOktaで解析され、[Delegated Authentication (代理認証)]ページにエラーメッセージが表示されます。
パスワード リセット
パスワード リセットは管理者またはユーザーがパスワードを忘れた場合のフローでトリガされます。
新規パスワードがパスワード ポリシーの条件を満たさない場合、パスワード リセットは失敗します。
ユーザーが期限切れのパスワードを更新することはできません。期限切れのパスワードは、管理者がリセットする必要があります。
パスワード検証
OpenDJ固有のパスワードポリシーを実装するには、pwdPolicyオブジェクトクラスを使用します。
パスワードポリシーにOpenDJパスワードバリデーターを指定しない場合、パスワードの長さや許容文字数に制限はありません。
インポート
OpenDJで作成されたユーザーやグループは、最初のユーザープロファイルの変更が検出されるまで、増分インポートには含まれません。
JITプロビジョニング
OpenDJのジャストインタイム(JIT)プロビジョニングについては、特別な考慮事項はありません。ユーザー識別(UID)に対しては、Oktaユーザー名のデフォルト設定と一致するようメールアドレスの形式を使用します。外部IDプロバイダー (IDP)を使用してサインインをトリガしないでください。
初めての場合でも、JITプロビジョニングが確実に実行されるようにするには
- 設定された名付け属性(UIDなど)の値がOktaに存在しないこと
- 設定された名付け属性(UIDなど)の値がJIT対応のディレクトリで一意であること
- 必要な属性が存在していることOktaデフォルト値はメール、givenName、sn、およびuidです。
- パスワードが正しい値でなければなりません。
- アカウント無効化属性がLDAPサーバーでfalseに設定されている必要があります。
JITプロビジョニングが問題なく完了すると、LDAP設定ページとプロファイル エディターで指定されたすべてのユーザー属性がインポートされます。追加の必須属性を選択するには、プロファイル エディターを使用します。
メンバーシップのインポート
OpenDJ 設定のユーザープロファイルは、オブジェクトクラスgroupofuniquenames
のグループに追加され、uniquemember
グループ属性が割り当てられます。
プロビジョニング
パスワードポリシーにOpenDJパスワードバリデーターを指定しない場合、パスワードの長さや許容文字数に制限はありません。
ユーザー プロファイルを作成する際にパスワードを作成して割り当てるには
- Oktaカスタマーサポートに連絡してLDAPプッシュ パスワードのアップデートを有効化します。
- 代理認証を無効化します。
- 管理コンソールで、[セキュリティー] > に移動します [Delegated Authentication(代理認証)]>[LDAP]に進みます。
- [Delegated Authentication(代理認証)]ペインで[Edit(編集)]をクリックします。
- [Enable delegated authentication to LDAP(LDAPの代理認証を有効化)] チェック ボックスをオフにします。
- [保存]をクリックします。
- デフォルト設定を受け入れ、すべてのLDAP ユーザーパスワードをリセットし、[Disable LDAP Authentication(LDAP認証を無効化)]をクリックします。
- 管理コンソールで、[ディレクトリー] > に移動します [Directory Integrations(ディレクトリ統合)]>[LDAP]>[Provisioning(プロビジョニング)]>[To App(アプリへ)]に進みます。
- [Edit(編集)]、[Sync Password(パスワードを同期化)]の隣の[Enable(有効化)]、[Save(保存)]の順にクリックします。
[Sync Password(パスワードを同期化)]を有効にすると、ユーザーが初めてサインインしたときにLDAPエージェントはアクションPASSWORD_UPDATEを送信します。
既存のOktaユーザーをLDAPに割り当てるには
- 管理コンソールで、[ディレクトリー] > に移動します [Directory Integrations(ディレクトリ統合)]>[LDAP]>[Provisioning(プロビジョニング)]>[To App(アプリへ)]に進みます。
- [Edit(編集)]をクリックし、[Create Users(ユーザーの作成)]の隣にある[Enable(有効化)]を選択して[Save(保存)]をクリックします。
- [Directory(ディレクトリ)]>[Groups(グループ)]をクリックします。
- ユーザーの割り当て先となるOktaグループを選択します。
- [Manage Directories(ディレクトリを管理)]をクリックします。
- 左ペインでLDAPインスタンスを選択し、[Next(次へ)]をクリックします。
- [Provisioning Destination DN(プロビジョニング先のDN)]フィールドに新規ユーザーLDAPコンテナの完全識別名を入力します。
- [Confirm Changes(変更を確定)]をクリックします。
トラブルシューティング
LDAPディレクトリ認証が失敗した場合、エージェントは診断と解決に役立てるために以下のような画面メッセージを記録します。
Agent: Success (成功)
scanResults are sent with user+group info
POST initiated with result status=SUCCESS, actionType=USER_AUTH_AND_UPDATE, diagnostic message=, error code=, matched dn=, message=SUCCESS, result code=, vendor=OPEN_DJ
Agent:Delauth failure(代理認証が失敗)
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSv0hR8zflMGGeUY0g3, diagnostic message=, error code=49, matched dn=cn=LynxyForChange,cn=GroupForUser4Level,cn=GroupForUser3Level,cn=GroupForUser2Level,cn=GroupForUser1Level,ou=LynxySpecificUsers,ou=LynxyUsers,dc=example,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OPEN_DJ
Agent: No user(ユーザーなし)
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSv0bQoITDYU63b80g3, diagnostic message=, error code=, matched dn=, message=User not found while executing query: (&(objectclass=inetorgperson)(uid=test@test.com)), result code=, vendor=OPEN_DJ
Agent: Password expired(パスワード期限切れ)
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSv091Tx5GPJsUxV0g3, diagnostic message=, error code=49, matched dn=cn=LynxyForChange,cn=GroupForUser4Level,cn=GroupForUser3Level,cn=GroupForUser2Level,cn=GroupForUser1Level,ou=LynxySpecificUsers,ou=LynxyUsers,dc=example,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials', responseControls={PasswordExpiredControl(isCritical=false)}), result code=PASSWORD_EXPIRED, vendor=OPEN_DJ
Agent: Locked Out or Disabled (ロックアウトまたは無効化済み)
OpenDJには、ロックされたアカウントに対する特定のエラーコードはありません。pwdAccountLockedTimeが現在の時間よりも長い場合、応答コードはパスワードが正しくない場合(49(無効な資格情報))と同じになります。
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSv0pY84CfDLi2Jc0g3, diagnostic message=, error code=49, matched dn=cn=LynxyForChange,cn=GroupForUser4Level,cn=GroupForUser3Level,cn=GroupForUser2Level,cn=GroupForUser1Level,ou=LynxySpecificUsers,ou=LynxyUsers,dc=example,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OPEN_DJ