返回一个项目中的所有数据库用户

获取 /api/atlas/v2/groups/{groupId}/databaseUsers

返回属于指定项目的所有数据库用户。要使用此资源,请求的服务帐户或 API 密钥必须具有“项目只读”角色。

路径参数

  • groupId 字符串 必需

    用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。

    注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。

    格式应符合以下模式:^([a-f0-9]{24})$

查询参数

  • envelope 布尔

    指示应用程序是否将响应包装在envelope JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。

    默认值为false

  • includeCount 布尔

    标志,用于指示响应是否返回响应中的列项总数 (totalCount)。

    默认值为true

  • itemsPerPage 整型

    响应每页返回的列项数。

    最小值为 1,最大值为 500。默认值为 100

  • pageNum 整型

    显示响应返回的当前总对象集的页面编号。

    最小值为 1。默认值为 1

  • pretty 布尔

    指示响应正文是否应采用 prettyprint 格式的标记。

    默认值为false

    Prettyprint

响应

  • 200 application/vnd.atlas.2023-01-01+json

    正常

    隐藏响应属性 显示响应属性 对象
    • 结果 大量[对象]

      MongoDB Cloud 在完成此请求时提供的返回文档列表。

      隐藏结果属性 显示结果属性 对象
      • awsIAMType 字符串

        可读的标签,指示新数据库用户是否使用与用户或用户角色关联的 Amazon Web Services (AWS) 身份和访问管理 (IAM) 凭证进行身份验证。

        值为 NONEUSERROLE。默认值为 NONE

      • 数据库名称 字符串 必需

        数据库用户进行身份验证所依据的数据库。 数据库用户必须提供用户名和身份验证数据库才能登录 MongoDB。 如果用户使用Amazon Web Services IAM、x.509、 LDAP或 OIDC 工作负载进行身份验证,此值应为 $external。 如果用户使用 SCRAM-SHA 或 OIDC Workforce 进行身份验证,则此值应为admin

        值为 admin$external。默认值为 admin

      • deleteAfterDate string(date-time)

        MongoDB Cloud 删除用户的日期和时间。此参数以 ISO 8601 时间戳格式(UTC 格式)表示其值,可以包括时区名称。您必须指定发出应用程序编程接口 (API) 请求后一周内的某个未来日期。

      • 描述 字符串

        此数据库用户的描述。

        最大长度为 100

      • labels 大量[对象]

        包含用于标记和分类 MongoDB 数据库用户的键值对的列表。您定义的标签不会显示在控制台中。

        应用于此MongoDB Cloud 组件的人类可读标签。

        隐藏标签属性 显示标签属性 对象
        • key 字符串

          用于标签和分类该组件的键。

          最小长度为 1,最大长度为 255

        • 字符串

          设立为用于标签和分类该组件的键的值。

          最小长度为 1,最大长度为 255

      • ldapAuthType 字符串

        轻型目录访问协议 (LDAP) 记录的一部分,数据库使用它来对 LDAP 主机上的此数据库用户进行身份验证。

        值为 NONEGROUPUSER。默认值为 NONE

      • oidcAuthType 字符串

        人类可读标签,指示新数据库用户或群组是否使用 OIDC 联合身份验证进行身份验证。如需创建联合身份验证用户,请指定该字段的 USER 的值。如需创建联合身份验证群组,请指定该字段的 IDP_GROUP 的值。

        值为 NONEIDP_GROUPUSER。默认值为 NONE

      • 角色 大量[对象]

        提供单个角色与单个适用数据库配对的列表。

        该数据库用户可用的资源范围。

        隐藏角色属性 显示角色属性 对象
        • collectionName 字符串

          此角色适用的集合。

        • 数据库名称 字符串 必需

          向该用户授予访问权限权限的数据库。

        • roleName 字符串 必需

          人类可读标签,用于标识分配给数据库用户的一群组权限。此值可以是内置角色或自定义角色。

          取值为 atlasAdminbackupclusterMonitordbAdmindbAdminAnyDatabaseenableShardingreadreadAnyDatabasereadWritereadWriteAnyDatabase<a custom role name>

      • scopes 大量[对象]

        包含此数据库用户可以访问的集群、MongoDB Atlas 数据湖和 MongoDB Atlas Streams 实例的列表。如果省略,MongoDB Cloud 会授予数据库用户访问项目中的所有集群、MongoDB Atlas 数据湖和 MongoDB Atlas Streams 实例的权限。

        该数据库用户可用的资源范围。

        隐藏范围属性 显示作用域属性 对象
        • 名称 字符串 必需

          人类可读标签,用于标识此数据库用户可以访问权限的集群或MongoDB AtlasAtlas 数据湖。

          格式应符合以下模式:^[a-zA-Z0-9][a-zA-Z0-9-]*$

        • 类型 字符串 必需

          此数据库用户可以访问权限的资源类别。

          值为 CLUSTERDATA_LAKESTREAM

      • 用户名 字符串 必需

        人类可读标签,表示向 MongoDB 进行身份验证的用户。此标签的格式取决于身份验证方法:

        身份验证方法 所需参数 参数值 用户名格式
        AWS IAM awsIAMType ROLE ARN
        AWS IAM awsIAMType 用户 ARN
        x.509 x509Type 客户 RFC2253 标识名
        x.509 x509Type 托管 RFC2253 标识名
        LDAP ldapAuthType 用户 RFC2253 标识名
        LDAP ldapAuthType 群组 RFC2253 标识名
        OIDC 员工队伍 oidcAuthType IDP_GROUP Atlas OIDC IdP ID(在联合设置中找到),后跟“/”,然后是 IdP 组名称
        OIDC 工作负载 oidcAuthType 用户 Atlas OIDC IdP ID(在联合设置中找到),后跟“/”,然后是 IdP 用户名
        SCRAM-SHA awsIAMType、x509Type、ldapAuthType、oidcAuthType 字母数字字符串

        最大长度为 1024

      • x509Type 字符串

        MongoDB Cloud 用于对数据库用户进行身份验证的 X.509 方法。

        • 对于应用程序托管的 X.509,请指定 MANAGED
        • 对于自我托管的 X.509,请指定 CUSTOMER

        使用 CUSTOMER 方法创建的用户需要在用户名参数中使用公用名 (CN)。您必须对 $external 数据库创建经过外部身份验证的用户。

        值为 NONECUSTOMERMANAGED。默认值为 NONE

    • 总计数 integer(int32)

      可用文档总数。如果 includeCount设立为 false,MongoDB Cloud 会忽略此值。总数为估计值,可能不准确。

      最小值为 0

  • 401 application/json

    未经授权。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 403 application/json

    Forbidden.

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 404 application/json

    未找到。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 500 application/json

    内部服务器错误。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

