모든 서비스 계정 가져오기
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할서비스 계정을 만듭니다.
기본 URL: https://cloud.mongodb.com/api/public/v1.0
Resource
GET /orgs/{ORG-ID}/serviceAccounts
요청 경로 매개변수
이름 | 유형 | 설명 |
---|---|---|
| 문자열 | 조회 하려는 서비스 계정이 있는 조직 의 고유 식별자입니다. 인증된 사용자가 액세스 있는 모든 조직을 조회 하려면 /orgs 엔드포인트를 사용합니다. |
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
이름 | 유형 | 설명 | 기본값 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | 페이지 번호(1-인덱스 기준)입니다. |
| ||||||
itemsPerPage | integer | 페이지당 반환할 항목 수. 최대 500개까지 가능합니다. |
| ||||||
pretty | 부울 |
| |||||||
envelope | 부울 | 응답을 엔벨로프에 래핑할지 여부를 나타냅니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 하나의 결과를 반환하는 엔드포인트의 경우 응답 본문에는 다음이 포함됩니다.
결과 목록을 반환하는 엔드포인트의 경우 | none |
응답
응답 문서
응답 JSON 문서에는 result 객체 배열, link 객체 배열, 조회된 result 객체의 총 개수가 포함되어 있습니다.
이름 | 유형 | 설명 |
---|---|---|
| 배열 | 배열에는 내장된 |
| 배열 | 배열에 하위 리소스 및/또는 관련 리소스에 대한 링크가 하나 이상 포함되어 있습니다. URL간의 관계는 웹 링크 사양에설명되어 있습니다. |
| 숫자 | 결과 집합에 있는 총 항목 수의 정수 개수입니다. 전체 결과 집합이 페이지로 매겨진 경우 results 배열의 객체 수보다 클 수 있습니다. |
results
embeddedDocument
각 결과는 하나의 서비스 계정입니다.
이름 | 유형 | 설명 |
---|---|---|
| 문자열 | 서비스 계정의 고유 식별자입니다. |
| 문자열 | 서비스 계정에 대한 설명입니다. 허용되는 문자는 |
| 문자열 | 서비스 계정의 이름입니다. 허용되는 문자는 |
| timestamp | 서비스 계정 생성 시간입니다. |
| 객체 배열 | 서비스 계정 비밀 목록입니다. |
| 문자열 | 고유한 24-시크릿을 식별하는 16진수 문자열입니다.string |
| 문자열 | 서비스 계정 비밀번호는 생성 시에만 사용할 수 있습니다. |
| 문자열 | 접두사와 마지막 4자만 표시하는 마스킹된 시크릿입니다. |
| timestamp | 시크릿 생성 시간을 나타내는 타임스탬프입니다. |
| timestamp | 마지막 시크릿 사용량을 나타내는 타임스탬프입니다. |
| timestamp | 시크릿 만료 시간을 나타내는 타임스탬프입니다. |
| 객체 배열 | 서비스 계정이 조직 에서 갖는 역할입니다. 조직의 역할은 다음과 같습니다. |
요청 예시
참고
요청 하는 사용자는 {PUBLIC-KEY}:{PRIVATE-KEY}
형식으로 지정할 수 있습니다.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request GET "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true"
응답 예시
응답 헤더
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}
응답 본문
{ "links": [ { "href": "https://cloud.mongodb.com/api/public/v1.0/orgs/1234567890abcdef12345678/serviceAccounts?pretty=true&pageNum=1&itemsPerPage=3", "rel": "self" } ], "results": [ { "createdAt": "2024-04-23T20:36:22Z", "description": "Service account for development team", "clientId": "mdb_sa_id_001", "name": "dev-team-sa", "roles": ["ORG_OWNER"], "secrets": [ { "createdAt": "2024-04-23T20:36:22Z", "expiresAt": "2024-12-01T00:00:00Z", "id": "secret_id_001", "lastUsedAt": "2024-04-23T20:49:19Z", "maskedSecretValue": "mdb_sa_sk_…OEyV" } ] }, { "createdAt": "2024-05-31T17:27:05Z", "description": "Service account for billing operations", "clientId": "mdb_sa_id_002", "name": "billing-sa", "roles": ["ORG_BILLING_ADMIN"], "secrets": [ { "createdAt": "2024-05-31T17:27:05Z", "expiresAt": "2025-05-31T17:27:05Z", "id": "secret_id_002", "maskedSecretValue": "mdb_sa_sk_…OTyG" } ] }, { "createdAt": "2024-06-04T18:31:42Z", "description": "Service account for project management", "clientId": "mdb_sa_id_003", "name": "project-mgmt-sa", "roles": ["ORG_MEMBER"], "secrets": [ { "createdAt": "2024-06-04T18:31:42Z", "expiresAt": "2024-09-02T18:31:42Z", "id": "secret_id_003", "maskedSecretValue": "mdb_sa_sk_…OWyP" } ] } ], "totalCount": 3 }