获取所有服务帐户
2024 年 8 月 30 日以后,Cloud Manager 将不再支持 MongoDB 3.6 和 4.0 的自动化、备份和监控。请升级您的 MongoDB 部署或迁移到 Atlas。
基本 URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
GET /orgs/{ORG-ID}/serviceAccounts
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
ORG-ID | 字符串 | 要检索其服务帐户的组织的唯一标识符。使用 /orgs 端点检索经过身份验证的用户有权访问权限的所有组织。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 | 1 | ||||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 | 100 | ||||||
pretty | 布尔 | 指示响应正文是否应采用 美观打印 格式。 | false | ||||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
响应
响应文档
响应JSON文档包括一个 result对象数组、一个link对象数组以及检索到的result对象总数。
名称 | 类型 | 说明 |
---|---|---|
results | 阵列 | 数组为 results 嵌入式文档部分中详细介绍的每一项包含一个对象。 |
links | 阵列 | 数组包含一个或多个指向子资源和/或相关资源的链接。 URL 之间的关系在 Web 链接规范中进行了解释。 |
totalCount | 数字 | 结果集中项目总数的整数计数。 如果对整个结果集进行分页,则它可能大于results数组中的对象数。 |
results
嵌入式文档
每个结果都是一个服务帐户。
名称 | 类型 | 说明 |
---|---|---|
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" \ --include \ --request GET "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true"
响应示例
响应标头
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}
响应体
{ "links": [ { "href": "https://cloud.mongodb.com/api/public/v1.0/orgs/1234567890abcdef12345678/serviceAccounts?pretty=true&pageNum=1&itemsPerPage=3", "rel": "self" } ], "results": [ { "createdAt": "2024-04-23T20:36:22Z", "description": "Service account for development team", "clientId": "mdb_sa_id_001", "name": "dev-team-sa", "roles": ["ORG_OWNER"], "secrets": [ { "createdAt": "2024-04-23T20:36:22Z", "expiresAt": "2024-12-01T00:00:00Z", "id": "secret_id_001", "lastUsedAt": "2024-04-23T20:49:19Z", "maskedSecretValue": "mdb_sa_sk_…OEyV" } ] }, { "createdAt": "2024-05-31T17:27:05Z", "description": "Service account for billing operations", "clientId": "mdb_sa_id_002", "name": "billing-sa", "roles": ["ORG_BILLING_ADMIN"], "secrets": [ { "createdAt": "2024-05-31T17:27:05Z", "expiresAt": "2025-05-31T17:27:05Z", "id": "secret_id_002", "maskedSecretValue": "mdb_sa_sk_…OTyG" } ] }, { "createdAt": "2024-06-04T18:31:42Z", "description": "Service account for project management", "clientId": "mdb_sa_id_003", "name": "project-mgmt-sa", "roles": ["ORG_MEMBER"], "secrets": [ { "createdAt": "2024-06-04T18:31:42Z", "expiresAt": "2024-09-02T18:31:42Z", "id": "secret_id_003", "maskedSecretValue": "mdb_sa_sk_…OWyP" } ] } ], "totalCount": 3 }