免責事項:これは英文の記事 「Set password expiry policy for a specific SSO user in vCenter」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
バックアップツール (例:Veeam) や Telco Cloud Automation (TCA) などのサードパーティ製品に使用されるサービスアカウントでは、多くの場合、有効期限のないパスワードが必要となります。vCenter Server ユーザーインターフェイスでは、パスワードの有効期限はすべてのユーザーに影響するグローバルパラメータです。
本記事では、dir-cli ユーティリティを使用し、グローバルポリシーを変更せずに特定の Single Sign-On (SSO) アカウントに無期限の属性を設定する手順を説明します。
サービスアカウントのパスワード有効期限が切れると、サードパーティ製品との連携が失敗します。/var/log/vmware/sso/websso.log ファイルには、次のようなエラーが記録されます:
yyyy-mm-ddThh:mm:ss.mssZ ERROR websso[56:tomcat-http--18] [CorId=######] [com.vmware.identity.idm.server.IdentityManager] Failed to authenticate principal [<user_name>@<SSO_Domain>]. User password expired.yyyy-mm-ddThh:mm:ss.mssZ INFO websso[56:tomcat-http--18] [CorId=######] [com.vmware.identity.idm.server.IdentityManager] Authentication failed for user [<user_name>@<SSO_Domain>] in tenant [<SSO_Domain>] in [23] milliseconds with provider [<SSO_Domain>] of type [com.vmware.identity.idm.server.provider.vmwdirectory.VMwareDirectoryProvider]yyyy-mm-ddThh:mm:ss.mssZ ERROR websso[56:tomcat-http--18] [CorId=######] [com.vmware.identity.idm.server.ServerUtils] Exception 'com.vmware.identity.idm.PasswordExpiredException: User account expired: {Name: <user_name>, Domain: <SSO_Domain>}'com.vmware.identity.idm.PasswordExpiredException: User account expired: {Name: <user_name>, Domain: <SSO_Domain>}com.vmware.identity.idm.PasswordExpiredException: User account expired: {Name: <user_name>, Domain: <SSO_Domain>}
VMware vCenter Server
vCenter Server の UI は、グローバルのパスワードポリシー構成のみをサポートしています。個別のアカウントでパスワード有効期限を設定するには、コマンドラインインターフェイスで dir-cli ツールを使用します。
特定の SSO ユーザーのパスワード有効期限属性を変更するには、次の手順を実行します。
shell を実行して BASH シェルにアクセスします。/usr/lib/vmware-vmafd/bin/dir-cli user find-by-name --account <Account Name> --level 2/usr/lib/vmware-vmafd/bin/dir-cli user modify --account <Account Name> --password-never-expires[email protected] (または同等の SSO 管理者) の認証情報を入力します。root パスワードを使用すると、ERROR_LOGON_FAILURE (1326) が発生します。Password never expires: TRUE が表示されます。/usr/lib/vmware-vmafd/bin/dir-cli user modify --account <Account Name> --password-expires
このユーティリティの詳細な機能については、 dir-cli コマンド リファレンス のドキュメントを参照してください。
出力例:
パスワードの有効期限を "never" (無期限) に設定する:
# /usr/lib/vmware-vmafd/bin/dir-cli user modify --account <User_Name> --password-never-expiresEnter password for [email protected]:Password set to never expire for [<User_Name>].
確認:
# /usr/lib/vmware-vmafd/bin/dir-cli user find-by-name --account <User_Name> --level 2Enter password for [email protected]:Account: <User_Name>UPN: <User_Name>@<SSO_DOMAIN>Account disabled: FALSEAccount locked: FALSEPassword never expires: TRUEPassword expired: FALSEPassword expiry: N/A