您的 Ops Manager 安装程序会生成一个身份密钥:这是一个密钥对,安装程序在连接到 MongoDB 时使用该密钥对来验证其身份。如果组织外部的人员获得了私钥,则密钥就被泄露,他们可以冒充您的安装程序。
使用此端点轮换身份密钥。轮换操作会将密钥替换为新的密钥对。如果轮换失败,Ops Manager 不会进行任何更改,当前密钥将保持有效。响应始终包含轮换结果。
重要
Your Ops Manager installation must be able to connect to MongoDB to rotate the key. If it can't, the endpoint returns the HTTP status 502 with the outcome UNREACHABLE or EA_UNAVAILABLE.
所需角色
To access this resource, your API key must have the Global Owner role. The Global Owner role is the highest role in Ops Manager. Only users with this role can view and manage license keys.
请求
Send a POST request to start the rotation.
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
POST /admin/artifacts/identity/rotate请求路径参数
此端点不使用 HTTP 请求路径参数。
请求查询参数
此端点接受以下查询参数:
名称 | 类型 | 必要性 | 说明 | 默认 |
|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否采用 pretty-print 格式的标志。 |
|
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
|
|
请求正文参数
此端点不使用 HTTP 请求正文参数。
响应
响应包含以下字段:
字段 | 类型 | 说明 |
|---|---|---|
| 字符串 | 轮换结果。运维管理器将返回下表中的一个值。 |
| 字符串 | Sentence that describes why Ops Manager didn't apply the rotation. This field is |
下表列出了每种结果及其 HTTP 状态和消息:
结果: | HTTP Status | message |
|---|---|---|
| 200 | 运维经理未返回任何消息。 |
| 502 | 无法连接到 MongoDB 以完成轮换。未应用任何更改——当前键仍然有效。请稍后重试。 |
| 502 | MongoDB 企业高级版服务不可用。未应用任何更改——当前密钥仍然有效。请稍后重试。 |
| 409 | 目前还没有需要轮换的注册身份——首次安装时会创建一个。 |
| 409 | MongoDB拒绝了轮换的密钥所有权证明。当前密钥仍然有效。请联系您的MongoDB客户团队。 |
| 409 | 注册身份同时发生了变更。变更未生效——请稍后重试。 |
| 409 | MongoDB拒绝了轮换请求。当前键仍然有效。 |
请求示例
Use curl to send a POST request to the /admin/artifacts/identity/rotate endpoint:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request POST \ "https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/artifacts/identity/rotate?pretty=true"响应示例
以下示例显示了成功请求的响应头和响应正文。
响应标头
以下标头分别显示了未经授权的响应和成功的响应:
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-aliveHTTP/1.1 200 OKVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-Length: {requestLengthInBytes}X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}响应体
以下示例显示了响应正文:
{ "outcome": "ROTATED", "message": null}