eDirectory LDAP統合リファレンス
このトピックでは、eDirectory LDAP統合に固有のリファレンス情報を提供します。Okta LDAP AgentをインストールしてeDirectoryをOktaと統合するには、この情報が必要になります。「Okta LDAP Agentをインストールする」を参照してください。
推奨バージョン
LDAP Agent for NetIQ eDirectory 8.8 SP8 (20812.10)
考慮事項
- 使用しているパスワードのリセットを要求し、管理者がリセットした後でパスワードの変更が必要なユーザーは、Okta End-User Dashboardにアクセスするために新しいパスワードを2回入力しなければなりません。
- プロビジョニング設定が何もしない(Do nothing)である場合は、ユーザーが非アクティブ化されても、Oktaではアクティブなままになります。単一のソースがユーザープロファイル属性を提供する場合、非アクティブ化されたユーザーはソースから接続解除され、Oktaがユーザープロファイル属性のソースになります。
- Oktaのログインフローやインポートフローは、
memberを基にメンバー シップを処理します。NetIQはネストされたグループメンバーシップの追跡にgroupMemberを使用するため、OktaではNetIQ eDirectory統合のネストされたメンバーシップが処理できません。
統合の構成
LDAPエージェントをインストールして構成する際には、eDirectoryに以下の属性を使用します。
- 一意の識別子属性(Unique Identifier Attribute):
localentryid - DN属性(DN Attribute):
entrydn - ユーザーオブジェクトクラス(User Object Class):
inetorgperson - ユーザーオブジェクトフィルター(User Object Filter):
(objectclass=inetorgperson) - *アカウントで無効になっている属性(Account Disabled Attribute):
loginDisabled - *アカウントで無効になっている値(Account Disabled Value):
TRUE - *アカウントで有効になっている値(Account Enabled Value):
FALSE - パスワード属性(Password Attribute):
userpassword - グループオブジェクトクラス(Group Object Class):
groupofnames - [Group Object Filter(グループオブジェクトフィルター)]:
(objectclass=groupofnames) - メンバー属性(Member Attribute):
member
スキーマの参照
AUXクラスの属性を追加するには、そのクラスをAUXILIARYオブジェクトクラスとしてディレクトリプロビジョニング構成に追加します。たとえば、AUXILIARYオブジェクトクラスがdcObjectの場合は、Oktaスキーマ属性にdc属性が追加されます。
パスワード変更
ユーザーはOkta End-User Dashboardで設定(Settings)を選択してパスワードを変更できます。
LDAPインスタンスでeDirectory固有のパスワード設定を使用している場合は、ユーザーがセルフサービスのパスワード変更に正しいACL権限を持っていないと、Oktaでパスワードの変更やリセットが失敗することがあります。その場合はパスワードの変更が失敗し、NDS error: no access (-672)(NDSエラー:アクセス権がありません(-672))というエラーメッセージが返されます。
パスワードのリセット
管理者はパスワードのリセットをトリガーできます。ユーザーはパスワードを忘れた場合(Forgot password)のリンクをクリックして、パスワードのリセットをトリガーできます。パスワードのリセットは、特定のACLを追加しなくても機能します。
新しいパスワードがパスワードポリシーの基準を満たさない場合は、パスワードのリセットが失敗する可能性があります。
インポート
modifyTimestampについて、eDirectoryには他のLDAPサーバーとは異なるDECIMALデータ型の精度があります。通常の値は3ですが、eDirectoryの場合は1に設定する必要があります。この値は以下の2通りの方法で設定できます。
- eDirectoryのサポートが有効で、LDAPエージェントがバージョン5.6.2以降の場合、DECIMALデータ型の精度はインストールプロセス中に自動的に1に設定されます。この値を変更するには、ページに移動します。
- LDAPエージェントのバージョンが5.6.0または5.6.1の場合には、
OktaLDAPAgent.confでgeneralizedTimeMillisecondDecimalPlacesの値を1に設定することで、デプロイされたすべてのエージェントについてDECIMALデータ型の精度を更新します。
Oktaは、インポート時にLDAP属性構文からサポートされているさまざまな形式を読み取ります。これには、統合形式datetimeデータ型としてOktaに保存されているeDirectoryのloginExpirationTimeタイムスタンプが含まれます。
LDAPエージェントのバージョンが5.6.0より前の場合には、eDirectory LDAP統合はサポートされません。
JITプロビジョニング
eDirectoryのジャストインタイム(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設定)]ページとプロファイルエディターで指定されたすべてのユーザー属性をOktaがインポートします。追加の必須属性を選択するには、プロファイルエディターを使用します。
メンバーシップのインポート
インポート時にデフォルトのeDirectory設定が使用されている場合は、objectclass groupofnamesを持つユーザーグループがインポートされ、memberグループ属性で指定されたユーザーに追加されます。
インポート時にmembership属性がseeAlsoに設定されている場合は、seeAlsoユーザー属性に追加されたグループにユーザーが割り当てられます。
プロビジョニング
ユーザープロファイルの作成時にパスワードを作成して割り当てるには、次の手順を実行します。
- LDAPプッシュパスワードの更新を有効にするには、Oktaカスタマーサポートに連絡してください。
- 次の手順を実行して、委任認証を無効にします。
- Admin Consoleで、に移動します。
- 委任認証(Delegated Authentication)(Edit)ペインで編集(Edit)(Delegated Authentication)をクリックします。
- LDAPへの委任認証を有効にする(Enable delegated authentication to LDAP)チェックボックスをオフにします。
- 保存(Save)をクリックします。
- デフォルト設定を受け入れてすべてのLDAPユーザーパスワードをリセットし、LDAP認証を無効にする(Disable LDAP Authentication)をクリックします。
- Admin Consoleで、に移動します。
- 編集(Edit)をクリックし、パスワードを同期(Sync Password)(Enable)の横にある有効(Enable)(Sync Password)を選択して、保存(Save)をクリックします。
パスワードを同期(Sync Password)が有効になると、LDAPエージェントはユーザーが初めてサインインする時にPASSWORD_UPDATEアクションを送信します。
既存のOktaユーザーをLDAPに割り当てるには、次の手順を実行します。
- Admin Consoleで、に移動します。
- 編集(Edit)をクリックし、ユーザーを作成(Create Users)(Enable)の横にある有効(Enable)(Create Users)を選択して、保存(Save)をクリックします。
- をクリックします。
- ユーザーを割り当てるOktaグループを選択します。
- ディレクトリを管理(Manage Directories)をクリックします。
- 左側のペインでLDAPインスタンスを選択し、次へ(Next)をクリックします。
- プロビジョニング宛先DN(Provisioning Destination DN)フィールドに、新規ユーザーのLDAPコンテナーの完全識別名(DN)を入力します。
- 変更を確認(Confirm Changes)をクリックします。
Oktaは、ISO 8601形式YYYY-MM-DDTHH:mm:ss.SSSZでのdatetime属性の書き込みをサポートします。Okta AppUserプロファイルのloginExpirationTime属性はdatetimeとして保存されるため、OktaからeDirectory LDAPにこの属性をプッシュすると失敗します。
トラブルシューティング
LDAPディレクトリ認証に失敗すると、診断と解決に役立つ次のようなメッセージがエージェントログに表示されます。
エージェント:成功
POST initiated with result status=SUCCESS, actionType=USER_AUTH_AND_UPDATE, actionId=ADSuirvHXkjvU4It20g3, diagnostic message=, error code=, matched dn=, message=SUCCESS, result code=, vendor=UNDEFINED
エージェント:委任認証の失敗
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSzbsNoy4eNjPI090g3, diagnostic message=NDS error: failed authentication (-669), error code=49,
matched dn=cn=UserEdirectoryNewOne@edir.com,o=QAUsers,dc=Okta,dc=Com, message=LDAPException(resultCode=49 (invalid credentials), errorMessage='NDS error: failed authentication (-669)',
diagnosticMessage='NDS error: failed authentication (-669)'), result code=invalid credentials, vendor=UNDEFINED
エージェント:ユーザーなし
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSzbmckuuz7LniPk0g3, diagnostic message=, error code=, matched dn=,
message=User not found while executing query: (&(objectclass=inetorgperson)(uid=UserEdirectoryNewOne@edir.com333)), result code=, vendor=UNDEFINED
エージェント:パスワードの有効期限切れ
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSu99dXaoVG7gFjG0g3, diagnostic message=8009030C: LdapErr: DSID-0C09042A,
comment: AcceptSecurityContext error, data 532, v3839?, error code=49, matched dn=CN=delauth2,CN=\#Users,DC=funnyface,DC=net,DC=local,
message=LDAPException(resultCode=49 (invalid credentials), errorMessage='8009030C: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 532, v3839?',
diagnosticMessage='8009030C: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 532, v3839?'), result code=invalid credentials, vendor=AD_LDS
エージェント:ユーザーの非アクティブ化(loginDisabled = TRUE)
POST initiated with result status=FAILURE, actionType=USER_AUTH_AND_UPDATE, actionId=ADSzbyLP2YaxpJyKI0g3, diagnostic message=NDS error: log account expired (-220),
error code=53, matched dn=cn=UserEdirectoryNewOne@edir.com,o=QAUsers,dc=Okta,dc=Com, message=LDAPException(resultCode=53 (unwilling to perform),
errorMessage='NDS error: log account expired (-220)', diagnosticMessage='NDS error: log account expired (-220)'), result code=unwilling to perform, vendor=UNDEFINED