Oracle Directory Server Enterprise Edition LDAP統合リファレンス

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

推奨バージョン

ODSEE 11.1.1.7.0

既知の問題

  • 自分のパスワードのリセットを要求し、管理者がパスワードをリセットした後、そのパスワードを変更する必要があるユーザーは、Okta End-User Dashboardにアクセスするために新しいパスワードを2回指定する必要がある。
  • 一時パスワードを使用しているユーザーは新しいパスワードの作成を求められず、一時パスワードを認証に引き続き使用できる。
  • LDAPサーバーでアカウントがロックされている場合、ロックされたユーザーアカウントをロック解除できない。
  • プロビジョニング設定で[Do nothing(何もしない)]と表示されている場合、ユーザーが非アクティブ化されてもOktaではアクティブなままになっている。単一のソースがユーザープロファイル属性を提供する場合、非アクティブ化されたユーザーはソースから切断され、Oktaがユーザープロファイル属性のソースになります。

統合の構成

Okta LDAP Agentのインストール」に記載されているエージェントの初期インストールおよび構成時のODSEEの属性は次のとおりです。

  • LDAPバージョン:ODSEE。Sun DSEEまたは別のオプションを選択した場合、仮想リストビュー(VLV)リクエストコントロールはアクティブ化されません。データセットが大きすぎると、LDAPのインポートが失敗する可能性があります。ODSEEオプションは、Oktaサポートがアクティブ化しない限り使用できません。
  • 一意の識別子属性:nsuniqueid
  • DN属性:entrydn
  • ユーザーオブジェクトクラス:inetorgperson
  • ユーザーオブジェクトフィルター:(objectclass=inetorgperson)
  • *アカウントで無効になっている属性:nsAccountLock
  • *アカウントで無効になっている値:TRUE
  • *アカウントで有効になっている値:FALSE
  • パスワード属性:userpassword
  • グループオブジェクトクラス:groupofuniquenames
  • グループオブジェクトフィルター:(objectclass=groupofnames)
  • メンバー属性:uniquemember

スキーマの読み取り

ODSEE LDAP統合に関する、特別な考慮事項はありません。

AUXクラスの属性を追加するには、補助クラスを補助オブジェクトクラスとしてディレクトリのプロビジョニング構成に追加します。たとえば、補助オブジェクトクラスがdcObjectの場合、dc属性がOktaスキーマ属性に追加されます。

パスワード変更

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

失敗したパスワード更新操作はOktaによって解析され、[Delegated Authentication(代理認証)]ページにエラーメッセージが表示されます。たとえば、新しいパスワードがすでに存在する場合は、「パスワードの変更は以下の理由で失敗しました:パスワード履歴」というエラーメッセージが表示されます。

パスワードリセット

パスワードリセットは、管理者またはユーザーがパスワードを忘れた場合のフローによってトリガーされます。

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

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

パスワードの検証

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

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

ユーザーがOktaパスワードを4回、LDAPパスワードを5回誤って入力した場合、そのLDAPユーザーアカウントのステータスは[Locked(ロック済み)]になりますが、Okta Admin Consoleには[Active(アクティブ)]と表示されます。アカウントがこの状態の場合、管理者はユーザーアカウントをロック解除する必要があります。「個々のユーザーアカウントをロック解除する」を参照してください。

インポート

ODSEE LDAP統合には、LDAP仮想リスト表示(VLV)コントロールのサポートが含まれています。デフォルトでは、グループで並べ替えるキーはユーザーのcnおよびuidです。サーバーのSimple Pagination Controlと同様の方法がインポートに使用されます。VLVが有効な場合、エージェントログには「VLVContext for reading from LDAP with sortingKey=cn」というメッセージが表示されます。

LDAP VLVコントロールを使用している場合は、ユーザーおよびグループベース識別名(DN)と一致するVLVインデックスを作成する必要があります。たとえば、ユーザーベースDN(ou=people,dc=example,dc=com)のVLVインデックスを作成するときは、次のデフォルト値を使用します。

dn:cn=people_browsing_index、cn=database-name、

cn=ldbm database、cn=plugins、cn=config

