Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ /

使用 API 轮换自动化密码

在此页面上

  • 先决条件
  • 自动化配置 API 资源的变量
  • 步骤

您可以通过更新项目的自动化配置,以编程方式轮换自动化用户的密码。

本页介绍了使用 Ops Manager API 轮换自动化用户密码的以下过程:

  1. 设置auth.newAutoPwd并让auth.autoPwd保留当前密码。

  2. 等待目标状态。

  3. auth.newAutoPwd会自动复制auth.autoPwd密码。

仅当您将 SCRAM-SHA-1 或 SCRAM-SHA-256 作为auth.autoAuthMechanisms中自动化的身份验证机制之一时,才能设置此选项。

API 资源使用其中的一个或多个变量。 在调用这些 API 资源之前,将这些变量替换为您所需的值。

名称
类型
说明
PUBLIC-KEY
字符串
您的 API 凭证的公共 API 密钥。
PRIVATE-KEY
字符串
您的 API 档案的私有 API 密钥 。
<OpsManagerHost>:<Port>
字符串
Ops Manager 的URL 实例。
GROUP-ID
字符串
项目设置中项目的唯一标识符。
CLUSTER-ID
字符串
集群的唯一标识符。
1
  1. 使用AutomationConfig资源检索配置。 发出以下命令,将占位符替换为自动化配置 API 资源的变量。

    curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
    --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
    --output currentAutomationConfig.json
  2. 验证下载的自动化配置文件。

    currentAutomationConfig.jsonversion字段与自动化配置备份文件mms-cluster-config-backup.json进行比较。 version值是两个JSON文档中的最后一个元素。 您可以在任何运行 MongoDB Agent 的主机上找到此文件,网址为:

    • Linux 和 macOS: /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json

    • Windows: %SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json

    如果version值匹配,则您正在使用当前版本的自动化配置文件。

2

替换以下命令中的变量并运行:

sed -e "/autoPwd/a\\ \"newAutoPwd\" : \"<NEW_OPS_MANAGER_AUTOMATION_PASSWORD>\"," -e 's/ "version" : <CURRENT_AUTOMATION_CONFIGURATION_VERSION>/ "version" : <NEW_AUTOMATION_CONFIGURATION_VERSION>/' currentAutomationConfig.json > modifiedAutomationConfig.json
名称
说明
<NEW_OPS_MANAGER_AUTOMATION_PASSWORD>
指定新的自动化密码。
<CURRENT_AUTOMATION_CONFIGURATION_VERSION>
指定当前的自动化版本。要检查当前的自动化版本,请参阅获取自动化配置。
<NEW_AUTOMATION_CONFIGURATION_VERSION>
指定当前自动化版本,递增 1。 例如,如果当前的自动化版本为4 ,则新的自动化版本应为5
3

使用AutomationConfig资源发送更新的自动化配置。

发出以下命令,指向上一步中创建的modifiedAutomationConfig.json文件,其中包含更新的配置文档。 将占位符替换为自动化配置 API 资源的变量。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json"
--request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
--data '@modifiedAutomationConfig.json'

成功更新配置后,API 会返回 HTTP 200 OK状态代码,以指示请求已成功。

4

从 Ops Manager 检索自动化配置并确认其中包含更改。要检索配置,请发出以下命令,用自动化配置 API 资源的变量替换占位符。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"

注意

自动化版本会自动递增两倍。 例如,如果您推送的新自动化版本为 5,则所有更改后的新自动化版本为 7。 自动化更新所有托管 MongoDB Server 部署上的自动化用户密码。

5

使用AutomationStatus资源检索部署状态。 发出以下命令,将占位符替换为自动化配置 API 资源的变量。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"

确认processes数组中所有lastGoalVersionAchieved字段的值与goalVersion字段匹配。 要了解部署状态,请参阅获取最新计划的自动化状态。

后退

使用 API 轮换密钥文件