更新一个项目中的一个数据库用户
更新属于指定项目的一个数据库用户。要使用此资源,请求的服务帐户或 API 密钥必须具有“项目所有者”角色、“项目图表管理员”角色、“项目流处理所有者”角色或“项目数据库访问管理员”角色。
路径参数
-
用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。
注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。
格式应符合以下模式:
^([a-f0-9]{24})$
。 -
数据库用户进行身份验证所依据的数据库。 数据库用户必须提供用户名和身份验证数据库才能登录 MongoDB。 如果用户使用Amazon Web Services IAM、x.509、 LDAP或 OIDC 工作负载进行身份验证,此值应为
$external
。 如果用户使用 SCRAM-SHA 或 OIDC Workforce 进行身份验证,则此值应为admin
。 -
人类可读标签,表示向 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 无 字母数字字符串
查询参数
-
指示应用程序是否将响应包装在
envelope
JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。默认值为
false
。 -
指示响应正文是否应采用 prettyprint 格式的标记。
默认值为
false
。Prettyprint
body
必需
更新属于指定项目的一个数据库用户。
-
可读的标签,指示新数据库用户是否使用与用户或用户角色关联的 Amazon Web Services (AWS) 身份和访问管理 (IAM) 凭证进行身份验证。
值为
NONE
、USER
或ROLE
。默认值为NONE
。 -
数据库用户进行身份验证所依据的数据库。 数据库用户必须提供用户名和身份验证数据库才能登录 MongoDB。 如果用户使用Amazon Web Services IAM、x.509、 LDAP或 OIDC 工作负载进行身份验证,此值应为
$external
。 如果用户使用 SCRAM-SHA 或 OIDC Workforce 进行身份验证,则此值应为admin
。值为
admin
或$external
。默认值为admin
。 -
MongoDB Cloud 删除用户的日期和时间。此参数以 ISO 8601 时间戳格式(UTC 格式)表示其值,可以包括时区名称。您必须指定发出应用程序编程接口 (API) 请求后一周内的某个未来日期。
-
此数据库用户的描述。
最大长度为
100
。 -
用于标识项目的唯一的 24 位十六进制数字字符串。
-
包含用于标记和分类 MongoDB 数据库用户的键值对的列表。您定义的标签不会显示在控制台中。
应用于此MongoDB Cloud 组件的人类可读标签。
-
轻型目录访问协议 (LDAP) 记录的一部分,数据库使用它来对 LDAP 主机上的此数据库用户进行身份验证。
值为
NONE
、GROUP
或USER
。默认值为NONE
。 -
人类可读标签,指示新数据库用户或群组是否使用 OIDC 联合身份验证进行身份验证。如需创建联合身份验证用户,请指定该字段的 USER 的值。如需创建联合身份验证群组,请指定该字段的 IDP_GROUP 的值。
值为
NONE
、IDP_GROUP
或USER
。默认值为NONE
。 -
用于根据
databaseName
中指定的数据库验证此数据库用户身份的字母数字字符串。要使用 SCRAM-SHA 进行身份验证,您必须指定此参数。该参数不出现在此响应中。最小长度为
8
。SCRAM-SHA -
提供单个角色与单个适用数据库配对的列表。
该数据库用户可用的资源范围。
-
包含此数据库用户可以访问的集群、MongoDB Atlas 数据湖和 MongoDB Atlas Streams 实例的列表。如果省略,MongoDB Cloud 会授予数据库用户访问项目中的所有集群、MongoDB Atlas 数据湖和 MongoDB Atlas Streams 实例的权限。
该数据库用户可用的资源范围。
-
人类可读标签,表示向 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
。 -
MongoDB Cloud 用于对数据库用户进行身份验证的 X.509 方法。
- 对于应用程序托管的 X.509,请指定
MANAGED
。 - 对于自我托管的 X.509,请指定
CUSTOMER
。
使用
CUSTOMER
方法创建的用户需要在用户名参数中使用公用名 (CN)。您必须对$external
数据库创建经过外部身份验证的用户。值为
NONE
、CUSTOMER
或MANAGED
。默认值为NONE
。 - 对于应用程序托管的 X.509,请指定
atlas api databaseUsers updateGroupDatabaseUser --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20241113001/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.UpdateGroupDatabaseUserApiParams{}
sdkResp, httpResp, err := client.DatabaseUsersApi.
UpdateGroupDatabaseUserWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2024-11-13+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2024-11-13+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}" \
-d '{ <Payload> }'
{
"awsIAMType": "NONE",
"databaseName": "admin",
"deleteAfterDate": "2025-05-04T09:42:00Z",
"description": "string",
"groupId": "string",
"labels": [
{
"key": "string",
"value": "string"
}
],
"ldapAuthType": "NONE",
"oidcAuthType": "NONE",
"password": "string",
"roles": [
{
"collectionName": "string",
"databaseName": "string",
"roleName": "atlasAdmin"
}
],
"scopes": [
{
"name": "string",
"type": "CLUSTER"
}
],
"username": "string",
"x509Type": "NONE"
}
{
"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"
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}