Docs 菜单

Docs 主页MongoDB Ops Manager

修改一个组织 API 密钥在一个项目中的角色

在此页面上

  • 资源
  • 请求路径参数
  • 请求查询参数
  • 请求正文参数
  • 响应
  • 请求示例
  • 响应示例
  • 响应标头
  • 响应体

基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

PATCH /groups/{PROJECT-ID}/apiKeys/{API-KEY-ID}
名称
类型
说明
PROJECT-ID
字符串
要更新其 API密钥的项目的唯一标识符。 使用/groups端点检索经过身份验证的用户有权访问的所有组织。
API-KEY-ID
字符串
要更新的API密钥的唯一标识符。 请求/groups/{PROJECT-ID}/apiKeys端点检索经过身份验证的用户有权访问的指定组织的所有API密钥。

以下查询参数为可选参数:

名称
类型
说明
默认
pageNum
整型
页码(从 1 开始)。
1
itemsPerPage
整型
每页要返回的项目数,最多 500 个。
100
pretty
布尔
指示响应正文是否应采用 美观打印 格式。
false
envelope
布尔

指示是否要将响应封装在信封中。

某些API客户端无法访问HTTP响应标头或状态代码。 要修复此问题,请在查询中设置"envelope" : true

对于返回一个结果的终结点,响应体包括:

状态
HTTP 响应代码
envelope
预期响应正文

对于返回结果列表的端点, results对象是一个信封。 Ops Manager 将status字段添加到响应正文。

body 参数为必填项。

名称
类型
必要性
说明
roles
字符串数组
必需

应授予API密钥的角色列表。 必须至少提供一个角色。 提供的任何角色必须对分配的项目有效:

API 中的角色价值
角色
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN

注意

包括您希望此 API 密钥具有的所有角色。 任何不在此数组中的角色都将被删除。

名称
类型
说明
desc
字符串
分配给该项目的组织API密钥的描述。
id
字符串
分配给此项目的此组织API密钥的唯一标识符。
privateKey
字符串

分配给此项目的此组织API密钥的已编辑私钥。

注意

该密钥在首次创建时显示为未编辑。

publicKey
字符串
分配给此项目的此组织API密钥的公钥。
roles
对象数组
此组织API密钥分配给此项目的角色。 此数组返回用户在 Ops Manager 中拥有的所有组织和项目角色。
roles.groupId
字符串
此角色所属项目的唯一标识符。
roles.orgId
字符串
此角色所属组织的唯一标识符。
roles.roleName
字符串

角色名称。 此资源返回用户在 Ops Manager 中拥有的所有角色。可能的值为:

组织角色

如果这是一个roles.orgId (组织),则值包括:

API 中的角色价值
角色
ORG_OWNER
ORG_MEMBER
ORG_GROUP_CREATOR
ORG_READ_ONLY

项目角色

如果这是一个roles.groupId (项目),则值包括:

API 中的角色价值
角色
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN

注意

发出请求的用户可以采用 {USERNAME}:{APIKEY}{PUBLIC-KEY}:{PRIVATE-KEY} 格式。

1curl --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 }'
HTTP/1.1 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
HTTP/1.1 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}
← 为单个项目分配单个组织 API 密钥