API 키 생성
기본 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /orgs/{ORG-ID}/apiKeys
요청 경로 매개변수
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
이름 | 유형 | 설명 | 기본값 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | 페이지 번호(1-인덱스 기준)입니다. | 1 | ||||||
itemsPerPage | integer | 페이지당 반환할 항목 수. 최대 500개까지 가능합니다. | 100 | ||||||
pretty | 부울 | false | |||||||
envelope | 부울 | 응답을 엔벨로프에 래핑할지 여부를 나타냅니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 하나의 결과를 반환하는 엔드포인트의 경우 응답 본문에는 다음이 포함됩니다.
결과 목록을 반환하는 엔드포인트의 경우 | none |
요청 본문 매개변수
모든 본문 매개변수는 필수입니다.
이름 | 유형 | 설명 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | 문자열 | API 키에 대한 설명입니다. 길이는 1~250자 사이여야 합니다. | ||||||||||
roles | 문자열 배열 | API 키가 가져야 하는 역할 목록입니다. 하나 이상의 역할이 나열되어야 하며 모든 역할은 조직에 대해 유효해야 합니다. 조직의 역할은 다음과 같습니다.
|
응답
이름 | 유형 | 설명 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
id | 문자열 | API 키의 고유 식별자 | ||||||||||
desc | 문자열 | API 키에 대한 설명 | ||||||||||
privateKey | 문자열 | API 키의 비공개 키입니다. 이 키는 생성 시점에만 수정되지 않은 상태로 표시됩니다. | ||||||||||
publicKey | 문자열 | API 키의 공개 키 | ||||||||||
roles | 객체 배열 | API 키의 역할 | ||||||||||
roles.orgId | 문자열 | orgId 는 이 역할이 적용되는 조직을 나타냅니다. | ||||||||||
roles.roleName | 문자열 | 역할의 이름입니다.
|
요청 예시
참고
요청 하는 사용자는 {PUBLIC-KEY}:{PRIVATE-KEY}
중 하나로 형식을 지정할 수 있습니다.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys?pretty=true" \ --data '{ "desc" : "New API key for test purposes", "roles": ["ORG_MEMBER"] }'
응답 예시
응답 헤더
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}
응답 본문
참고
privateKey
는 응답 본문에서 수정되지 않은 상태로 나타납니다. 이 예는 보안을 위해 수정되었습니다.
{ "desc" : "New API key for test purposes", "id" : "{API-KEY-ID}", "links" : [ { "href" : "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}", "rel" : "self" } ], "privateKey" : "********-****-****-db2c132ca78d", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "orgId" : "{ORG-ID}", "roleName" : "ORG_MEMBER" } ] }