1๊ฐ์ ํ๋ก์ ํธ์ ํ ๋น๋ ๋ชจ๋ ์กฐ์ง API ํค ๊ฐ์ ธ์ค๊ธฐ
์ด ํ์ด์ง์ ๋ด์ฉ
๊ธฐ๋ณธ URL: https://cloud.mongodb.com/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/apiKeys
์์ฒญ ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
PROJECT-ID | ๋ฌธ์์ด | ํ ๋น๋ ์กฐ์ง API ํค๋ฅผ ๊ฒ์ํ๋ ค๋ ํ๋ก์ ํธ์ ๊ณ ์ ์๋ณ์์
๋๋ค. /groups ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์ก์ธ์คํ ์ ์๋ ๋ชจ๋ ํ๋ก์ ํธ๋ฅผ ๊ฒ์ํฉ๋๋ค. |
์์ฒญ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์
๋ค์ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
์ด๋ฆ | ์ ํ | ์ค๋ช
| ๊ธฐ๋ณธ๊ฐ | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ํ์ด์ง ๋ฒํธ(1-์ธ๋ฑ์ค ๊ธฐ์ค)์
๋๋ค. | 1 | ||||||
itemsPerPage | integer | ํ์ด์ง๋น ๋ฐํํ ํญ๋ชฉ ์. ์ต๋ 500๊ฐ๊น์ง ๊ฐ๋ฅํฉ๋๋ค. | 100 | ||||||
pretty | ๋ถ์ธ | false | |||||||
envelope | ๋ถ์ธ | ์๋ต์ ์๋ฒจ๋กํ์ ๋ํํ ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. ์ผ๋ถ API ํด๋ผ์ด์ธํธ๋ HTTP ์๋ต ํค๋ ๋๋ ์ํ ์ฝ๋์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฟผ๋ฆฌ์์ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์๋ํฌ์ธํธ์ ๊ฒฝ์ฐ ์๋ต ๋ณธ๋ฌธ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
๊ฒฐ๊ณผ ๋ชฉ๋ก์ ๋ฐํํ๋ ์๋ํฌ์ธํธ์ ๊ฒฝ์ฐ | none |
์์ฒญ ๋ณธ๋ฌธ ๋งค๊ฐ๋ณ์
์ด ์๋ํฌ์ธํธ๋ HTTP ์์ฒญ ๋ณธ๋ฌธ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
์๋ต
์๋ต ๋ฌธ์
์๋ต JSON ๋ฌธ์์๋ result ๊ฐ์ฒด ๋ฐฐ์ด, link ๊ฐ์ฒด ๋ฐฐ์ด, ์กฐํ๋ result ๊ฐ์ฒด์ ์ด ๊ฐ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
results | ๋ฐฐ์ด | ๋ฐฐ์ด์๋ results ๋ด์ฅ๋ ๋ฌธ์ ์น์
์ ์์ธํ ์ค๋ช
๋ ๊ฐ ํญ๋ชฉ์ ๋ํด ํ๋์ ๊ฐ์ฒด๊ฐ ํฌํจ๋ฉ๋๋ค. |
links | ๋ฐฐ์ด | ๋ฐฐ์ด์ ํ์ ๋ฆฌ์์ค ๋ฐ/๋๋ ๊ด๋ จ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ๊ฐ ํ๋ ์ด์ ํฌํจ๋์ด ์์ต๋๋ค. URL๊ฐ์ ๊ด๊ณ๋ ์น ๋งํฌ ์ฌ์์์ค๋ช
๋์ด ์์ต๋๋ค. |
totalCount | ์ซ์ | ๊ฒฐ๊ณผ ์งํฉ์ ์๋ ์ด ํญ๋ชฉ ์์ ์ ์ ๊ฐ์์
๋๋ค. ์ ์ฒด ๊ฒฐ๊ณผ ์งํฉ์ด ํ์ด์ง๋ก ๋งค๊ฒจ์ง ๊ฒฝ์ฐ results ๋ฐฐ์ด์ ๊ฐ์ฒด ์๋ณด๋ค ํด ์ ์์ต๋๋ค. |
results
embeddedDocument
๊ฐ ๊ฒฐ๊ณผ ๋ ํ๋์ ํ๋ก์ ํธ API ํค์ ๋๋ค.
์ด๋ฆ | ์ ํ | ์ค๋ช
| ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | ๋ฌธ์์ด | ์ด ํ๋ก์ ํธ์ ํ ๋น๋ ์ด ์กฐ์ง API ํค์ ๋ํ ์ค๋ช
์
๋๋ค. | ||||||||||||||||||||||||||||||||||
id | ๋ฌธ์์ด | ์ด ํ๋ก์ ํธ์ ํ ๋น๋ ์ด ์กฐ์ง API ํค์ ๊ณ ์ ์๋ณ์์
๋๋ค. | ||||||||||||||||||||||||||||||||||
privateKey | ๋ฌธ์์ด | ์ด ํ๋ก์ ํธ์ ํ ๋น๋ ์ด ์กฐ์ง API ํค์ ์์ ๋ ๋น๊ณต๊ฐ ํค์ ๋๋ค. ์ด ํค๋ ์ฒ์ ์์ฑ๋ ๋ ์์ ๋์ง ์์ ์ํ๋ก ํ์๋ฉ๋๋ค. | ||||||||||||||||||||||||||||||||||
publicKey | ๋ฌธ์์ด | ์ด ํ๋ก์ ํธ์ ํ ๋น๋ ์ด ์กฐ์ง API ํค์ ๊ณต๊ฐ ํค์
๋๋ค. | ||||||||||||||||||||||||||||||||||
roles | ๊ฐ์ฒด ๋ฐฐ์ด | ์ด ํ๋ก์ ํธ์ ํ ๋น๋ ์กฐ์ง API ํค๊ฐ ๊ฐ๋ ์ญํ ์
๋๋ค. ์ด ๋ฐฐ์ด์ ์ฌ์ฉ์๊ฐ Cloud Manager์์ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ์กฐ์ง ๋ฐ ํ๋ก์ ํธ ์ญํ ์ ๋ฐํํฉ๋๋ค. | ||||||||||||||||||||||||||||||||||
roles.groupId | ๋ฌธ์์ด | ์ด ์ญํ ์ด ์ํ ํ๋ก์ ํธ์ ๊ณ ์ ์๋ณ์์
๋๋ค. | ||||||||||||||||||||||||||||||||||
roles.orgId | ๋ฌธ์์ด | ์ด ์ญํ ์ด ์ํ ์กฐ์ง์ ๊ณ ์ ์๋ณ์์
๋๋ค. | ||||||||||||||||||||||||||||||||||
roles.roleName | ๋ฌธ์์ด | ์ญํ ์ ์ด๋ฆ์ ๋๋ค. ์ด ๋ฆฌ์์ค๋ ์ฌ์ฉ์๊ฐ Cloud Manager์์ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ์ญํ ์ ๋ฐํํฉ๋๋ค. ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์กฐ์ง ์ญํ
ํ๋ก์ ํธ ์ญํ
|
์์ฒญ ์์
์ฐธ๊ณ
์์ฒญํ๋ ์ฌ์ฉ์๋ {PUBLIC-KEY}:{PRIVATE-KEY}
ํ์์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค.
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --include \ 4 --request GET "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?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}
์๋ต ๋ณธ๋ฌธ
1 { 2 "links" : [ { 3 "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?pretty=true&pageNum=1&itemsPerPage=100", 4 "rel" : "self" 5 } ], 6 "results" : [ { 7 "desc" : "Updated API Key description for DOCSP-6042", 8 "id" : "5d1cf1f980eef570c9fc87e5", 9 "links" : [ { 10 "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1cf1f980eef570c9fc87e5", 11 "rel" : "self" 12 } ], 13 "privateKey" : "********-****-****-9d4ae38e4ddd", 14 "publicKey" : "{PUBLIC-KEY}", 15 "roles" : [ { 16 "groupId" : "{PROJECT-ID}", 17 "roleName" : "GROUP_AUTOMATION_ADMIN" 18 }, { 19 "groupId" : "{PROJECT-ID}", 20 "roleName" : "GROUP_MONITORING_ADMIN" 21 }, { 22 "orgId" : "5980cfe20b6d97029d82fa63", 23 "roleName" : "ORG_MEMBER" 24 }, { 25 "orgId" : "5980cfe20b6d97029d82fa63", 26 "roleName" : "ORG_BILLING_ADMIN" 27 }, { 28 "groupId" : "{PROJECT-ID}", 29 "roleName" : "GROUP_DATA_ACCESS_ADMIN" 30 }, { 31 "groupId" : "{PROJECT-ID}", 32 "roleName" : "GROUP_USER_ADMIN" 33 }, { 34 "groupId" : "{PROJECT-ID}", 35 "roleName" : "GROUP_READ_ONLY" 36 }, { 37 "groupId" : "{PROJECT-ID}", 38 "roleName" : "GROUP_OWNER" 39 }, { 40 "orgId" : "5980cfe20b6d97029d82fa63", 41 "roleName" : "ORG_OWNER" 42 }, { 43 "groupId" : "{PROJECT-ID}", 44 "roleName" : "GROUP_DATA_ACCESS_READ_WRITE" 45 }, { 46 "orgId" : "5980cfe20b6d97029d82fa63", 47 "roleName" : "ORG_GROUP_CREATOR" 48 }, { 49 "orgId" : "5980cfe20b6d97029d82fa63", 50 "roleName" : "ORG_READ_ONLY" 51 }, { 52 "groupId" : "{PROJECT-ID}", 53 "roleName" : "GROUP_DATA_ACCESS_READ_ONLY" 54 }, { 55 "groupId" : "{PROJECT-ID}", 56 "roleName" : "GROUP_BACKUP_ADMIN" 57 }, { 58 "groupId" : "{PROJECT-ID}", 59 "roleName" : "GROUP_CLUSTER_MANAGER" 60 } ] 61 }, { 62 "desc" : "New API key for test purposes", 63 "id" : "5d1d12c087d9d63e6d682438", 64 "links" : [ { 65 "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d12c087d9d63e6d682438", 66 "rel" : "self" 67 } ], 68 "privateKey" : "********-****-****-cb34f12aafdb", 69 "publicKey" : "oxhzytwb", 70 "roles" : [ { 71 "groupId" : "{PROJECT-ID}", 72 "roleName" : "GROUP_READ_ONLY" 73 }, { 74 "orgId" : "5980cfe20b6d97029d82fa63", 75 "roleName" : "ORG_MEMBER" 76 }, { 77 "orgId" : "5980cfe20b6d97029d82fa63", 78 "roleName" : "ORG_BILLING_ADMIN" 79 } ] 80 } ], 81 "totalCount" : 2 82 }