1개의 사용자 지정 역할 만들기

POST /api/atlas/v2/groups/{groupId}/customDBRoles/roles

지정된 프로젝트에 하나의 사용자 지정 역할을 만듭니다. 이 리소스를 사용하려면, 요청하는 서비스 계정 또는 API 키에 프로젝트 소유자 역할, 프로젝트 스트림 처리 소유자 역할 또는 프로젝트 데이터베이스 액세스 관리자 역할이 있어야 합니다.

경로 매개변수

  • groupId 문자열 필수 사항

    프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.

    참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.

    형식은 ^([a-f0-9]{24})$ 패턴 과 일치해야 합니다.

쿼리 매개변수

  • envelope 부울

    애플리케이션이 응답을 envelope JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.

    기본값은 false 입니다.

  • pretty 부울

    응답 본문이 프리티프린트 형식이어야 하는지 여부를 나타내는 플래그입니다.

    기본값은 false 입니다.

    Prettyprint
application/vnd.atlas.2023-01-01+json

body 필수 사항

지정된 프로젝트에 하나의 사용자 지정 역할을 만듭니다.

  • actions 배열[객체]

    역할이 부여하는 개별 권한 작업의 목록.

    역할 부여하는 권한 조치 입니다.

    작업 속성 숨기기 작업 속성 표시 객체
    • 조치 문자열 필수 사항

      권한 작업을 식별하는 사람이 읽을 수 있는 레이블입니다.

      값은 FIND, INSERT, REMOVE, UPDATE, BYPASS_DOCUMENT_VALIDATION, USE_UUID, KILL_OP, BYPASS_DEFAULT_MAX_TIME_MS, CREATE_COLLECTION, CREATE_INDEX, DROP_COLLECTION, ENABLE_PROFILER, KILL_ANY_CURSOR, CHANGE_STREAM, COLL_MOD, COMPACT, CONVERT_TO_CAPPED, DROP_DATABASE, DROP_INDEX, RE_INDEX, RENAME_COLLECTION_SAME_DB, SET_USER_WRITE_BLOCK, BYPASS_USER_WRITE_BLOCK, LIST_SESSIONS, KILL_ANY_SESSION, COLL_STATS, CONN_POOL_STATS, DB_HASH, DB_STATS, GET_CMD_LINE_OPTS, GET_LOG, GET_PARAMETER, GET_SHARD_MAP, HOST_INFO, IN_PROG, LIST_DATABASES, LIST_COLLECTIONS, LIST_INDEXES, LIST_SHARDS, NET_STAT, REPL_SET_GET_CONFIG, REPL_SET_GET_STATUS, SERVER_STATUS, VALIDATE, SHARDING_STATE, TOP, SQL_GET_SCHEMA, SQL_SET_SCHEMA, VIEW_ALL_HISTORY, OUT_TO_S3, OUT_TO_AZURE, OUT_TO_GCS, STORAGE_GET_CONFIG, STORAGE_SET_CONFIG, FLUSH_ROUTER_CONFIG, ENABLE_SHARDING, CHECK_METADATA_CONSISTENCY, MOVE_CHUNK, SPLIT_CHUNK, ANALYZE_SHARD_KEY, REFINE_COLLECTION_SHARD_KEY, CLEAR_JUMBO_FLAG, RESHARD_COLLECTION, SHARDED_DATA_DISTRIBUTION, GET_STREAM_PROCESSOR, CREATE_STREAM_PROCESSOR, PROCESS_STREAM_PROCESSOR, START_STREAM_PROCESSOR, STOP_STREAM_PROCESSOR, DROP_STREAM_PROCESSOR, SAMPLE_STREAM_PROCESSOR, LIST_STREAM_PROCESSORS, LIST_CONNECTIONS 또는 STREAM_PROCESSOR_STATS.

    • 리소스 배열[객체]

      조치를 허용하는 리소스 목록입니다.

      이 데이터베이스 사용자가 액세스 할 수 있는 네임스페이스입니다.

      리소스 속성 숨기기 리소스 속성 표시 객체
      • cluster 부울 필수 사항

        클러스터 리소스 에 대한 조치 부여할지 여부를 나타내는 플래그입니다. 인 true 경우 MongoDB Cloud는 actions.resources를 무시합니다. 컬렉션 및 actions.resources.db 매개변수.

      • 컬렉션 문자열 필수 사항

        한 명의 MongoDB 사용자에게 조치 부여하는 컬렉션 을 식별하는 사람이 읽을 수 있는 레이블입니다. 이 매개변수를 설정하다 하지 않으면 actions.resources.db 매개변수에 지정된 데이터베이스 의 모든 컬렉션에 조치 부여됩니다. 를 "actions.resources.cluster" : true 설정하다 하면 MongoDB Cloud는 이 매개 변수를 무시합니다.

      • db 문자열 필수 사항

        한 명의 MongoDB 사용자에게 조치 부여하는 데이터베이스 식별하는 사람이 읽을 수 있는 레이블입니다. "actions.resources.cluster" : true를 설정하다 하면 MongoDB Cloud는 이 매개 변수를 무시합니다.

  • inheritedRoles 배열[객체]

    이 사용자 지정 역할이 상속하는 기본 제공 역할의 목록.

    이 데이터베이스 사용자에 대해 다른 컨텍스트에서 상속된 역할입니다.

    상속된 역할 속성 숨기기 상속된 역할 속성 표시 객체
    • db 문자열 필수 사항

      누군가가 한 명의 MongoDB 사용자에게 조치 부여하는 데이터베이스 식별하는 사람이 읽을 수 있는 레이블입니다.

    • 역할 문자열 필수 사항

      상속된 역할 식별하는 사람이 읽을 수 있는 레이블입니다. read 또는 readWrite를 제외한 모든 역할 에 대해 이 값을 admin 로 설정합니다.

      MongoDB 기본 제공 역할
  • roleName 문자열 필수 사항

    요청에 대한 역할을 식별하는 인간 판독 가능 레이블. 이 프로젝트에 포함된 이 사용자 지정 역할에 대해 고유한 이름이어야 합니다.