objectClass:top

objectClass:vlvSearch

cn:ou=Peopleを参照

vlvBase:ou=People、dc=example、dc=com

vlvScope:2

vlvFilter:(objectclass=inetOrgPerson)

dn:cn=Sort rev uid、cn=people_browsing_index、

cn=database-name、cn=ldbm database、cn=plugins、cn=config

objectClass:top

objectClass:vlvIndex

cn:Sort rev uid

vlvSort:uid

VLVインデックスを作成した後で、新しい設定を実装するためにLDAPサーバーのインデックスを再作成する必要が生じる場合があります。

VLVインデックスを作成するには、『Oracle Directory Server Enterprise Edition Administration Guide』の「To Add or Modify Browsing Index Entries」を参照してください。

JITプロビジョニング

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

JITプロビジョニングを正常に完了するには、以下が必要です。

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

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

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

インポート時にデフォルトのODSEE設定を使用すると、objectClassグループのユーザーグループがインポートされ、member group属性で指定されたユーザーに追加されます。

インポート時にmembership属性がseeAlsoに設定されている場合、ユーザーはseeAlsoユーザー属性に追加されたグループに割り当てられます。

プロビジョニング

ユーザーの作成時または割り当て時にパスワードを設定できるようにするには、LDAPインスタンスでDelAuthを無効にし、LDAP_PUSH_PASSWORD_UPDATESを有効にし、パスワード同期を有効にします。これらの設定により、LDAPエージェントは、ユーザーが初めてログインすると、または割り当てられると、PASSWORD_UPDATEアクションを送信します。これらの設定を行わない場合、パスワードはLDAPインスタンスに転送されません。

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

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

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

  1. Okta Admin Consoleで、[Directory(ディレクトリ)]>[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コンテナーの完全識別名(DN)を入力します。
  8. [Confirm Changes(変更を確認)]をクリックします。

トラブルシューティング

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

エージェント:成功

POST initiated with result status=SUCCESS, actionType=USER_AUTH_AND_UPDATE, actionId=ADStwgvcY62FO3G5j0g3, diagnostic message=, error code=, matched dn=, message=SUCCESS, result code=, vendor=OID

エージェント:代理認証の失敗

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADStwmk6wiL2JhaEq0g3, diagnostic message=, error code=49, matched dn=cn=MultyGroupsODSEE MultyGroupsODSEE,ou=QA users,dc=okta,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OID

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

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADStwotN9I9aWlO0w0g3, diagnostic message=, error code=, matched dn=, message=User not found while executing query: (&(objectclass=inetorgperson)(uid=ODSEE@odsee.com)), result code=, vendor=OID

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

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSu1co2UeSUZXlxd0g3, diagnostic message=password expired!, error code=49, matched dn=cn=MultyGroupsODSEE MultyGroupsODSEE,ou=QA users,dc=okta,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='password expired!', diagnosticMessage='password expired!', responseControls={PasswordExpiredControl(isCritical=false)}), result code=PASSWORD_EXPIRED, vendor=OID

エージェント:ユーザーの非アクティブ化(nsAccountLock = TRUE)

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSu1eOJMNAcTT3hQ0g3, diagnostic message=Account inactivated. Contact system administrator., error code=53, matched dn=cn=MultyGroupsODSEE MultyGroupsODSEE,ou=QA users,dc=okta,dc=com, message=LDAPException(resultCode=53 (unwilling to perform), errorMessage='Account inactivated. Contact system administrator.', diagnosticMessage='Account inactivated. Contact system administrator.'), result code=unwilling to perform, vendor=OID

エージェント:ユーザーはロック済み

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADStwqjhzOuGiPm6M0g3, diagnostic message=Exceed password retry limit. Account locked., error code=19, matched dn=cn=MultyGroupsODSEE MultyGroupsODSEE,ou=QA users,dc=okta,dc=com, message=LDAPException(resultCode=19 (constraint violation), errorMessage='Exceed password retry limit. Account locked.', diagnosticMessage='Exceed password retry limit. Account locked.'), result code=constraint violation, vendor=OID