更新一个全局 API 密钥
MongoDB Ops Manager v6.0 将于 2025 1 月 EOL。 尽快升级到更高的MongoDB Ops Manager版本。
使用密钥的唯一标识符从 Ops Manager 更新一个全局 API密钥的值。
要查找特定的全局API密钥,请获取全局API密钥列表,然后查找您需要的 {API-KEY-ID}
。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
PATCH /admin/apiKeys/{API-KEY-ID}
所需角色
要求调用此端点的API密钥具有Global Owner
角色。
请求参数
请求路径参数
所有请求路径参数均为必填项。
名称 | 类型 | 说明 |
---|---|---|
API-KEY-ID | 字符串 | 要更新的 Global API密钥的唯一标识符。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 必要性 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否应采用 Prettyprint 的标志 格式。 | false | ||||||
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
| false |
请求正文参数
您必须提供两个正文参数中的一个或两个。
名称 | 类型 | 必要性 | 说明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | 字符串 | 可选的 | 密钥的描述。 此参数是可选的;但是,该请求必须包含 desc 参数或roles 参数。 如果提供了desc ,则其长度必须介于 1 到 250 个字符之间。 | ||||||||||||||
roles | 字符串数组 | 可选的 | 全局API密钥需要具有的角色列表。 如果提供了
默认接受的全局角色包括:
|
响应
名称 | 类型 | 说明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | 字符串 | 此全局API密钥的描述。 | ||||||||||||||
id | 字符串 | 此全局API密钥的唯一标识符。 | ||||||||||||||
links | 字符串 | |||||||||||||||
privateKey | 字符串 | 此全局API密钥的已编辑私钥。 | ||||||||||||||
publicKey | 字符串 | 此全局API密钥的公钥。 | ||||||||||||||
roles | 对象数组 | 此全局API密钥具有的角色。 此数组返回用户在 Ops Manager 中拥有的所有全局角色。 | ||||||||||||||
roles.roleName | 字符串 | 角色名称。 此资源返回用户在 Ops Manager 中拥有的所有角色。可能的值为:
|
请求示例
注意
发出请求的用户可以采用 {USERNAME}:{APIKEY}
或 {PUBLIC-KEY}:{PRIVATE-KEY}
格式。
1 curl --user "{USERNAME}:{APIKEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --request PATCH "https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/apiKeys/{API-KEY-ID}?pretty=true" \ 5 --data '{ 6 "desc" : "Updated API key description for test purposes" 7 }'
响应示例
响应标头
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
响应体
1 { 2 "created": "2019-09-04T15:37:40Z", 3 "desc": "Updated API key description for test purposes", 4 "globalRoles": ["GLOBAL_READ_ONLY"], 5 "groupRoles": [], 6 "numGroups": 0, 7 "orgRoles": [], 8 "orgRolesString": "", 9 "privateKey": "********-****-****-cfe60e9f1f72", 10 "userId": "5d6fda44ff4ab7133648a852", 11 "username": "dczverfw" 12 }