创建 API 密钥
MongoDB Ops Manager v6.0 将于 2025 1 月 EOL。 尽快升级到更高的MongoDB Ops Manager版本。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /orgs/{ORG-ID}/apiKeys
请求路径参数
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 说明 | 默认 | ||||
---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 | 1 | ||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 | 100 | ||||
pretty | 布尔 | 指示响应正文是否应采用 prettyprint 格式。 | false | ||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
需要所有正文参数。
名称 | 类型 | 说明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | 字符串 | API 密钥的描述。长度必须介于 1 到 250 个字符之间。 | ||||||||||
roles | 字符串数组 | API 密钥应具有的角色列表。必须至少列出一个角色,并且所有角色必须对某个组织有效。 组织角色包括:
|
响应
名称 | 类型 | 说明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
id | 字符串 | API 密钥的唯一标识符 | ||||||||||
desc | 字符串 | API 密钥的描述 | ||||||||||
privateKey | 字符串 | API 密钥的私钥。此密钥仅在创建时显示为未编辑。 | ||||||||||
publicKey | 字符串 | API 密钥的公钥 | ||||||||||
roles | 对象数组 | API 密钥具有的角色 | ||||||||||
roles.orgId | 字符串 | orgId 代表此角色适用的组织。 | ||||||||||
roles.roleName | 字符串 | 角色的名称。
|
请求示例
注意
发出请求的用户可以采用 {USERNAME}:{APIKEY}
或 {PUBLIC-KEY}:{PRIVATE-KEY}
格式。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys?pretty=true" \ --data '{ "desc" : "New API key for test purposes", "roles": ["ORG_MEMBER"] }'
响应示例
响应标头
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}
响应体
注意
privateKey
在响应正文中显示为未编辑。出于安全目的,此示例已编辑。
{ "desc" : "New API key for test purposes", "id" : "{API-KEY-ID}", "links" : [ { "href" : "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}", "rel" : "self" } ], "privateKey" : "********-****-****-db2c132ca78d", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "orgId" : "{ORG-ID}", "roleName" : "ORG_MEMBER" } ] }