对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

修改一个组织 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字段添加到响应正文。

无

body 参数为必填项。

名称
类型
必要性
说明

roles

字符串数组

必需

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

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

名称
类型
说明

desc

字符串

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

id

字符串

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

privateKey

字符串

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

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

publicKey

字符串

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

roles

对象数组

此组织API密钥分配给此项目的角色。 此大量返回用户在MongoDB Ops Manager中拥有的所有组织和项目角色。

roles.groupId

字符串

此角色所属项目的唯一标识符。

roles.orgId

字符串

此角色所属组织的唯一标识符。

roles.roleName

字符串

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

组织角色

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

项目角色

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

注意

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

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request PATCH "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/apiKeys/5d1d143c87d9d63e6d694746?pretty=true" \ --data '{ "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ] }'
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-alive
HTTP/1.1 200 OKVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-Length: {requestLengthInBytes}X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{ "desc" : "New API key for test purposes", "id" : "5d1d143c87d9d63e6d694746", "links" : [ { "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", "rel" : "self" } ], "privateKey" : "********-****-****-eac4256753ba", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "orgId" : "5980cfe20b6d97029d82fa63", "roleName" : "ORG_BILLING_ADMIN" }, { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_DATA_ACCESS_READ_WRITE" }, { "orgId" : "5980cfe20b6d97029d82fa63", "roleName" : "ORG_MEMBER" }, { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_READ_ONLY" } ]}