응답

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

    수락됨

    응답 속성 숨기기 응답 속성 표시 객체
    • actions 배열[객체]

      역할이 부여하는 개별 권한 작업의 목록.

      역할 부여하는 권한 조치 입니다.

      작업 속성 숨기기 작업 속성 표시 객체
      • 조치 문자열 필수 사항

        권한 작업을 식별하는 사람이 읽을 수 있는 레이블입니다.

        값은 FIND, INSERT, REMOVE, UPDATE, BYPASS_DOCUMENT_VALIDATION, USE_UUID, KILL_OP, BYPASS_DEFAULT_MAX_TIME_MS, CREATE_COLLECTION, CREATE_INDEX, DROP_COLLECTION, ENABLE_PROFILER, KILL_ANY_CURSOR, CHANGE_STREAM, COLL_MOD, COMPACT, CONVERT_TO_CAPPED, DROP_DATABASE, DROP_INDEX, RE_INDEX, RENAME_COLLECTION_SAME_DB, SET_USER_WRITE_BLOCK, BYPASS_USER_WRITE_BLOCK, LIST_SESSIONS, KILL_ANY_SESSION, COLL_STATS, CONN_POOL_STATS, DB_HASH, DB_STATS, GET_CMD_LINE_OPTS, GET_LOG, GET_PARAMETER, GET_SHARD_MAP, HOST_INFO, IN_PROG, LIST_DATABASES, LIST_COLLECTIONS, LIST_INDEXES, LIST_SHARDS, NET_STAT, REPL_SET_GET_CONFIG, REPL_SET_GET_STATUS, SERVER_STATUS, VALIDATE, SHARDING_STATE, TOP, SQL_GET_SCHEMA, SQL_SET_SCHEMA, VIEW_ALL_HISTORY, OUT_TO_S3, OUT_TO_AZURE, OUT_TO_GCS, STORAGE_GET_CONFIG, STORAGE_SET_CONFIG, FLUSH_ROUTER_CONFIG, ENABLE_SHARDING, CHECK_METADATA_CONSISTENCY, MOVE_CHUNK, SPLIT_CHUNK, ANALYZE_SHARD_KEY, REFINE_COLLECTION_SHARD_KEY, CLEAR_JUMBO_FLAG, RESHARD_COLLECTION, SHARDED_DATA_DISTRIBUTION, GET_STREAM_PROCESSOR, CREATE_STREAM_PROCESSOR, PROCESS_STREAM_PROCESSOR, START_STREAM_PROCESSOR, STOP_STREAM_PROCESSOR, DROP_STREAM_PROCESSOR, SAMPLE_STREAM_PROCESSOR, LIST_STREAM_PROCESSORS, LIST_CONNECTIONS 또는 STREAM_PROCESSOR_STATS.

      • 리소스 배열[객체]

        조치를 허용하는 리소스 목록입니다.

        이 데이터베이스 사용자가 액세스 할 수 있는 네임스페이스입니다.

        리소스 속성 숨기기 리소스 속성 표시 객체
        • cluster 부울 필수 사항

          클러스터 리소스 에 대한 조치 부여할지 여부를 나타내는 플래그입니다. 인 true 경우 MongoDB Cloud는 actions.resources를 무시합니다. 컬렉션 및 actions.resources.db 매개변수.

        • 컬렉션 문자열 필수 사항

          한 명의 MongoDB 사용자에게 조치 부여하는 컬렉션 을 식별하는 사람이 읽을 수 있는 레이블입니다. 이 매개변수를 설정하다 하지 않으면 actions.resources.db 매개변수에 지정된 데이터베이스 의 모든 컬렉션에 조치 부여됩니다. 를 "actions.resources.cluster" : true 설정하다 하면 MongoDB Cloud는 이 매개 변수를 무시합니다.

        • db 문자열 필수 사항

          한 명의 MongoDB 사용자에게 조치 부여하는 데이터베이스 식별하는 사람이 읽을 수 있는 레이블입니다. "actions.resources.cluster" : true를 설정하다 하면 MongoDB Cloud는 이 매개 변수를 무시합니다.

    • inheritedRoles 배열[객체]

      이 사용자 지정 역할이 상속하는 기본 제공 역할의 목록.

      이 데이터베이스 사용자에 대해 다른 컨텍스트에서 상속된 역할입니다.

      상속된 역할 속성 숨기기 상속된 역할 속성 표시 객체
      • db 문자열 필수 사항

        누군가가 한 명의 MongoDB 사용자에게 조치 부여하는 데이터베이스 식별하는 사람이 읽을 수 있는 레이블입니다.

      • 역할 문자열 필수 사항

        상속된 역할 식별하는 사람이 읽을 수 있는 레이블입니다. read 또는 readWrite를 제외한 모든 역할 에 대해 이 값을 admin 로 설정합니다.

        MongoDB 기본 제공 역할
    • roleName 문자열 필수 사항

      요청에 대한 역할을 식별하는 인간 판독 가능 레이블. 이 프로젝트에 포함된 이 사용자 지정 역할에 대해 고유한 이름이어야 합니다.

  • 400 application/json

    잘못된 요청입니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 401 application/json

    승인되지 않았습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 403 application/json

    Forbidden.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 404 application/json

    찾을 수 없습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 409 application/json

    Conflict.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 500 application/json

    내부 서버 오류입니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

