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

将一个组织服务帐户分配给项目

在此页面上

  • Resource
  • 请求路径参数
  • 请求查询参数
  • 请求正文参数
  • 响应
  • 响应元素
  • 请求示例
  • 响应示例
  • 响应标头
  • 响应体

基本 URL: https://cloud.mongodb.com/api/public/v 1.0

POST /groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}:invite
名称
类型
说明
PROJECT-ID
字符串
要更新其服务帐户的项目的唯一标识符。 使用 /groups 端点检索经过身份验证的用户有权访问权限的所有组织。
CLIENT-ID
字符串
要更新的服务帐户的唯一标识符。 请求 /groups/{PROJECT- ID}/serviceAccounts 端点检索经过身份验证的用户有权访问权限的指定组织的所有服务帐户。

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

名称
类型
说明
默认
pageNum
整型
页码(从 1 开始)。
1
itemsPerPage
整型
每页要返回的项目数,最多 500 个。
100
pretty
布尔
false
envelope
布尔

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

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

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

名称
说明
status
HTTP 响应代码
content
预期响应正文

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

名称
类型
必要性
说明
roles
阵列
必需

应授予服务帐户的角色列表。 必须至少提供一个角色。 提供的任何角色必须对分配的项目有效:

API 中的角色价值
角色
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_BILLING_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

如果将查询元素envelope设置为true ,则响应将由content对象包装。

HTTP 响应返回一个 JSON document,其中包含以下对象:

名称
类型
说明
clientId
字符串
服务帐户的唯一标识符。
createdAt
timestamp
服务帐户创建时间。
name
字符串
服务帐户名称。
description
字符串
服务帐户的描述。
roles
字符串数组

服务帐户在项目中具有的角色列表。

项目角色包括:

secrets
对象数组
服务帐户密钥列表。
secrets.id
字符串
24string标识密钥的唯一 -十六进制字符串。
secrets.createdAt
timestamp
表示密钥创建时间的时间戳。
secrets.expiresAt
timestamp
表示密钥过期时间的时间戳。
secrets.lastUsedAt
timestamp
表示上次密钥使用情况的时间戳。
secrets.maskedSecretValue
字符串
仅显示前缀和最后四个字符的掩码密钥。
1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --include \
5 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}:invite?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 "createdAt" : "2024-08-03T14:02:40Z",
3 "description" : "Service account for developers.",
4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144",
5 "name" : "Dev Service Account",
6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ],
7 "secrets" : [ {
8 "createdAt" : "2024-08-03T14:02:40Z",
9 "expiresAt" : "2024-12-31T14:02:40Z",
10 "id" : "66ae38803cdf55582cb01143",
11 "lastUsedAt" : "2024-08-24T21:10:35Z",
12 "maskedSecretValue" : "mdb_sa_sk_...hcOL"
13 } ]
14}

后退

创建一个组织服务帐户并将其分配给一个项目