Docs Menu
Docs Home
/
MongoDB Cloud Manager
/ / / /

1개의 프로젝트에 1개의 조직 서비스 계정 생성 및 할당

이 페이지의 내용

  • Resource
  • 요청 경로 매개변수
  • 요청 쿼리 매개변수
  • 요청 본문 매개변수
  • 응답
  • 요청 예시
  • 응답 예시
  • 응답 헤더
  • 응답 본문

기본 URL: https://cloud.mongodb.com/api/public/v1.0

POST /groups/{PROJECT-ID}/serviceAccounts
이름
유형
설명
PROJECT-ID
문자열
서비스 계정을 만들고 할당하려는 프로젝트의 고유 식별자입니다. 인증된 사용자가 액세스 있는 모든 조직을 조회 하려면 /groups 엔드포인트를 사용합니다.

다음 쿼리 매개변수는 선택 사항입니다.

이름
유형
설명
기본값
pageNum
integer
페이지 번호(1-인덱스 기준)입니다.
1
itemsPerPage
integer
페이지당 반환할 항목 수. 최대 500개까지 가능합니다.
100
pretty
부울
응답 본문이 프리티프린트 에 있어야 하는지 여부를 나타냅니다. 형식.
false
envelope
부울

응답을 엔벨로프에 래핑할지 여부를 나타냅니다.

일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 "envelope" : true를 설정합니다.

하나의 결과를 반환하는 엔드포인트의 경우 응답 본문에는 다음이 포함됩니다.

이름
설명
status
HTTP 응답 코드
content
예상되는 응답 본문

결과 목록을 반환하는 엔드포인트의 경우 results 객체는 엔벨로프입니다. Cloud Manager가 status 필드를 응답 본문에 추가합니다.

none

모든 본문 매개변수는 필수입니다.

이름
유형
설명
name
문자열
서비스 계정의 이름입니다. 허용되는 문자는 A-Z, a-z, 0-9, 공백, 마침표 ., 아포스트로피 ', 쉼표 ,, 밑줄 _ 및 대시 - 입니다.
description
문자열
서비스 계정에 대한 설명입니다. 길이는 1 ~ 250 자여야 합니다. 허용되는 문자는 A-Z, a-z, 0-9, 공백, 마침표 ., 아포스트로피 ', 쉼표 ,, 밑줄 _ 및 대시 - 입니다.
secretExpiresAfterHours
문자열
이 서비스 계정의 암호가 만료되기까지 남은 시간(시간)
roles
문자열 배열

서비스 계정이 가져야 하는 역할 목록입니다. 하나 이상의 역할 이 나열되어야 하며 모든 역할이 프로젝트에 대해 유효해야 합니다.

프로젝트 역할에는 다음이 포함됩니다.

API의 역할 값
역할
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_BILLING_ADMIN
프로젝트 청구 관리자
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
이름
유형
설명
clientId
문자열
서비스 계정의 고유 식별자입니다.
createdAt
timestamp
서비스 계정 생성 시간입니다.
name
문자열
서비스 계정의 이름입니다.
description
문자열
서비스 계정에 대한 설명입니다.
roles
문자열 배열

서비스 계정이 프로젝트 에서 갖는 역할 목록입니다.

프로젝트 역할에는 다음이 포함됩니다.

secrets
객체 배열
서비스 계정 비밀 목록입니다.
secrets.id
문자열
고유한 24-시크릿을 식별하는 16진수 문자열입니다.string
secrets.createdAt
timestamp
시크릿 생성 시간을 나타내는 타임스탬프입니다.
secrets.expiresAt
timestamp
시크릿 만료 시간을 나타내는 타임스탬프입니다.
secrets.secret
문자열
서비스 계정 비밀번호는 생성 시에만 사용할 수 있습니다.

참고

요청 하는 사용자는 {PUBLIC-KEY}:{PRIVATE-KEY} 형식으로 지정할 수 있습니다.

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --include \
5 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts?pretty=true" \
6 --data '{
7 "name" : "Cloud Manager service account",
8 "description" : "Service account for Cloud Manager users.",
9 "secretExpiresAfterHours" : "3600",
10 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"]
11 }'
HTTP/1.1 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
HTTP/1.1 201 Created
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}

참고

secret 는 응답 본문에서 수정되지 않았습니다. 이 예시 는 보안을 위해 수정되었습니다.

1{
2 "createdAt" : "2024-08-03T14:02:40Z",
3 "description" : "Service account for Cloud Manager users.",
4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144",
5 "name" : "Cloud Manager service account",
6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN" ],
7 "secrets" : [ {
8 "createdAt" : "2024-08-03T14:02:40Z",
9 "expiresAt" : "2024-12-31T14:02:40Z",
10 "id" : "66ae38803cdf55582cb01143",
11 "secret" : "mdb_sa_sk_...hcOL"
12 } ]
13}

돌아가기

프로젝트 서비스 계정 하나 가져오기