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

创建服务帐户

在此页面上

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

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

POST /orgs/{ORG-ID}/serviceAccounts
名称
类型
说明
ORG-ID
字符串
要为其创建服务帐户的组织的唯一标识符。使用 /orgs 端点检索经过身份验证的用户有权访问权限的所有组织。

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

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

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

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

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

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

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

需要所有正文参数。

名称
类型
说明
name
字符串
服务帐户名称。 接受的字符包括 A-Za-z0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 -
description
字符串
服务帐户的描述。 长度必须介于 1 到 250 个字符之间。接受的字符包括 A-Za-z0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 -
secretExpiresAfterHours
字符串
此服务帐户的密钥过期的小时数。 最长为一年(8766 小时)。
roles
字符串数组

服务帐户应具有的角色列表。 必须至少列出一个角色,并且所有角色必须对组织有效。

组织角色包括:

API 中的角色价值
角色
ORG_OWNER
ORG_MEMBER
ORG_GROUP_CREATOR
ORG_BILLING_ADMIN
ORG_READ_ONLY
ORG_BILLING_READ_ONLY
名称
类型
说明
clientId
字符串
服务帐户的唯一标识符。
description
字符串
服务帐户的描述。 接受的字符包括 A-Za-z0-9 、空格、句点 . 、撇号 ' 、逗号 , 、下划线 _ 和破折号 -
name
字符串
服务帐户名称。 接受的字符包括 A-Za-z0-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"]
}'
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 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"
} ]
}

后退

获取所有服务帐户项目分配