OpenLDAP統合リファレンス

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

推奨バージョン

OpenLDAP 2.4.44-22.amzn2

既知の問題

  • 一時パスワードを使用しているユーザーは、新しいパスワードの作成を求められない。
  • 有効期限が切れたパスワードでOkta End-User Dashboardへのサインインを試みると、「Password expired(パスワードの有効期限が切れています)」ではなく「Unable to sign in(サインインできません)」というエラーメッセージが表示される。
  • パスワードのリセットを要求し、管理者がパスワードをリセットした後、そのパスワードを変更する必要があるユーザーは、Okta End-User Dashboardにアクセスするために新しいパスワードを2回指定しなければならない。

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

統合の構成

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

  • 一意の識別子属性:entryuuid
  • DN属性:entrydn
  • ユーザーオブジェクトクラス:inetorgperson
  • ユーザーオブジェクトフィルター:(objectclass=inetorgperson)
  • *アカウントで無効になっている属性:pwdlockout
  • *アカウントで無効になっている値:TRUE
  • *アカウントで有効になっている値:FALSE
  • パスワード属性:userpassword
  • グループオブジェクトクラス:groupofuniquenames
  • グループオブジェクトフィルター: (objectclass=groupofuniquenames)
  • メンバー属性:uniquemember

スキーマの参照

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

AUXクラスの属性を追加するには、補助クラスを補助オブジェクトクラスとしてディレクトリのプロビジョニング構成に追加します。

パスワード変更

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

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

パスワードリセット

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

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

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

パスワードの検証

pwdPolicyオブジェクトクラスおよびpwdPolicySubentry属性を使用して、OpenLDAP固有のパスワードポリシーを実装します。

インポート

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

JITプロビジョニング

OpenLDAPジャストインタイム(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設定)]ページとProfile Editorで指定されたすべてのユーザー属性がインポートされます。追加の必須属性を選択するには、プロファイルエディターを使用します。

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

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

インポート時に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ディレクトリ認証に失敗すると、診断と解決に役立つ次のようなメッセージがエージェントログに表示されます。

エージェント:成功

scanResultsがユーザーおよびグループ情報とともに送信されます。

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

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

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADStftCWoSunnemFU0g3, diagnostic message=, error code=49, matched dn=cn=PasswordPolicyUser,ou=LynxyUsers,dc=okta-openldap, dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OPEN_LDAP

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

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

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

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADStfhvei0D6IaFJO0g3, diagnostic message=, error code=49, matched dn=cn=PasswordPolicyUser, ou=LynxyUsers,dc=okta-openldap,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OPEN_LDAP

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

pwdLockoutがユーザーpwdPolicyに対してTRUEに設定されます

POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSticrFpY0IyooMU0g3, diagnostic message=, error code=49, matched dn=cn=PasswordPolicyUser,ou=LynxyUsers,dc=okta-openldap,dc=com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='invalid credentials'), result code=invalid credentials, vendor=OPEN_LDAP