Privileged Access Manager ( 以下、PAM) でActive Directory ( 以下、AD) 上のターゲットアカウントのパスワード更新が失敗する。
ターゲットアカウント AccountA は別の管理用のターゲットアカウント AccountB で更新を行うように構成されており、AccountA 、 AccountB は既に登録されているパスワードが正しく正常にログイン可能な事は確認されている。
PAMのtomcatのログ (ログレベル:情報以上) ではパスワード更新の辺りで以下のようなログが記録されていた。
2023-09-20T09:57:34.332+0000 INFO [com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager] com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.getDistinguishedName Derived the Distinguished Name (DN) 'CN=AccountB,OU=myou, DC=example,DC=com' from the Target Account having ID '5001'
2023-09-20T09:57:34.332+0000 INFO [com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager] com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.loginToActiveDirectoryServer JNDI provider URL= 'ldaps://<my_ip>:636'; JNDI security principal= 'CN=AccountB,OU=myou, DC=example,DC=com'
... 中略
com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.getUserPrincipalName Derived the User Principal Name '[email protected]' from the Target Account having ID '17527001'
2023-09-20T09:57:34.390+0000 INFO [com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager] com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.getDistinguishedNameFromLDAP Base DN = DC=example,DC=com
... 中略
2023-09-20T09:57:34.391+0000 INFO [com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager] com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.getDistinguishedNameFromLDAP DN = AccountA,OU=myou, DC=example,DC=com, User Principal Name = [email protected], Current DN = CN=AccountA, OU=myou, DC=example,DC=comCurrent UPN [email protected]@example.com
... 中略
2023-09-20T09:57:34.393+0000 SEVERE [com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager] com.cloakware.cspm.server.plugin.targetmanager.WindowsDomainServiceTargetManager.updatePasswordInActiveDirectory Failed with Naming Exception
javax.naming.NoPermissionException: [LDAP: error code 50 - 00000005: SecErr: DSID-031A11CF, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
]; remaining name 'CN=AccountA,OU=myou,DC=example,DC=com'
4.0.x および 4.1.x
PAM では AD 上のアカウント AccountA を 同じく AD 上のアカウント AccountB で更新する手順について説明させていただきます。
本説明は PAM 4.1.4 の動作に基づきます。
最初に、 AccountA の新しいパスワードで AD にログインを試みます。これはアカウントのパスワードが既に新しいパスワードに更新されていないことを確認するためです。識別名で失敗したらPAM内に保持しているデータからUPNによるログインを試みます。
これらは両方失敗しますが、正常な動作となります。
次に、PAM は AccountB を使って AccountA のパスワードを変更するために、AccountB でADの認証を受けます。その後、標準的なLDAPSのクエリで処理を進めます。
このケースでは AccountB が AccountA のパスワード変更のための十分な権限を持っていないことが原因 (problem 4003 (INSUFF_ACCESS_RIGHTS)) でエラーになっています。
例えば、アカウントが特定のコンテナ内に存在しますが、 AccountB はその変更権限を持っていない場合などが考えられます。
最終的に tomcat のログにエラーが記録され、パスワードの更新は失敗します。
別アカウントを使用して、特定のターゲットアカウントを更新するには十分な権限がある必要があります。
この権限については複雑であるため、詳細に説明することはできませんが、一つの方法として 更新用のアカウントをDomain Admins グループに入れて動作を確認することができます。
必要であれば、グループポリシー(GPO)、ADポリシーやADの権限などを調整することで最低限の権限だけに調整することもできます。
ただし、最小限のアクセス権限のリストについてはお客様のGPOなどの環境に依存するため、弊社から提供することはできませんのでご了承ください。
以下の英文 KBを翻訳し補足しました。
Article ID: 273982: Active Directory Target account password rotation fails in CA PAM