GET /api/atlas/v2 /groups/{groupId}/databaseUsers
atlas api databaseUsers listGroupDatabaseUsers --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.ListGroupDatabaseUsersApiParams{}
	sdkResp, httpResp, err := client.DatabaseUsersApi.
		ListGroupDatabaseUsersWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers?pretty=true"
响应示例 (200)
{
  "links": [
    {
      "href": "https://cloud.mongodb.com/api/atlas",
      "rel": "self"
    }
  ],
  "results": [
    {
      "awsIAMType": "NONE",
      "databaseName": "admin",
      "deleteAfterDate": "2025-05-04T09:42:00Z",
      "description": "string",
      "labels": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "ldapAuthType": "NONE",
      "links": [
        {
          "href": "https://cloud.mongodb.com/api/atlas",
          "rel": "self"
        }
      ],
      "oidcAuthType": "NONE",
      "roles": [
        {
          "collectionName": "string",
          "databaseName": "string",
          "roleName": "atlasAdmin"
        }
      ],
      "scopes": [
        {
          "name": "string",
          "type": "CLUSTER"
        }
      ],
      "username": "string",
      "x509Type": "NONE"
    }
  ],
  "totalCount": 42
}
响应示例 (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
响应示例 (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
响应示例 (404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
响应示例 (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}