1개의 프로젝트에 1명의 데이터베이스 사용자 만들기
지정된 프로젝트에 하나의 데이터베이스 사용자를 생성합니다. 이 MongoDB Cloud는 프로젝트당 최대 100명의 데이터베이스 사용자를 지원합니다. 프로젝트에 100명이 넘는 데이터베이스 사용자가 필요한 경우 지원팀에 문의하세요. 이 리소스를 사용하려면, 요청하는 서비스 계정 또는 API 키에 프로젝트 소유자 역할, 프로젝트 차트 관리자 역할, 프로젝트 스트림 처리 소유자 역할 또는 프로젝트 데이터베이스 액세스 관리자 역할이 있어야 합니다.
경로 매개변수
-
프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.
참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.
형식은
^([a-f0-9]{24})$
패턴 과 일치해야 합니다.
쿼리 매개변수
-
애플리케이션이 응답을
envelope
JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.기본값은
false
입니다. -
응답 본문이 프리티프린트 형식이어야 하는지 여부를 나타내는 플래그입니다.
기본값은
false
입니다.Prettyprint
body
필수 사항
지정된 프로젝트에 하나의 데이터베이스 사용자를 생성합니다.
-
새 데이터베이스 사용자가 사용자 또는 사용자의 역할과 연결된 AWS(Amazon Web Services) IAM(ID 및 액세스 관리) 자격 증명으로 인증하는지 여부를 나타내는 인간 판독 가능 레이블.
값은
NONE
,USER
또는ROLE
입니다. 기본값은NONE
입니다. -
데이터베이스 사용자가 인증하는 데이터베이스입니다. 데이터베이스 사용자는 사용자 이름과 인증 데이터베이스를 모두 제공해야 MongoDB에 로그인할 수 있습니다. 사용자가 Amazon Web Services IAM, x.509, LDAP 또는 OIDC 워크로드로 인증하는 경우 이 값은
$external
이어야 합니다. 사용자가 SCRAM-SHA 또는 OIDC Workforce로 인증하는 경우 이 값은admin
이어야 합니다.값은
admin
또는$external
입니다. 기본값은admin
입니다. -
MongoDB Cloud가 사용자를 삭제한 날짜 및 시간. 이 매개 변수는 값을 UTC의 ISO 8601 타임스탬프 형식으로 표현하며 표준 시간대 지정을 포함할 수 있습니다. API(애플리케이션 프로그래밍 인터페이스) 요청 후 1주일 이내의 미래 날짜를 지정해야 합니다.
-
이 데이터베이스 사용자에 대한 설명입니다.
최대 길이는
100
입니다. -
프로젝트를 식별하는 고유한 24자리 16진수 문자열.
-
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 스트림 인스턴스가 포함된 목록입니다. 이 옵션을 생략하면, MongoDB Cloud는 데이터베이스 사용자에게 프로젝트의 모든 클러스터, MongoDB Atlas 데이터 레이크 및 MongoDB Atlas 스트림 인스턴스에 대한 액세스 권한을 부여합니다.
이 데이터베이스 사용자가 사용할 수 있는 리소스 범위입니다.
-
MongoDB에 인증하는 사용자를 나타내는 인간 판독 가능 레이블. 이 레이블의 형식은 인증 방법에 따라 다릅니다.
인증 방법 필요한 매개 변수 매개 변수 값 username 형식 AWS IAM awsIAMType ROLE ARN AWS IAM awsIAMType 사용자 ARN x.509 x509Type CUSTOMER RFC 2253 고유 이름 x.509 x509Type MANAGED RFC 2253 고유 이름 LDAP ldapAuthType 사용자 RFC 2253 고유 이름 LDAP ldapAuthType GROUP RFC 2253 고유 이름 OIDC Workforce oidcAuthType IDP_GROUP Atlas OIDC IdP ID(페더레이션 설정)에 빗금 기호('/')와 IdP 그룹 이름을 합친 값 OIDC 워크로드 oidcAuthType 사용자 Atlas OIDC IdP ID(페더레이션 설정)에 빗금 기호('/')와 IdP 사용자 이름을 합친 값 SCRAM-SHA awsIAMType, x509Type, ldapAuthType, oidcAuthType none 영숫자 문자열 최대 길이는
1024
입니다. -
MongoDB Cloud에서 데이터베이스 사용자를 인증하는 데 사용하는 X.509 메서드.
- 애플리케이션 관리형 X.509의 경우
MANAGED
를 지정합니다. - 자체 관리형 X.509의 경우
CUSTOMER
를 지정합니다.
CUSTOMER
메서드로 생성한 사용자는 사용자 이름 매개 변수에 CN(일반 이름) 이 있어야 합니다.$external
데이터베이스에 외부에서 인증된 사용자를 생성해야 합니다.값은
NONE
,CUSTOMER
또는MANAGED
입니다. 기본값은NONE
입니다. - 애플리케이션 관리형 X.509의 경우
atlas api databaseUsers createGroupDatabaseUser --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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.CreateGroupDatabaseUserApiParams{}
sdkResp, httpResp, err := client.DatabaseUsersApi.
CreateGroupDatabaseUserWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers" \
-d '{ <Payload> }'
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"username": "arn:aws:iam::358363220050:user/mongodb-aws-iam-auth-test-user",
"awsIAMType": "USER",
"databaseName": "$external"
}
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"username": "CN=marketing,OU=groups,DC=example,DC=com",
"databaseName": "admin",
"ldapAuthType": "GROUP"
}
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"username": "5dd7496c7a3e5a648454341c/sales",
"databaseName": "admin",
"oidcAuthType": "IDP_GROUP"
}
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"username": "5dd7496c7a3e5a648454341c/sales",
"databaseName": "$external",
"oidcAuthType": "USER"
}
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"password": "changeme123",
"username": "david",
"databaseName": "admin"
}
{
"roles": [
{
"roleName": "readWrite",
"databaseName": "sales"
},
{
"roleName": "read",
"databaseName": "marketing"
}
],
"scopes": [
{
"name": "myCluster",
"type": "CLUSTER"
}
],
"groupId": "32b6e34b3d91647abb20e7b8",
"username": "CN=david@example.com,OU=users,DC=example,DC=com",
"x509Type": "CUSTOMER",
"databaseName": "$external"
}
{
"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"
}