PowerProtect:PPDM 部署和管理的虚拟机的密码强化
摘要: 从 19.16 patch2 版本 (19.16.0-21) 开始,由 PPDM 部署和管理的虚拟机(节点)的密码管理已得到增强。这些虚拟机是保护引擎 (vProxies) 和基础架构节点,包括搜索引擎和报告引擎。增强功能包括更高的密码复杂性,在每次虚拟机升级时自动切换密码,以及支持通过 PPDM API 和 CLI 按需切换密码。 本文将提供有关如何更改、更新和管理这些密码的信息。指令可能会因节点类型和使用的方法(API 或命令行)而异。 ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
说明
本产品包含多项增强功能。
密码强化的两个主要增强功能是:升级时自动续订密码和增强密码复杂性。
密码复杂性已增加到:
- 16 个字符
- 至少包含以下各项中的一项:
- 大写字母
- 小写字母
- 编号
- 符号
升级时自动续订密码意味着在升级过程中,搜索节点、报告节点和 vProxies 的管理员和根密码会自动重新生成和续订。
搜索节点、报告节点或 vProxies 的密码轮换也可以通过 PPDM API 或 PPDM 命令行工具进行。通过按需管理,可以实现密码轮换。
如何通过 PPDM API 轮换密码:
有关 API 调用的更多信息,请参阅 https://developer.dell.com/apis/4378/versions/19.16.0/docs/getting%20started/authentication-and-authorization.md 以开始使用。
对于 vProxy(保护引擎)
步骤 1:向 api/v2/protection-engines 发出 GET 请求,并记录保护引擎的“id”,以便在步骤 2 中的后续管理 API 请求中使用。
{ "page": { "size": 1, "number": 1, "totalPages": 1, "totalElements": 1 }, "content": [ { "id": "0b97c547-d74b-4ae1-8cab-06219396dede", "name": "VM Proxy Protection Engine", "type": "VPE", "ipAddress": "127.0.0.1", "status": "OPERATIONAL", "registeredAt": "2024-06-03T17:41:54.357018499Z", "credentials": null, "detail": { "vpe": { "vcsStatuses": [ { "ipAddress": "vc2.vproxy.asl.lab.emc.com", "name": "vc2.vproxy.asl.lab.emc.com", "status": "CONNECTED" } ], "totalDisabledProxies": 0, "totalReadyProxies": 3, "totalFailedProxies": 0, "protectionSummary": { "maxNoOfProtectableVms": 0, "noOfProtectedVms": 0, "totalProtectedSizeInBytes": 0 } } }, "_embedded": null, "_links": { "self": { "href": "https://irv-host-89-211.vproxy.asl.lab.emc.com:8443/ProtectionEngineResource/0b97c547-d74b-4ae1-8cab-06219396dede" } } } ]} |
步骤 2:向保护引擎管理 API 发出 POST 请求。通过以下调用,您可以根据您的偏好更改单个 vProxy 或所有 vProxy。选择以下其中一项。
- 轮换每个 vProxy 的密码:
API: api/v2/protection-engines/<ProtectionEngineID>/managementOperation: POSTPayload:{ "engineId": "<ProtectionEngineID>", "engineType": "VPE", "operation": "ROTATE_PASSWORD"} |
Note: Each vProxy will have a unique password |
- 轮换一个或多个指定 vProxy 的密码,请执行以下操作:
例如,在下面的 proxyIds 字段中,指定了两个 vProxy ID。
API: api/v2/protection-engines/<ProtectionEngineID>/managementOperation: POSTPayload:{ "engineId": "<ProtectionEngineID>", "engineType": "VPE", "operation": "ROTATE_PASSWORD", "代理 ID": ["<vProxyID1>", "<vProxyID2>"]} |
请注意返回的响应代码,以确定命令的成功与否:
202:已接受请求以进行处理。(这是成功操作的理想响应)
400:请求无效。
401:请求者无权执行此操作。
403:不允许请求者执行此操作。
404:未找到所请求的资源。
500:意外错误导致服务器无法满足您的请求。
400:请求无效。
401:请求者无权执行此操作。
403:不允许请求者执行此操作。
404:未找到所请求的资源。
500:意外错误导致服务器无法满足您的请求。
示例响应:
{ "engineId": "0b97c547-d74b-4ae1-8cab-06219396dede", "engineType": "VPE", "operation": "ROTATE_PASSWORD", "_links": { "task": { "href": "https://irv-host-89-211.vproxy.asl.lab.emc.com:8443/api/v2/activities/a27e02fa-64a3-43a6-9d40-6ccbdfeeac39" } }} |
发出此请求后,将在 PPDM 中创建系统作业。
步骤 3:监视密码轮换请求的活动。
- 在 PPDM UI 中的系统作业中监视
- 通过 PPDM 活动 API 进行监视
获取步骤 2 中保护引擎管理 API 响应返回的 activityId。
对 api/v2/activities/{activityId} 发出 GET 请求
可以重复该 GET 请求,直到“state”变为“COMPLETED”,此时密码轮换操作即告终止。
{ "id": "a27e02fa-64a3-43a6-9d40-6ccbdfeeac39", "name": "Rotating password on VM Direct Protection Engine", "category": "CONFIG", "subcategory": "PROTECTION_ENGINE", "classType": "JOB", "source": { "type": "DATA_MANAGER" }, "createTime": "2024-06-12T03:11:57.063Z", "updateTime": "2024-06-12T03:14:47.149Z", "startTime": "2024-06-12T03:11:57.063Z", "endTime": "2024-06-12T03:14:47.144Z", "duration": 170081, "averageDuration": 401896.0, "averageBytesTransferred": 0.0, "progress": 100, "owner": { "name": "VMDM" }, "state": "COMPLETED", "result": { "status": "OK_WITH_ERRORS", "summaries": [] }, "hasLogs": false, "hasChildren": true, "actions": { "cancelable": false, "retryable": false }, "stateSummaries": { "total": 2, "queued": 0, "running": 0, "pendingCancellation": 0, "completed": 1, "ok": 1, "okWithErrors": 0, "canceled": 0, "failed": 1, "unknown": 0, "skipped": 0, "criticalEvent": 0 }, "displayId": "509A7B79", "_links": { "self": { "href": "https://10.235.89.211:8443/api/v2/activities/a27e02fa-64a3-43a6-9d40-6ccbdfeeac39" } }}故障处理 可以显示有关操作的更多信息。以下选项将提供成功确认或有关各代理的密码轮换结果的更多详细信息: 向 activities?filter=parentId%20eq%20"cb2b62fc-eb4a-4b6c-82d1-f0da5379fc31" 发送 GET 请求,以检索子活动 活动的 result.status 表示操作的状态 活动的 result.error.reason 包含任何错误原因 活动的 owner.ownerResource.id 为 proxyId 在以下示例中,我们有一个已成功轮换的 vProxy 以及另一个因虚拟机未开启而失败的 vProxy。
对于搜索引擎步骤 1:向 API/v2/搜索引擎发出 GET 请求,并记录搜索引擎的“id”,以便在步骤 2 中的后续管理 API 请求中使用。
202:已接受请求以进行处理。
示例响应:
400:请求无效。 401:请求者无权执行此操作。 403:请求者无法执行此操作。 409:由于存在冲突,该操作无法完成。操作已在进行中。 409 表示现有操作正在运行,应重试该请求,直到不再返回 409 为止。 500:意外错误导致服务器无法满足您的请求。
对 api/v2/activities/{activityId} 发出 GET 请求 可以重复该 GET 请求,直到“state”变为“COMPLETED”,此时密码轮换操作即告终止。
向 activities?filter=parentId%20eq%20"f04c5e04-cc22-424b-9275-905b4f2644b9" 发出 GET 请求,以检索子活动
用于报告的引擎步骤 1:对 api/v2/report-nodes 发出 GET 请求,并记录“id”,以便在步骤 2 中的后续管理 API 请求中使用。
202:已接受请求以进行处理。
示例响应:
400:错误请求。 401:请求者无权执行此操作。 403:请求者无法执行此操作。 409:由于存在冲突,该操作无法完成。操作已在进行中。 409 表示现有操作正在运行,应重试该请求,直到不再返回 409 为止。 500:内部服务器错误。
步骤 3:监视密码轮换请求的活动。
对 api/v2/activities/{activityId} 发出 GET 请求 可以重复该 GET 请求,直到“state”变为“COMPLETED”,此时密码轮换操作即告终止。
向 activities?filter=parentId%20eq%20"ab8b4132-ab37-4d7f-98a0-4a6b54d53e0b" 发出 GET 请求,以检索子活动 确认状态为“COMPLETED”,并且 result.status 为“OK”
如何通过审核日志监视密码轮换成功轮换密码时会创建审核日志条目(仅通过 API 调用执行时)。保护引擎: ![]() 报告引擎: ![]() 搜索引擎
通过命令行工具轮换密码基础架构节点的密码轮换(搜索/报告):PPDM 命令行工具 /opt/emc/vmdirect/bin/infranodemgmt:用法: /opt/emc/vmdirect/bin/infranodemgmt SUBCOMMAND [OPTIONS]
子命令列表:
delete 删除基础架构节点虚拟机。 get 获取基础架构节点的配置。 modify 修改基础架构节点的配置。 rotatepw 轮换一个或所有基础架构节点的密码。 redeploy 使用新数据盘重新部署基础架构节点虚拟机(利用所提供的 OVA 或软件存储库中的最新 OVA)。 upgrade 升级基础架构节点虚拟机(将仅升级系统磁盘)。 power 对节点虚拟机执行电源关闭和开启操作。 rotatepw 选项: -node_id 字符串 基础架构节点 ID。 使用“-node_id all”轮换每个节点的密码。 -out 字符串 [可选] 将每个节点的结果附加到 csv 文件。 执行步骤:
轮换外部 vProxies 的密码:密码轮换仅适用于外部 vProxy。PPDM 命令行工具 /opt/emc/vmdirect/bin/vproxymgmt: 用法: /opt/emc/vmdirect/bin/vproxymgmt SUBCOMMAND [OPTIONS]
子命令列表:
get 列出现有的 vProxy 配置。 modify 修改现有的 vProxy 配置。 rotatepw 轮换一个或所有 vProxy 的密码。 redeploy 重新部署 vProxy(使用所提供的 OVA 或最新版本中的 OVA)。 power 对 vProxy 执行电源关闭和开启操作。 delete 删除现有的 vProxy。 rotatepw 选项: -vproxy_id 字符串 vProxy ID。 使用“-vproxy_id all”轮换每个 vproxy 的密码。 -out 字符串 [可选] 将每个 vproxy 的结果附加到 csv 文件。 执行步骤:
infranodemgmt/vproxymgmt 工具的退出代码请参阅成功或失败的密码轮换命令的退出代码。所有密码轮换均成功时,退出代码为 0。Waiting for password rotation to complete node for node with ID '3cfd58b9-2998-4b86-bde8-701ff92810e7' ... 已成功执行“rotate_password”操作。 Waiting for password rotation to complete node for node with ID 'ff2e0863-a9a1-43e8-b68f-77ca6b80097c' ... 已成功执行“rotate_password”操作。 两个密码轮换(共两个)成功。 admin@irv-host-89-210:~> echo $? 0 一个或多个密码失败时,退出代码为 1。Waiting for password rotation to complete node for node with ID '3cfd58b9-2998-4b86-bde8-701ff92810e7' ... “rotate_password”操作为“failure”。服务器“irv-host-89-249.vproxy.asl.lab.emc.com”(VM-39396) 当前处于关闭状态。 Waiting for password rotation to complete node for node with ID 'ff2e0863-a9a1-43e8-b68f-77ca6b80097c' ... 已成功执行“rotate_password”操作。 两个密码轮换中的一个失败。 admin@irv-host-89-210:~> echo $? 1 CSV 输出文件通过使用-out <Path/Filename.csv 命令,可以为每个命令操作创建一个输出文件。> 这有助于跟踪所做的更改。-out 将为每次密码轮换生成一行结果,该结果将追加到由 -out 指定的文件中,包含以下字段值:
时间 UTC、节点类型、节点 ID、主机名、结果 2024-05-15T00:03:50Z,vProxy,fb3e7e15-e5f7-456b-8207-e78344e32cf3,10.235.89.236,Success 2024-05-15T00:05:25Z,vProxy,32c44830-a3d0-4711-9a96-34a0c3c5d487,10.235.89.237,Success 2024-05-15T00:48:58Z,node,3cfd58b9-2998-4b86-bde8-701ff92810e7,10.235.89.238,'rotate_password' operation failed. VM '10.235.89.238' (vm-39345) is not powered on. 2024-05-15T00:49:08Z,node,ff2e0863-a9a1-43e8-b68f-77ca6b80097c,irv-host-89-249.vproxy.asl.lab.emc.com,Success 故障处理:无效密码轮换的处理
密码轮换结果在极少数情况下可能不确定:
节点 ID:ff2e0863-a9a1-43e8-b68f-77ca6b80097c 节点类型:报告节点 主机名:irv-host-89-249.vproxy.asl.lab.emc.com 已禁用:false Status:就绪 虚拟机名称:irv-host-89-249.vproxy.asl.lab.emc.com vCenter 资源清册源 ID:980e9a79-86a9-51d9-8191-9224f78273b5 VCenter:vc2.vproxy.asl.lab.emc.com AdminCredentials-用户名: 'admin' Password: '9VgBfj+gW,W3(sTo' (新)管理员凭证-用户名:'admin' Password: 'dgwK2qHgdGp#,AR0' RootCredentials-用户名: 'root' Password: 'V86!QW3P4;,;*48a' |
文章属性
文章编号: 000226181
文章类型: How To
上次修改时间: 05 9月 2025
版本: 3
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。

