创建一个组织服务帐户并将其分配给一个项目
基本 URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /groups/{PROJECT-ID}/serviceAccounts
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
| 字符串 | 要创建并向其分配服务帐户的项目的唯一标识符。 使用 /groups 端点检索经过身份验证的用户有权访问权限的所有组织。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 |
| ||||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 |
| ||||||
pretty | 布尔 | 指示响应正文是否应采用 美观打印 格式。 |
| ||||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
需要所有正文参数。
名称 | 类型 | 说明 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字符串 | 服务帐户名称。 接受的字符包括 | ||||||||||||||||||||||
| 字符串 | 服务帐户的描述。 长度必须介于 1 到 250 个字符之间。接受的字符包括 | ||||||||||||||||||||||
| 字符串 | 此服务帐户密钥过期的小时数 | ||||||||||||||||||||||
| 字符串数组 | 服务帐户应具有的角色列表。 必须至少列出一个角色,并且所有角色必须对项目有效。 项目角色包括:
|
响应
名称 | 类型 | 说明 |
---|---|---|
| 字符串 | 服务帐户的唯一标识符。 |
| timestamp | 服务帐户创建时间。 |
| 字符串 | 服务帐户名称。 |
| 字符串 | 服务帐户的描述。 |
| 字符串数组 | |
| 对象数组 | 服务帐户密钥列表。 |
| 字符串 | 24string标识密钥的唯一 -十六进制字符串。 |
| timestamp | 表示密钥创建时间的时间戳。 |
| timestamp | 表示密钥过期时间的时间戳。 |
| 字符串 | 服务帐户密钥,仅在创建时可用。 |
请求示例
注意
发出请求的用户可以采用{PUBLIC-KEY}:{PRIVATE-KEY}
格式。
1 curl --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?pretty=true" \ 6 --data '{ 7 "name" : "Cloud Manager service account", 8 "description" : "Service account for Cloud Manager users.", 9 "secretExpiresAfterHours" : "3600", 10 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"] 11 }'
响应示例
响应标头
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
201 Created 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}
响应体
注意
响应正文中的 secret
未编辑。出于安全目的,此示例已编辑。
1 { 2 "createdAt" : "2024-08-03T14:02:40Z", 3 "description" : "Service account for Cloud Manager users.", 4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144", 5 "name" : "Cloud Manager service account", 6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN" ], 7 "secrets" : [ { 8 "createdAt" : "2024-08-03T14:02:40Z", 9 "expiresAt" : "2024-12-31T14:02:40Z", 10 "id" : "66ae38803cdf55582cb01143", 11 "secret" : "mdb_sa_sk_...hcOL" 12 } ] 13 }