修改一个组织 API 密钥在一个项目中的角色
MongoDB Ops Manager v6.0 将于 2025 1 月 EOL。 尽快升级到更高的MongoDB Ops Manager版本。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
PATCH /groups/{PROJECT-ID}/apiKeys/{API-KEY-ID}
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | 要更新其 API密钥的项目的唯一标识符。 使用 /groups端点检索经过身份验证的用户有权访问权限的所有组织。 |
API-KEY-ID | 字符串 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 说明 | 默认 | ||||
---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 | 1 | ||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 | 100 | ||||
pretty | 布尔 | 指示响应正文是否应采用 prettyprint 格式。 | false | ||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些API客户端无法访问HTTP响应标头或状态代码。 要修复此问题,请在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
body 参数为必填项。
名称 | 类型 | 必要性 | 说明 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
roles | 字符串数组 | 必需 | 应授予API密钥的角色列表。 必须至少提供一个角色。 提供的任何角色必须对分配的项目有效:
包括您希望此 API 密钥具有的所有角色。 任何不在此数组中的角色都将被删除。 |
响应
名称 | 类型 | 说明 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | 字符串 | 分配给该项目的组织API密钥的描述。 | ||||||||||||||||||||||||||||||
id | 字符串 | 分配给此项目的此组织API密钥的唯一标识符。 | ||||||||||||||||||||||||||||||
privateKey | 字符串 | 分配给此项目的此组织API密钥的已编辑私钥。 该密钥在首次创建时显示为未编辑。 | ||||||||||||||||||||||||||||||
publicKey | 字符串 | 分配给此项目的此组织API密钥的公钥。 | ||||||||||||||||||||||||||||||
roles | 对象数组 | 此组织API密钥分配给此项目的角色。 此数组返回用户在 Ops Manager 中拥有的所有组织和项目角色。 | ||||||||||||||||||||||||||||||
roles.groupId | 字符串 | 此角色所属项目的唯一标识符。 | ||||||||||||||||||||||||||||||
roles.orgId | 字符串 | 此角色所属组织的唯一标识符。 | ||||||||||||||||||||||||||||||
roles.roleName | 字符串 | 角色名称。 此资源返回用户在 Ops Manager 中拥有的所有角色。可能的值为: 组织角色 如果这是一个
项目角色 如果这是一个
|
请求示例
注意
发出请求的用户可以采用 {USERNAME}:{APIKEY}
或 {PUBLIC-KEY}:{PRIVATE-KEY}
格式。
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request PATCH "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/apiKeys/5d1d143c87d9d63e6d694746?pretty=true" \ 6 --data '{ 7 "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ] 8 }'
响应示例
响应标头
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 "desc" : "New API key for test purposes", 3 "id" : "5d1d143c87d9d63e6d694746", 4 "links" : [ { 5 "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", 6 "rel" : "self" 7 } ], 8 "privateKey" : "********-****-****-eac4256753ba", 9 "publicKey" : "{PUBLIC-KEY}", 10 "roles" : [ { 11 "orgId" : "5980cfe20b6d97029d82fa63", 12 "roleName" : "ORG_BILLING_ADMIN" 13 }, { 14 "groupId" : "{PROJECT-ID}", 15 "roleName" : "GROUP_DATA_ACCESS_READ_WRITE" 16 }, { 17 "orgId" : "5980cfe20b6d97029d82fa63", 18 "roleName" : "ORG_MEMBER" 19 }, { 20 "groupId" : "{PROJECT-ID}", 21 "roleName" : "GROUP_READ_ONLY" 22 } ] 23 }