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パスワードバリデーターを指定しない場合、パスワードの長さや許容文字数に制限はありません。

ユーザー プロファイルを作成する際にパスワードを作成して割り当てるには

  1. Oktaカスタマーサポートに連絡してLDAPプッシュ パスワードのアップデートを有効化します。
  2. 代理認証を無効化します。
    1. 管理コンソールで、[セキュリティー] > に移動します [Delegated Authentication(代理認証)]>[LDAP]に進みます。
    2. [Delegated Authentication(代理認証)]ペインで[Edit(編集)]をクリックします。
    3. [Enable delegated authentication to LDAP(LDAPの代理認証を有効化)] チェック ボックスをオフにします。
    4. [保存]をクリックします。
    5. デフォルト設定を受け入れ、すべてのLDAP ユーザーパスワードをリセットし、[Disable LDAP Authentication(LDAP認証を無効化)]をクリックします。
  3. 管理コンソールで、[ディレクトリー] > に移動します [Directory Integrations(ディレクトリ統合)]>[LDAP]>[Provisioning(プロビジョニング)]>[To App(アプリへ)]に進みます。
  4. [Edit(編集)][Sync Password(パスワードを同期化)]の隣の[Enable(有効化)][Save(保存)]の順にクリックします。
  5. [Sync Password(パスワードを同期化)]を有効にすると、ユーザーが初めてサインインしたときにLDAPエージェントはアクションPASSWORD_UPDATEを送信します。

既存のOktaユーザーをLDAPに割り当てるには

  1. 管理コンソールで、[ディレクトリー] > に移動します [Directory Integrations(ディレクトリ統合)]>[LDAP]>[Provisioning(プロビジョニング)]>[To App(アプリへ)]に進みます。
  2. [Edit(編集)]をクリックし、[Create Users(ユーザーの作成)]の隣にある[Enable(有効化)]を選択して[Save(保存)]をクリックします。
  3. [Directory(ディレクトリ)]>[Groups(グループ)]をクリックします。
  4. ユーザーの割り当て先となるOktaグループを選択します。
  5. [Manage Directories(ディレクトリを管理)]をクリックします。
  6. 左ペインでLDAPインスタンスを選択し、[Next(次へ)]をクリックします。
  7. [Provisioning Destination DN(プロビジョニング先のDN)]フィールドに新規ユーザーLDAPコンテナの完全識別名を入力します。
  8. [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