「VxRail:VxRailバージョン7.0.xおよび8.0.xで管理アカウントをクエリーまたはアップデートする方法
Summary: この記事では、バージョン7.0.xおよび8.0.xのVxRail Managerで、保存されたVxRail認証情報のクエリーと更新を行う方法について説明します。
Instructions
VxRailバージョン7.0.010以降では、vCenterおよびESXiホスト管理アカウントはロックボックス マイクロサービスに格納されます
管理アカウントをクエリまたは更新する方法は、以前のバージョンから変更されました
以下に示すパスワードはbase64でエンコードされており、プレーン テキストではありません
前提 条件
- 「mystic」管理者ユーザーを使用してVxRail ManagerにSSH接続します
- rootユーザーに切り替えます。
su -
既存の保存済み認証情報のクエリー:
vCenter管理アカウントのクエリー:
実行するコマンド:
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_vc'|jq
出力例:
{
"items": [
{
"connection_type": "OK",
"credential_name": "management_account_vc",
"is_found": true,
"password": "xxxxxxxxxxx",
"username": "management@localos"
}
]
}
この例では、vCenter管理アカウントのユーザー名は management@localos、エンコードされたパスワードは xxxxxxxxxxx.
パスワードをデコードするには、次のコマンドを使用します。
echo -n 'xxxxxxxxxxx' | base64 -d
ESXiホスト管理アカウントのクエリーを実行します。
1.アカウントにアクセスするには、特定の認証情報にアクセスするためのPowerEdgeサービス タグ( AB1CDE2などの7文字のシリアル)を知っている必要があります。
次のセクションを置き換えます。 <host-SN> サービス タグ付き。
たとえば、VxRailプラグインの次のセクションを使用して、シリアルとホスト名を表示できます。
2.次のコマンドを使用してVxRailホストの認証情報を収集します。 <host-SN> をサーバーのサービス タグに置き換えます。
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_esxi__<host-SN>'| jq
前述のサービス タグの例を使用すると、次のようになります。
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_esxi__AB1CDE2'| jq
出力:
{
"items": [
{
"credential_name": "management_account_esxi__V015001",
"is_found": true,
"password": "XXXXXXXX",
"username": "management"
}
]
}
この例では、ESXiホスト管理アカウントのユーザー名はmanagementです。エンコードされたパスワードはXXXXXXXXです。
デコードするには、次のコマンドを使用します。
echo -n 'XXXXXXXX' | base64 -d
保存された認証情報のアップデート:
vCenter管理アカウントを更新します。
1.Stop(停止) vmware-marvin サービス:
systemctl stop vmware-marvin
2.パスワードをエンコードするには、次のコマンドをパスワードに置き換えて実行します。
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
-n は、改行文字の挿入を避けるために必要です。そうしないと、意図したものとは異なるパスワードになります。
3.現在のvCenter管理アカウントのユーザー名をクエリーします。vCenter管理アカウントのユーザー名がわからない場合は、前述のセクション「vCenter管理アカウントのクエリー」を参照して、ユーザー名をクエリーします
4.vCenter管理アカウントを更新するには、次のコマンドを実行し、 VC_MGMT_USER_NAME and ENCODED_PASSWD_FROM_STEP_1が使用するJava Runtime Environmentへのパスを定義します。
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_vc","username":"VC_MGMT_USER_NAME","password":"ENCODED_PASSWD_FROM_STEP_1"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
Example:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_vc","username":"vxrm@localos","password":"UGFzc3dvcmQxMjMh"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
5.vCenterから管理アカウント パスワードを更新し、vSphere>ハンバーガー メニュー>管理>ユーザーおよびグループ>vCenter管理アカウントが存在するドメインによるフィルターの順に移動し、アカウントを編集して、新しい平文パスワードを設定します。
6.Start vmware-marvin サービス:
systemctl start vmware-marvin
ESXiホスト管理アカウントの更新
1.パスワードをエンコードするには、次の例のようにコマンドを実行します。
例:
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
2.ESXiホストのシリアル番号(SN)またはサービス タグを知っている必要があります。
3.ESXiホスト管理アカウントのユーザー名を知っている必要があります(メモ: 管理アカウント ユーザーとシリアル番号は、VxVerify出力ファイルに一覧表示されます。 vxverify_tests.json)を作成します。
4.Stop(停止) vmware-marvin サービス:
systemctl stop vmware-marvin
5.ESXiホスト管理アカウントを更新するには、次のコマンドを実行して、 ESX_MGMT_USER_NAME と ENCODED_PASSWD_FROM_STEP_1 と <host-SN>が使用するJava Runtime Environmentへのパスを定義します。
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_esxi__<host-SN>","username":"ESXI_MGMT_USER_NAME","password":"ENCODED_PASSWD_FROM_STEP_1"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
Example:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_esxi__V010101","username":"esxmgmt","password":"UGFzc3dvcmQxMjMh"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
パスワードを復号化する方法:
echo -n "VnhsYWJSQGlsMSE=" | base64 -d VxlabR@il1!
6.次の場所に移動してください: https://ESXiIPAddress rootとしてログインします。管理>ユーザーおよびグループ>ESXi管理ユーザーの編集をクリックして>新しいプレーンテキストのパスワードを設定します。
7.Start vmware-marvin サービス:
systemctl start vmware-marvin
パスワードを変更した後:
1.VxRail UI>正常稼働モニタリング>稼働状態モニタリング ステータス>有効化]から、またはCLIを使用して稼働状態モニタリングを有効にします。
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" http://127.0.0.1/rest/vxm/internal/configservice/v1/configuration/keys/state_cluster_suppressed -d '{"value": "false"}'
2.再起動 vmware-marvin サービスのためにすべてのジュークボックス操作を管理するRPCベースのサービスを提供します。
systemctl restart vmware-marvin
Additional Information
認証情報は、VxVerifyを実行してテストできます。次の記事を参照してください。「VxRail:VxRail検証ツールを実行する方法(英語)」を参照してください。