1๋ช ์ ์ฌ์ฉ์์ ๋ํด ํ๋ก์ ํธ ์ญํ ์ ๋ฐ์ดํธ
์ด ํ์ด์ง์ ๋ด์ฉ
- Cloud Manager ์ ๋ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ์ก์ธ์ค ๋ฅผ ์ํ OAuth 2.0 ์ธ์ฆ ์ Preview ๊ธฐ๋ฅ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ๊ธฐ๋ฅ ๋ฐ ํด๋น ์ค๋ช ์๋ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๊ธฐ๊ฐ์ ์ธ์ ๋ ์ง ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. OAuth 2.0 ์ธ์ฆ ์ ์ฌ์ฉํ๋ ค๋ฉด Cloud Manager ๊ณต๊ฐ API ์ ๋ํ ์์ฒญ์ ์ฌ์ฉํ ์๋น์ค ๊ณ์ ์ ๋ง๋ญ๋๋ค.
์ง์ ๋ ํ๋ก์ ํธ ์์ ํ ์ฌ์ฉ์์ ์ญํ ์ ์
๋ฐ์ดํธํฉ๋๋ค. ์
๋ฐ์ดํธ ํ ์ฌ์ฉ์๋ฅผ ์ง์ ํ๋ ค๋ฉด 24 string ์ง์ ๋ ํ๋ก์ ํธ ์์ ์ฌ์ฉ์๋ฅผ ์๋ณํ๋ ๊ณ ์ ํ -16์ง์ ๋ฌธ์์ด์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฆฌ์์ค ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์์ฒญํ๋ API ํค์ ์ญํ ์ด ์์ด์ผ Project User Admin
ํฉ๋๋ค.
๊ธฐ๋ณธ URL: https://cloud.mongodb.com/api/public/v1.0
Resource
PUT /groups/{PROJECT-ID}/users/{USER-ID}/roles
์์ฒญ ๋งค๊ฐ๋ณ์
์์ฒญ ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
ํ๋ก์ ํธ ID | ๋ฌธ์์ด | (ํ์ ์ฌํญ) ํ๋ก์ ํธ ๋ฅผ ์๋ณํ๋ ๊ณ ์ ํ 24-16์ง์ string ์
๋๋ค. |
USER-ID | ๋ฌธ์์ด | (ํ์ ์ฌํญ) ์์ ํ ์ฌ์ฉ์๋ฅผ ์๋ณํ๋ ๊ณ ์ ํ 24-16์ง์ string ์
๋๋ค. |
์์ฒญ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์
๋ค์ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
์ด๋ฆ | ์ ํ | ํ์์ฑ | ์ค๋ช
| ๊ธฐ๋ณธ๊ฐ | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | ๋ถ์ธ | ์ต์
| false | |||||||
envelope | ๋ถ์ธ | ์ต์
| ์๋ต์ ์๋ฒจ๋กํ์ ๋ํํ ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค. ์ผ๋ถ API ํด๋ผ์ด์ธํธ๋ HTTP ์๋ต ํค๋ ๋๋ ์ํ ์ฝ๋์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฟผ๋ฆฌ์์ envelope=true๋ฅผ ์ค์ ํฉ๋๋ค. ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์๋ํฌ์ธํธ์ ๊ฒฝ์ฐ ์๋ต ๋ณธ๋ฌธ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
| false |
์์ฒญ ๋ณธ๋ฌธ ๋งค๊ฐ๋ณ์
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
groupRoles | ๋ฐฐ์ด | ์ฌ์ฉ์์ ์ญํ ์ ์ค๋ช
ํ๋ ๊ฐ์ฒด ๋ชฉ๋ก์
๋๋ค. |
์๋ต
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
groupRoles | ๋ฐฐ์ด | ์ฌ์ฉ์์ ์ญํ ์ ์ค๋ช
ํ๋ ๊ฐ์ฒด ๋ชฉ๋ก์
๋๋ค. |
์์ฒญ ์์
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --include \ --request PUT "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/users/{USER-ID}/roles" \ --data ' { "groupRoles": ["GROUP_OWNER", "GROUP_USER_ADMIN", "GROUP_READ_ONLY"] }'
์๋ต ์์
์๋ต ํค๋
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}
์๋ต ๋ณธ๋ฌธ
{ "groupRoles": [ "GROUP_OWNER", "GROUP_USER_ADMIN", "GROUP_READ_ONLY" ] }