1개의 프로젝트 서비스 계정에 대한 액세스 목록 항목 만들기
Cloud Manager는 2024년 8월 30일부터 더 이상 MongoDB 3.6 및 4.0에 대한 자동화, 백업 및 모니터링을 지원하지 않습니다. MongoDB 배포를 업그레이드하거나 Atlas로 마이그레이션하세요.
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할서비스 계정을 만듭니다.
기본 URL: https://cloud.mongodb.com/api/public/v1.0
지정된 서비스 계정에대해 하나 이상의 새 액세스 목록 항목을 만듭니다.
Resource
POST /groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}/accessList
요청 경로 매개변수
이름 | 유형 | 설명 |
---|---|---|
PROJECT-ID | 문자열 | 대상 서비스 계정이 속한 프로젝트의 고유 식별자입니다. 인증된 사용자가 액세스 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다. |
CLIENT-ID | 문자열 | 시크릿을 생성하려는 서비스 계정의 고유 식별자입니다. /groups/{PROJECT- ID }/serviceAccounts 엔드포인트를 사용하여 지정된 프로젝트에 대해 인증된 사용자가 액세스 있는 모든 서비스 계정을 조회 합니다. |
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
이름 | 유형 | 설명 | 기본값 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | 페이지 번호(1-인덱스 기준)입니다. | 1 | ||||||
itemsPerPage | integer | 페이지당 반환할 항목 수. 최대 500개까지 가능합니다. | 100 | ||||||
pretty | 부울 | false | |||||||
envelope | 부울 | 응답을 엔벨로프에 래핑할지 여부를 나타냅니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 하나의 결과를 반환하는 엔드포인트의 경우 응답 본문에는 다음이 포함됩니다.
결과 목록을 반환하는 엔드포인트의 경우 | none |
요청 본문 매개변수
각 문서는 프로젝트에 추가하려는 하나의 액세스 목록 항목을 나타내는 문서 배열을 지정합니다. 단일 액세스 목록 항목만 프로젝트에 연결하는 경우에도 배열을 지정해야 합니다.
액세스 목록에 아직 없는 ipAddress
또는 cidrBlock
값이 포함된 POST
요청 을 제출 하면 Cloud Manager 가 액세스 목록의 기존 항목 목록에 해당 항목을 추가합니다. Cloud Manager 는 요청 에 지정된 항목만 포함하도록 액세스 목록을 설정하다 하지 않습니다.
다음 표에서 [i]
배열 인덱스를 나타냅니다.
이름 | 유형 | 설명 |
---|---|---|
[i].ipAddress | 문자열 | 서비스 계정의 액세스 목록에 추가할 IP 주소 입니다. 이 필드 는 cidrBlock 필드 와 상호 배타적입니다. |
[i].cidrBlock | 문자열 | 서비스 계정에 추가할 CIDR 표기법의 액세스 목록 항목입니다. 이 필드 는 ipAddress 필드 와 상호 배타적입니다. |
응답
응답 문서
응답 JSON 문서에는 result 객체 배열, link 객체 배열, 조회된 result 객체의 총 개수가 포함되어 있습니다.
이름 | 유형 | 설명 |
---|---|---|
results | 배열 | 배열에는 results 내장된 문서 섹션에 자세히 설명된 각 항목에 대해 하나의 객체가 포함됩니다. |
links | 배열 | 배열에 하위 리소스 및/또는 관련 리소스에 대한 링크가 하나 이상 포함되어 있습니다. URL간의 관계는 웹 링크 사양에설명되어 있습니다. |
totalCount | 숫자 | 결과 집합에 있는 총 항목 수의 정수 개수입니다. 전체 결과 집합이 페이지로 매겨진 경우 results 배열의 객체 수보다 클 수 있습니다. |
results
embeddedDocument
results
배열 내의 각 객체는 하나의 액세스 목록 항목입니다.
이름 | 유형 | 설명 |
---|---|---|
cidrBlock | 문자열 | 액세스 목록에 있는 CIDR로 표기된 IP 주소 범위입니다. |
requestCount | 숫자 | 이 IP 주소에서 발생한 총 요청 수입니다. |
createdAt | 날짜 | 이 IP 주소가 액세스 목록에 추가된 날짜입니다. |
ipAddress | 문자열 | 액세스 목록에 있는 IP 주소입니다. |
lastUsedAt | 날짜 | 이 IP 주소에서 시작된 가장 최근 요청의 날짜입니다. 이 필드는 이 IP 주소에서 하나 이상의 요청이 발생한 경우에만 표시되며 액세스 목록에서 리소스가 검색될 때만 업데이트됩니다. |
lastUsedAddress | 문자열 | API에 대한 마지막 호출이 실행된 IP 주소입니다. 이 필드는 이 IP 주소에서 요청이 하나 이상 발생한 경우에만 표시됩니다. |
요청 예시
1 curl --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/{CLIENT-ID}/accessList?pretty=true" \ 6 --data ' 7 [{ 8 "ipAddress" : "77.54.32.11" 9 }]'
응답 예시
응답 헤더
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
200 OK 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}
응답 본문
1 { 2 "links" : [ { 3 "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}/accessList?pretty=true&pageNum=1&itemsPerPage=100", 4 "rel" : "self" 5 } ], 6 "results" : [ { 7 "cidrBlock" : "206.252.195.126/32", 8 "requestCount" : 47, 9 "createdAt" : "2019-01-24T16:26:37Z", 10 "ipAddress" : "206.252.195.126", 11 "lastUsed" : "2019-01-25T16:32:47Z", 12 "lastUsedAddress" : "206.252.195.126" 13 14 } ], 15 "totalCount" : 1 16 }