Docs 菜单

Create and Assign One Organization API Key to One Project

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

POST /groups/{PROJECT-ID}/apiKeys
名称
类型
说明

PROJECT-ID

字符串

Unique identifier for the Project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all organizations to which the authenticated user has access.

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

名称
类型
说明
默认

pageNum

整型

页码(从 1 开始)。

1

itemsPerPage

整型

每页要返回的项目数,最多 500 个。

100

pretty

布尔

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

false

envelope

布尔

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

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

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

名称
说明

status

HTTP 响应代码

content

预期响应正文

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

At least one of the two body parameters are required.

名称
类型
说明

desc

字符串

Description of the API key. Must be between 1 and 250 characters in length.

roles

字符串数组

List of roles that the API Key needs to have. If the roles array is provided:

  • 提供至少一个角色

  • Make sure all roles must be valid for the Project

Project roles include:

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

注意

发出请求的用户可以采用{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 POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?pretty=true" \
6 --data '{
7 "desc" : "New API key for test purposes",
8 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"]
9 }'
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" : "********-****-****-db2c132ca78d",
9 "publicKey" : "{PUBLIC-KEY}",
10 "roles" : [ {
11 "groupId" : "{PROJECT-ID}",
12 "roleName" : "GROUP_READ_ONLY"
13 }, {
14 "groupId" : "{PROJECT-ID}",
15 "roleName" : "GROUP_DATA_ACCESS_ADMIN"
16 } ]
17}