创建服务帐户
2024 年 8 月 30 日以后,Cloud Manager 将不再支持 MongoDB 3.6 和 4.0 的自动化、备份和监控。请升级您的 MongoDB 部署或迁移到 Atlas。
基本 URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /orgs/{ORG-ID}/serviceAccounts
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
ORG-ID | 字符串 | 要为其创建服务帐户的组织的唯一标识符。使用 /orgs 端点检索经过身份验证的用户有权访问权限的所有组织。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 | 1 | ||||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 | 100 | ||||||
pretty | 布尔 | 指示响应正文是否应采用 美观打印 格式。 | false | ||||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
需要所有正文参数。
名称 | 类型 | 说明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | 字符串 | 服务帐户名称。 接受的字符包括 A-Z 、 a-z 、 0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 - 。 | ||||||||||||||
description | 字符串 | 服务帐户的描述。 长度必须介于 1 到 250 个字符之间。接受的字符包括 A-Z 、 a-z 、 0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 - 。 | ||||||||||||||
secretExpiresAfterHours | 字符串 | 此服务帐户的密钥过期的小时数。 最长为一年(8766 小时)。 | ||||||||||||||
roles | 字符串数组 | 服务帐户应具有的角色列表。 必须至少列出一个角色,并且所有角色必须对组织有效。 组织角色包括:
|
响应
名称 | 类型 | 说明 |
---|---|---|
clientId | 字符串 | 服务帐户的唯一标识符。 |
description | 字符串 | 服务帐户的描述。 接受的字符包括 A-Z 、 a-z 、 0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 - 。 |
name | 字符串 | 服务帐户名称。 接受的字符包括 A-Z 、 a-z 、 0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 - 。 |
createdAt | timestamp | 服务帐户创建时间。 |
secrets | 对象数组 | 服务帐户密钥列表。 |
secrets.id | 字符串 | 24string标识密钥的唯一 -十六进制字符串。 |
secrets.secret | 字符串 | 服务帐户密钥,仅在创建时可用。 |
secrets.maskedSecretValue | 字符串 | 仅显示前缀和最后四个字符的掩码密钥。 |
secrets.createdAt | timestamp | 表示密钥创建时间的时间戳。 |
secrets.lastUsedAt | timestamp | 表示上次密钥使用情况的时间戳。 |
secrets.expiresAt | timestamp | 表示密钥过期时间的时间戳。 |
roles | 对象数组 |
请求示例
注意
发出请求的用户可以采用{PUBLIC-KEY}:{PRIVATE-KEY}
格式。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true" \ --data '{ "name": "Billing", "description": "Service account for users in finance.", "secretExpiresAfterHours": 3600, "roles": ["ORG_MEMBER", "ORG_BILLING_ADMIN"] }'
响应示例
响应标头
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
未编辑。出于安全目的,此示例已编辑。
{ "createdAt" : "2024-08-02T18:07:25Z", "description" : "Service account for users in finance.", "clientId" : "mdb_sa_id_66ad205d181fc82b21b336e3", "name" : "Billing", "roles" : [ "ORG_MEMBER", "ORG_BILLING_ADMIN" ], "secrets" : [ { "createdAt" : "2024-08-02T18:07:25Z", "expiresAt" : "2024-12-30T18:07:24Z", "id" : "66ad205d181fc82b21b336e2", "secret" : "mdb_sa_sk_***********************************3Yylw" } ] }