将一个组织服务帐户分配给项目
2024 年 8 月 30 日以后,Cloud Manager 将不再支持 MongoDB 3.6 和 4.0 的自动化、备份和监控。请升级您的 MongoDB 部署或迁移到 Atlas。
基本 URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
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 响应标头或状态代码。要修复此问题,在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
名称 | 类型 | 必要性 | 说明 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
roles | 阵列 | 必需 | 应授予服务帐户的角色列表。 必须至少提供一个角色。 提供的任何角色必须对分配的项目有效:
|
响应
响应元素
如果将查询元素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 | 字符串 | 仅显示前缀和最后四个字符的掩码密钥。 |
请求示例
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/{CLIENT-ID}:invite?pretty=true" \ 6 --data '{ 7 "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ] 8 }'
响应示例
响应标头
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}
响应体
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 }