OpenDJ LDAP統合リファレンス

このトピックでは、OpenDJ Lightweight Directory Access Protocol(LDAP)統合に固有のリファレンス情報を提供します。Okta LDAP Agentのインストール時に、OpenDJディレクトリをOktaと統合するためにこの情報が必要になります。「をインストールするOkta LDAP Agent 」を参照してください。

推奨バージョン

OpenDJ Community Edition 2.6.4

既知の問題

  • セルフサービスのパスワードリセット後に、自分のパスワードを変更する必要があるユーザーは、Okta End-User Dashboardにアクセスするために新しいパスワードを2回指定しなければならない。

  • プロビジョニング設定が何もしない(Do nothing)である場合は、ユーザーが非アクティブ化されても、Oktaではアクティブなままになります。単一のソースがユーザープロファイル属性を提供する場合、非アクティブ化されたユーザーはソースから接続解除され、Oktaがユーザープロファイル属性のソースになります。

統合の構成

をインストールするOkta LDAP Agent 」に記載されているエージェントの初期インストールおよび構成時の、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クラスの属性を追加するには、補助クラスを補助オブジェクトクラスとしてディレクトリのプロビジョニング構成に追加します。

パスワード変更

ユーザーは、Okta End-User Dashboardで設定(Settings)を選択してパスワードの変更をトリガーできます。

ユーザーがパスワードの変更またはリセットを行えるようにするには、セキュリティ(Security) > 委任認証(Delegated Authentication)をクリックし、LDAPタブを選択してから、ユーザーはLDAPパスワードを変更できます(Users can change their LDAP passwords) > > Okta を選択します。

LDAPインスタンスでパスワードの長さや有効期限などの設定を構成できます。

Oktaは、失敗したパスワード更新操作を検証します。エラーは委任認証(Delegated Authentication)ページに表示されます。

パスワードリセット

管理者はパスワードのリセットをトリガーできます。ユーザーはパスワードを忘れた場合(Forgot password)のリンクをクリックして、パスワードのリセットをトリガーできます。

新しいパスワードがパスワードポリシーの基準を満たさない場合は、パスワードのリセットが失敗する可能性があります。

ユーザーは、期限切れのパスワードを更新できません。期限切れパスワードのリセットは管理者が行う必要があります。

パスワードの検証

pwdPolicyオブジェクトクラスを使用して、OpenDJ固有のパスワードポリシーを実装します。

パスワードポリシーにOpenDJパスワードバリデーターを指定しない場合、パスワードの長さや使用可能な文字に関する制限はありません。

インポート

OpenDJで作成されたユーザーまたはグループは、最初のユーザープロファイルの変更が検出されるまで増分インポートには含まれません。

JITプロビジョニング

OpenDJジャストインタイム(JIT)プロビジョニングに関する特別な考慮事項はありません。ユーザーID(UID)は、メール形式を使用してOktaユーザー名のデフォルト設定と一致させます。サインインのトリガーに外部IDプロバイダー(IdP)を使用しないでください。

JITプロビジョニングを正常に完了するには、次の条件が満たされている必要があります。

  • 構成された命名属性(UIDなど)の値がOktaに存在しないこと。
  • 構成された命名属性(UIDなど)の値が、JITが有効なすべてのディレクトリで一意であること。
  • 必須属性が提示されていること。Oktaのデフォルトはemail、givenName、sn、uidです。
  • パスワードが正しいこと。
  • アカウントで無効になっている属性(Account Disabled Attribute)がLDAPサーバーでfalseに設定されていること。

JITプロビジョニングが正常に完了すると、[LDAP settings(LDAP設定)]ページとプロファイルエディターで指定されたすべてのユーザー属性がインポートされます。その他の必須属性を選択するには、プロファイルエディターを使用します。

メンバーシップのインポート

OpenDJ設定のユーザープロファイルがオブジェクトクラスgroupofuniquenamesを使用してグループに追加され、uniquememberグループ属性が割り当てられます。

プロビジョニング

パスワードポリシーにOpenDJパスワードバリデーターを指定しない場合、パスワードの長さや使用可能な文字に関する制限はありません。

ユーザープロファイルの作成時にパスワードを作成して割り当てるには、次の手順を実行します。

  1. LDAPプッシュパスワードの更新を有効にするには、Oktaカスタマーサポートに連絡してください。
  2. 次の手順を完了して委任認証を無効にします。
    1. Admin Consoleで、セキュリティ(Security) > 委任認証(Delegated Authentication) > LDAPに移動します。
    2. 委任認証(Delegated Authentication)(Edit)ペインで編集(Edit)(Delegated Authentication)をクリックします。
    3. LDAPへの委任認証を有効にする(Enable delegated authentication to LDAP)チェックボックスをオフにします。
    4. 保存(Save)をクリックします。
    5. デフォルト設定を受け入れてすべてのLDAPユーザーパスワードをリセットし、LDAP認証を無効にする(Disable LDAP Authentication)をクリックします。
  3. Admin Consoleで、ディレクトリ(Directory) > ディレクトリ統合(Directory Integrations) > LDAP > プロビジョニング(Provisioning) > アプリへ(To App)に移動します。
  4. 編集(Edit)をクリックし、パスワードを同期(Sync Password)(Enable)の横にある有効(Enable)(Sync Password)を選択して、保存(Save)をクリックします。

    パスワードを同期(Sync Password)が有効になると、LDAPエージェントはユーザーが初めてサインインする時にPASSWORD_UPDATEアクションを送信します。

既存のOktaユーザーをLDAPに割り当てるには、次の手順を実行します。

  1. Admin Consoleで、ディレクトリ(Directory) > ディレクトリ統合(Directory Integrations) > LDAP > プロビジョニング(Provisioning) > アプリへ(To App)に移動します。
  2. 編集(Edit)をクリックし、ユーザーを作成(Create Users)(Enable)の横にある有効(Enable)(Create Users)を選択して、保存(Save)をクリックします。
  3. ディレクトリ(Directory) > グループ(Groups)をクリックします。
  4. ユーザーを割り当てるOktaグループを選択します。
  5. ディレクトリを管理(Manage Directories)をクリックします。
  6. 左側のペインでLDAPインスタンスを選択し、次へ(Next)をクリックします。
  7. プロビジョニング宛先DN(Provisioning Destination DN)フィールドに、新規ユーザーのLDAPコンテナーの完全識別名(DN)を入力します。
  8. 変更を確認(Confirm Changes)をクリックします。

トラブルシューティング

LDAPディレクトリ認証に失敗すると、診断と解決に役立つ次のようなメッセージがエージェントログに表示されます。

エージェント:成功

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

エージェント:委任認証の失敗

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

エージェント:ユーザーなし

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

エージェント:パスワードの有効期限切れ

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

エージェント:ロックアウトまたは無効

OpenDJには、ロックされたアカウントに対する固有のエラーコードがありません。pwdAccountLockedTimeが現在以降の日時を示している場合、応答コードは誤ったパスワードを使用した場合と同じになります(49 (invalid credentials)(無効な認証情報))。

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