Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ / / /

创建一个全局 API 密钥

在此页面上

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

为 Ops Manager 创建一个全局 API密钥。

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

POST /admin/apiKeys

要求调用此端点的API密钥具有 Global Owner角色。

此端点不使用 HTTP 请求路径参数。

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

名称
类型
必要性
说明
默认
pretty
布尔
Optional
指示响应正文是否应采用 Prettyprint 的标志 格式。
false
envelope
布尔
Optional

指示是否将响应包装在信封中的标志。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true

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

名称
说明
状态
HTTP 响应代码
envelope
预期响应正文
false

您必须提供所有请求正文参数。

名称
类型
必要性
说明
desc
字符串
必需
全局API密钥的描述。 长度必须介于 1 到 250 个字符之间。
roles
字符串数组
必需

全局API密钥需要具有的角色列表。 如果提供了roles数组:

  • 提供至少一个角色

  • 确保所有角色都有效。

默认接受的全局角色包括:

API 中的角色价值
角色
GLOBAL_AUTOMATION_ADMIN
GLOBAL_BACKUP_ADMIN
GLOBAL_MONITORING_ADMIN
GLOBAL_OWNER
GLOBAL_READ_ONLY
GLOBAL_USER_ADMIN
名称
类型
说明
desc
字符串
此全局API密钥的描述。
id
字符串
此全局API密钥的唯一标识符。
links
字符串
文档数组,表示一个或多个子资源和/或相关资源(例如 列表分页 )的 链接 。有关详细信息,请参阅链接
privateKey
字符串
此全局API密钥的未编辑私钥。
publicKey
字符串
此全局API密钥的公钥。
roles
对象数组
此全局API密钥具有的角色。 此数组返回用户在 Ops Manager 中拥有的所有全局角色。
roles.roleName
字符串

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

API 中的角色价值
角色
GLOBAL_AUTOMATION_ADMIN
GLOBAL_BACKUP_ADMIN
GLOBAL_MONITORING_ADMIN
GLOBAL_OWNER
GLOBAL_READ_ONLY
GLOBAL_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 POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/apiKeys?pretty=true" \
6 --data '{
7 "desc" : "New API key for Global Testing",
8 "roles" : [ "GLOBAL_READ_ONLY", "GLOBAL_USER_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 Global Testing",
3 "id" : "5d669ce780eef52a42cf0e1e",
4 "links" : [ {
5 "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/null/apiKeys/5d669ce780eef52a42cf0e1e",
6 "rel" : "self"
7 } ],
8 "privateKey" : "8d080e57-5fd6-495c-9388-fe348ed1796f",
9 "publicKey" : "cfswjfck",
10 "roles" : [ {
11 "roleName" : "GLOBAL_READ_ONLY"
12 }, {
13 "roleName" : "GLOBAL_USER_ADMIN"
14 } ]
15}

后退

获取一个全局 API 密钥