Sun ONE Application Server LDAP統合リファレンス
このトピックでは、Sun ONE Application Server LDAP統合に固有のリファレンス情報を提供します。Okta LDAP Agentをインストールする場合、Sun ONE Application ServerディレクトリをOktaと統合するためにこの情報が必要になります。「Okta LDAP Agentのインストール」を参照してください。
推奨バージョン
Sun ONE Application Server 5.2
既知の問題
- ユーザーがセルフサービスパスワードのリセットをリクエスト後、または管理者がユーザーのパスワードをリセットした後は、ユーザーがOkta End-User Dashboardにアクセスするには新しいパスワードを2回指定する必要がある。
- 一時パスワードを使用しているユーザーは新しいパスワードの作成を求められず、一時パスワードを認証に引き続き使用できる。
- 期限切れのユーザーパスワードを更新できない。
- LDAPサーバーでアカウントがロックされている場合、ロックされたユーザーアカウントをロック解除できない。
- プロビジョニング設定で[Do nothing(何もしない)]と表示されている場合、ユーザーが非アクティブ化されてもOktaではアクティブなままになっている。単一のソースがユーザープロファイル属性を提供する場合、非アクティブ化されたユーザーはソースから切断され、Oktaがユーザープロファイル属性のソースになります。
統合の構成
「Okta LDAP Agentのインストール」に記載されているエージェントの初期インストールおよび構成時のSun ONE Application Serverの属性は次のとおりです。
- LDAPバージョン:Sun ONE Application Server。別のオプションを選択した場合、仮想リストビュー(VLV)リクエストコントロールはアクティブ化されません。データセットが大きすぎると、LDAPのインポートが失敗する可能性があります。Sun ONE Application Serverオプションは、Oktaサポートがアクティブ化しない限り使用できません。
- 一意の識別子属性:nsuniqueid
- DN属性:entrydn
- ユーザーオブジェクトクラス:inetorgperson
- ユーザーオブジェクトフィルター:(objectclass=inetorgperson)
- *アカウントで無効になっている属性:nsaccountlock
- *アカウントで無効になっている値:TRUE
- *アカウントで有効になっている値:FALSE
- パスワード属性:userpassword
- グループオブジェクトクラス:groupofuniquenames
- グループオブジェクトフィルター: (objectclass=groupofuniquenames)
- メンバー属性:uniquemember
スキーマの参照
Sun ONE Application Server LDAP統合に関して特別な考慮事項はありません。
AUXクラスの属性を追加するには、補助クラスを補助オブジェクトクラスとしてディレクトリのプロビジョニング構成に追加します。たとえば、補助オブジェクトクラスがdcObject
の場合、dc
属性がOktaスキーマ属性に追加されます。
パスワード変更
ユーザーはOkta End-User Dashboardで[Settings(設定)]を選択してパスワードを変更できます。
Oktaは、失敗したパスワード更新操作を検証します。エラーメッセージは[委任認証]ページに表示されます。たとえば、新しいパスワードがすでに存在する場合は、「パスワードの変更は以下の理由で失敗しました:パスワード履歴」というエラーメッセージが表示されます。
パスワードのリセット
パスワードのリセットは、管理者またはユーザーがパスワードを忘れた場合のフローによってトリガーされます。
新しいパスワードがパスワードポリシーの基準を満たさない場合、パスワードのリセットが失敗する可能性があります。
ユーザーは、期限切れのパスワードを更新できません。期限切れパスワードのリセットは管理者が行う必要があります。
パスワードの検証
pwdPolicyオブジェクトクラスを使用して、Sun ONE Application Server固有のパスワードポリシーを実装します。
LDAPインスタンスでパスワードの長さや有効期限などの設定を構成できます。
ユーザーがOktaパスワードを4回、またはLDAPパスワードを5回誤って入力した場合、そのLDAPユーザーアカウントのステータスは[Locked(ロック済み)]になります。ただし、Okta Admin Consoleには[Active(アクティブ)]と表示されます。アカウントがこの状態の場合、管理者はユーザーアカウントのロックを解除する必要があります。「個々のユーザーアカウントのロックを解除する 」を参照してください。
インポート
Sun ONE Application Server統合に関して特別な考慮事項はありません。
JITプロビジョニング
Sun ONE Application Serverジャストインタイム(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設定)]ページとプロファイルエディターで指定されたすべてのユーザー属性がインポートされます。その他の必須属性を選択するには、プロファイルエディターを使用します。
メンバーシップのインポート
インポート時にデフォルトのSun ONE Application Server設定を使用すると、objectClass groupのユーザーグループがインポートされ、member group属性で指定されたユーザーに追加されます。
インポート時にmembership属性がseeAlsoに設定されている場合、ユーザーはseeAlsoユーザー属性に追加されたグループに割り当てられます。
Provisioning(プロビジョニング)
ユーザーの作成時または割り当て時にパスワードを設定できるようにするには、LDAPインスタンスでDelAuthを無効にし、LDAP_PUSH_PASSWORD_UPDATESを有効にし、パスワード同期を有効にします。これらの設定により、ユーザーが初めてログインすると、または割り当てられると、LDAPエージェントはPASSWORD_UPDATEアクションを送信します。これらの設定を行わない場合、パスワードはLDAPインスタンスに転送されません。
ユーザープロファイルの作成時にパスワードを作成して割り当てるには、次の手順を実行します。
- LDAPプッシュパスワードの更新を有効にするには、Oktaカスタマーサポートに連絡してください。
- 次の手順を実行して、委任認証を無効にします。
- Okta Admin Consoleで、 に移動します。
- [Delegated Authentication(委任認証)]ペインで[Edit(編集)]をクリックします。
- [Enable delegated authentication to LDAP(LDAPへの委任認証を有効にする)]チェックボックスをオフにします。
- [Save(保存)]をクリックします。
- デフォルト設定を受け入れてすべてのLDAPユーザーパスワードをリセットし、[Disable LDAP Authentication(LDAP認証を無効にする)]をクリックします。
- Okta Admin Consoleで に移動します。
- [Edit(編集)]をクリックし、[Sync Password(パスワードを同期)]の横にある[Enable(有効)]を選択して、[Save(保存)]をクリックします。
[Sync Password(パスワードを同期)]が有効になると、LDAPエージェントはユーザーが初めてサインインする時にPASSWORD_UPDATEアクションを送信します。
既存のOktaユーザーをLDAPに割り当てるには、次の手順を実行します。
- Okta Admin Consoleで に移動します。
- [Edit(編集)]をクリックし、[Create Users(ユーザーを作成)]の横にある[Enable(有効)]を選択して、[Save(保存)]をクリックします。
- をクリックします。
- ユーザーを割り当てるOktaグループを選択します。
- [Manage Directories(ディレクトリを管理)]をクリックします。
- 左側のペインでLDAPインスタンスを選択し、[Next(次へ)]をクリックします。
- [Provisioning Destination DN(プロビジョニング宛先DN)]フィールドに、新規ユーザーのLDAPコンテナーの完全識別名(DN)を入力します。
- [Confirm Changes(変更を確認)]をクリックします。
トラブルシューティング
LDAPディレクトリ認証に失敗すると、診断と解決に役立つ次のようなメッセージがエージェントログに表示されます。
エージェント:成功
POST initiated with result status=SUCCESS, actionType=USER_AUTH_AND_UPDATE, actionId=ADSugxTWZNrShgm5I0g3, diagnostic message=, error code=, matched dn=, message=SUCCESS, result code=, vendor=SUN_ONE
エージェント:委任認証の失敗
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSugzVSA6oKwrKPq0g3, diagnostic message=, error code=49, matched dn=cn=Test@test.com,ou=usersLynxy2,dc=oktalab,dc=local, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=SUN_ONE
エージェント:ユーザーなし
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSuh1FpTTEenrJ620g3, diagnostic message=, error code=, matched dn=, message=User not found while executing query: (&(objectclass=inetorgperson)(uid=Test@test.com)), result code=, vendor=SUN_ONE
エージェント:パスワードの有効期限切れ
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSuh9BcFFLxYM7wg0g3, diagnostic message=password expired!, error code=49, matched dn=cn=test@test.com,ou=userstest,dc=oktalab,dc=local, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='password expired!', diagnosticMessage='password expired!', responseControls={PasswordExpiredControl(isCritical=false)}), result code=PASSWORD_EXPIRED, vendor=SUN_ONE
エージェント:ユーザーがロックアウトされているか無効化されている
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSuh3qBZ7EjPu40H0g3, diagnostic message=Account inactivated. Contact system administrator., error code=53, matched dn=cn=test@test.com,ou=userstest,dc=oktalab,dc=local, 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=SUN_ONE