Docs 菜单

为单个项目分配单个组织 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

布尔

指示显示正文是否应采用 prettyprint 格式。

false

envelope

布尔

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

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

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

名称
说明

status

HTTP 响应代码

content

预期响应正文

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

名称
类型
必要性
说明

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

名称
类型
说明

desc

字符串

分配给该项目的组织API密钥的描述。

id

字符串

分配给此项目的此组织API密钥的唯一标识符。

privateKey

字符串

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

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

publicKey

字符串

分配给此项目的此组织API密钥的公钥。

roles

对象数组

此组织API密钥分配给此项目的角色。 此大量返回用户在MongoDB 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

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/{API-KEY-ID}?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" : "test",
3 "id" : "{API-KEY-ID}",
4 "links" : [ {
5 "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}",
6 "rel" : "self"
7 } ],
8 "privateKey" : "********-****-****-1493e7bcfde9",
9 "publicKey" : "{PUBLIC-KEY}",
10 "roles" : [ {
11 "groupId" : "{PROJECT-ID-1}",
12 "roleName" : "GROUP_DATA_ACCESS_READ_WRITE"
13 }, {
14 "groupId" : "{PROJECT-ID-1}",
15 "roleName" : "GROUP_READ_ONLY"
16 }, {
17 "groupId" : "{PROJECT-ID-2}",
18 "roleName" : "GROUP_READ_ONLY"
19 }, {
20 "orgId" : "{ORG-ID}",
21 "roleName" : "ORG_MEMBER"
22 } ]
23}