vCenter で特定の SSO ユーザーのパスワード有効期限ポリシーを設定する
search cancel

vCenter で特定の SSO ユーザーのパスワード有効期限ポリシーを設定する

book

Article ID: 449486

calendar_today

Updated On:

Products

VMware vCenter Server VMware vCenter Server 8.0

Issue/Introduction

免責事項:これは英文の記事 「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>}
 

Environment

VMware vCenter Server

Cause

vCenter Server の UI は、グローバルのパスワードポリシー構成のみをサポートしています。個別のアカウントでパスワード有効期限を設定するには、コマンドラインインターフェイスで dir-cli ツールを使用します。

Resolution

特定の SSO ユーザーのパスワード有効期限属性を変更するには、次の手順を実行します。

  1. SSH 経由で vCenter Server Appliance (VCSA) にログインします。
  2. shell を実行して BASH シェルにアクセスします。
  3. 次のコマンドを実行して、ユーザーの現在のパスワード有効期限ステータスを確認します:
    /usr/lib/vmware-vmafd/bin/dir-cli user find-by-name --account <Account Name> --level 2
  4. アカウントのパスワード有効期限を無効にするには、次のコマンドを実行します:
    /usr/lib/vmware-vmafd/bin/dir-cli user modify --account <Account Name> --password-never-expires
  5. パスワードを求められたら、[email protected] (または同等の SSO 管理者) の認証情報を入力します。
    • 注:vCenter の root パスワードを使用すると、ERROR_LOGON_FAILURE (1326) が発生します。
  6. 変更を確認するには、手順 3 のコマンドを再実行します。出力結果に Password never expires: TRUE が表示されます。
  7. (オプション)ユーザーのパスワード有効期限を再度有効にするには、次のコマンドを実行します:
    /usr/lib/vmware-vmafd/bin/dir-cli user modify --account <Account Name> --password-expires

Additional Information

このユーティリティの詳細な機能については、 dir-cli コマンド リファレンス のドキュメントを参照してください。

出力例:

パスワードの有効期限を "never" (無期限) に設定する:

# /usr/lib/vmware-vmafd/bin/dir-cli user modify --account <User_Name> --password-never-expires
Enter 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 2
Enter password for [email protected]:
Account: <User_Name>
UPN: <User_Name>@<SSO_DOMAIN>
Account disabled: FALSE
Account locked: FALSE
Password never expires: TRUE
Password expired: FALSE
Password expiry: N/A