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サーバーでアカウントがロックされている場合、ロックされたユーザー・アカウントをロック解除できない。
- プロビジョニング設定で[何もしない]と表示されている場合、ユーザーが非アクティブ化されても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で[設定]を選択してパスワードを変更できます。
失敗したパスワード更新操作はOktaによって解析され、[委任認証]ページにエラー・メッセージが表示されます。たとえば、新しいパスワードがすでに存在する場合は、「パスワードの変更は以下の理由で失敗しました:パスワード履歴」というエラー・メッセージが表示されます。
パスワード・リセット
パスワード・リセットは、管理者またはユーザーがパスワードを忘れた場合のフローによってトリガーされます。
新しいパスワードがパスワード・ポリシーの基準を満たさない場合、パスワード・リセットが失敗する可能性があります。
ユーザーは、期限切れのパスワードを更新できません。期限切れのパスワードは、管理者がリセットする必要があります。
パスワードの検証
pwdPolicyオブジェクト・クラスを使用して、ODSEE固有のパスワード・ポリシーを実装します。
LDAPインスタンスでパスワードの長さや有効期限などの設定を構成できます。
ユーザーがOktaパスワードを4回、LDAPパスワードを5回誤って入力した場合、そのLDAPユーザー・アカウントのステータスは [ロック済み]になりますが、Okta管理コンソールには[アクティブ]と表示されます。アカウントがこの状態の場合、管理者はユーザー・アカウントをロック解除する必要があります。個々のユーザー・アカウントをロック解除するを参照してください。
インポート
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)は、メール形式を使用してOktaユーザー名のデフォルト設定と一致させます。サインインのトリガーに外部IDプロバイダー(IDP)を使用しないでください。
JITプロビジョニングを正常に完了するには、以下が必要です。
- 構成された命名属性(UIDなど)の値がOktaに存在していないこと。
- 構成された命名属性(UIDなど)の値が、JITが有効なすべてのディレクトリーで一意であること。
- 必須属性が提示されていること。Oktaのデフォルトはemail、givenName、sn、uidです。
- パスワードが正しいこと。
- [アカウントで無効になっている属性]が、LDAPサーバーでfalseに設定されていること。
JITプロビジョニングが正常に完了すると、[LDAP設定]ページとプロファイル・エディターで指定されたすべてのユーザー属性がインポートされます。追加の必須属性を選択するには、プロファイル・エディターを使用します。
メンバーシップのインポート
インポート時にデフォルトのODSEE設定を使用すると、objectClassグループのユーザー・グループがインポートされ、member group属性で指定されたユーザーに追加されます。
インポート時にmembership属性がseeAlsoに設定されている場合、ユーザーはseeAlsoユーザー属性に追加されたグループに割り当てられます。
プロビジョニング
ユーザーの作成時または割り当て時にパスワードを設定できるようにするには、LDAPインスタンスでDelAuthを無効にし、LDAP_PUSH_PASSWORD_UPDATESを有効にし、パスワード同期を有効にします。これらの設定により、LDAPエージェントは、ユーザーが初めてログインすると、または割り当てられると、PASSWORD_UPDATEアクションを送信します。これらの設定を行わない場合、パスワードはLDAPインスタンスに転送されません。
ユーザー・プロファイルの作成時にパスワードを作成して割り当てるには、次の手順を実行します。
- LDAPプッシュ・パスワードの更新を有効にするには、Oktaカスタマー・サポートに連絡してください。
- 次の手順を実行して、委任認証を無効にします。
- 管理コンソールで、[セキュリティー] > に移動します [委任認証] > [LDAP]をクリックします。
- [委任認証]ペインで[編集]をクリックします。
- [LDAPへの委任認証を有効にする] チェック・ボックスをオフにします。
- [保存]をクリックします。
- デフォルト設定を受け入れてすべてのLDAPユーザー・パスワードをリセットし、[LDAP 認証を無効にする]をクリックします。
- 管理コンソールで、[ディレクトリー] > に移動します [ディレクトリー統合] > [LDAP] > [プロビジョニング] > [アプリへ]の順にクリックします。
- [編集]をクリックし、[パスワードを同期]の横にある[有効]を選択して、[保存]をクリックします。
[パスワードを同期]が有効になると、LDAPエージェントはユーザーが初めてサインインする時にPASSWORD_UPDATEアクションを送信します。
既存のOktaユーザーをLDAPに割り当てるには、次の手順を実行します。
- 管理コンソールで、[ディレクトリー] > に移動します [ディレクトリー統合] > [LDAP] > [プロビジョニング] > [アプリへ]の順にクリックします。
- [編集]をクリックし、[ユーザーを作成]の横にある[有効]を選択して、[保存]をクリックします。
- [ディレクトリー] > [グループ]をクリックします。
- ユーザーを割り当てるOktaグループを選択します。
- [ディレクトリーを管理]をクリックします。
- 左側のペインでLDAPインスタンスを選択し、[次へ]をクリックします。
- [プロビジョニング宛先DN]フィールドに、新規ユーザーのLDAPコンテナーの完全識別名(DN)を入力します。
- [変更を確認]をクリックします。
トラブルシューティング
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