POST /API/Atlas/v2/groups/{groupId}/customDBRoles/roles
atlas api customDatabaseRoles createGroupCustomDbRoleRole --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20240530001/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.CreateGroupCustomDbRoleRoleApiParams{}
	sdkResp, httpResp, err := client.CustomDatabaseRolesApi.
		CreateGroupCustomDbRoleRoleWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-05-30+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/customDBRoles/roles" \
  -d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-05-30+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/customDBRoles/roles" \
  -d '{ <Payload> }'
요청 예시
{
  "actions": [
    {
      "action": "FIND",
      "resources": [
        {
          "cluster": true,
          "collection": "string",
          "db": "string"
        }
      ]
    }
  ],
  "inheritedRoles": [
    {
      "db": "string",
      "role": "string"
    }
  ],
  "roleName": "string"
}
응답 예시(202)
{
  "actions": [
    {
      "action": "FIND",
      "resources": [
        {
          "cluster": true,
          "collection": "string",
          "db": "string"
        }
      ]
    }
  ],
  "inheritedRoles": [
    {
      "db": "string",
      "role": "string"
    }
  ],
  "roleName": "string"
}
응답 예시(400)
{
  "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"
}
응답 예시(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"
}
응답 예시(409)
{
  "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"
}
응답 예시(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"
}