1๊ฐ์ ํ๋ก์ ํธ์ ๊ธฐ์กด ์ฌ์ฉ์ ์ถ๊ฐ
์ด ํ์ด์ง์ ๋ด์ฉ
์ฐธ๊ณ
๊ทธ๋ฃน๊ณผ ํ๋ก์ ํธ๋ ๋์์ด์
๋๋ค. {PROJECT-ID}
๋ ํ๋ก์ ํธ ID์ ๋์ผํฉ๋๋ค. ๊ธฐ์กด ๊ทธ๋ฃน์ ๊ฒฝ์ฐ, ๊ทธ๋ฃน/ํ๋ก์ ํธ ID๋ ๋์ผํ๊ฒ ์ ์ง๋ฉ๋๋ค. ์ด ํ์ด์ง์์๋ ์ค๋ช
์ ๋ํด ์๊ธฐํ ๋ ๋์ฑ ์น์ํ ์ฉ์ด ๊ทธ๋ฃน์ ์ฌ์ฉํฉ๋๋ค. ์๋ํฌ์ธํธ๋ ๋ฌธ์์ ๋ช
์๋ ๋๋ก ์ ์ง๋ฉ๋๋ค.
์ด ๋ฆฌ์์ค ๋ MongoDB Ops Manager ์ ์๋ ์ฌ์ฉ์๋ฅผ ๋ค๋ฅธ ํ๋ก์ ํธ ์ ์ถ๊ฐํฉ๋๋ค. ์ ์ฌ์ฉ์๋ฅผ ์์ฑํ์ฌ ํ๋ก์ ํธ ์ ์ถ๊ฐํ์ง๋ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ์ผ๋ก ์ฌ์ฉ์๋ ๋จผ์ ํ๋ก์ ํธ ์ ๋ํ ์ด๋๋ฅผ ๋ฐ์ต๋๋ค. mms.user.bypassInviteForExistingUsers
์ค์ ์ true
๋ก ์ค์ ํ๋ค ํ ๊ฒฝ์ฐ์๋ง ํ๋ก์ ํธ ์ ์ง์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/users
์์ฒญ ๋งค๊ฐ๋ณ์
์์ฒญ ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์
Parameter | ์ ํ | ์ค๋ช
|
---|---|---|
ํ๋ก์ ํธ ID | ๋ฌธ์์ด | (ํ์ ์ฌํญ) ํ๋ก์ ํธ์ ๊ณ ์ ์๋ณ์์
๋๋ค. |
์์ฒญ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์
๋ค์ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
์ด๋ฆ | ์ ํ | ํ์์ฑ | ์ค๋ช
| ๊ธฐ๋ณธ๊ฐ | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | ๋ถ์ธ | ์ต์
| false | |||||||
envelope | ๋ถ์ธ | ์ต์
| ์๋ต์ ์๋ฒจ๋กํ์ ๋ํํ ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค. ์ผ๋ถ API ํด๋ผ์ด์ธํธ๋ HTTP ์๋ต ํค๋ ๋๋ ์ํ ์ฝ๋์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฟผ๋ฆฌ์์ envelope=true๋ฅผ ์ค์ ํฉ๋๋ค. ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์๋ํฌ์ธํธ์ ๊ฒฝ์ฐ ์๋ต ๋ณธ๋ฌธ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
| false |
์์ฒญ ๋ณธ๋ฌธ ๋งค๊ฐ๋ณ์
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
id | ๋ฌธ์์ด | ๊ธฐ์กด ์ฌ์ฉ์์ ๊ณ ์ ์๋ณ์์
๋๋ค. |
roles | ๊ฐ์ฒด ๋ฐฐ์ด | ์ด ์ฌ์ฉ์์๊ฒ ํ ๋น๋ ์ญํ ์
๋๋ค. |
roles.groupId | ๋ฌธ์์ด | ํ๋ก์ ํธ ์ญํ ์ ๊ณ ์ ์๋ณ์์
๋๋ค. |
roles.roleName | ๋ฌธ์์ด | ์ฌ์ฉ์ ์ญํ ์ ํ์ ์ด๋ฆ์
๋๋ค. |
์๋ต
์ด๋ฆ | ์ ํ | ์ค๋ช
|
---|---|---|
์ด๋ฉ์ผ ์ฃผ์ | ๋ฌธ์์ด | Ops Manager ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์์
๋๋ค. |
์ด๋ฆ | ๋ฌธ์์ด | ๋ฐํ๋ Ops Manager ์ฌ์ฉ์์ ํ์๋๋ ์ด๋ฆ์
๋๋ค. |
id | ๋ฌธ์์ด | ์ฌ์ฉ์์ ๊ณ ์ ์๋ณ์์
๋๋ค. |
๋งํฌ | ๊ฐ์ฒด ๋ฐฐ์ด | ํ์ ๋ฆฌ์์ค ๋ฐ/๋๋ ๊ด๋ จ ๋ฆฌ์์ค์ ๋ํ ํ๋ ์ด์์ ๋งํฌ์
๋๋ค. ์๋ต์ ๋ชจ๋ |
์ฑ | ๋ฌธ์์ด | ๋ฐํ๋ Ops Manager ์ฌ์ฉ์์ ํ์๋๋ ์ฑ์
๋๋ค. |
roles | ๊ฐ์ฒด ๋ฐฐ์ด | ์ด ์ฌ์ฉ์์๊ฒ ํ ๋น๋ ์ญํ ์
๋๋ค. |
roles.groupId | ๋ฌธ์์ด | ํ๋ก์ ํธ ์ญํ ์ ๊ณ ์ ์๋ณ์์
๋๋ค. |
roles.roleName | ๋ฌธ์์ด | ์ฌ์ฉ์ ์ญํ ์ ํ์ ์ด๋ฆ์
๋๋ค. |
์ฌ์ฉ์ ์ด๋ฆ | ๋ฌธ์์ด | Ops Manager ์ฌ์ฉ์ ์ด๋ฆ์
๋๋ค. |
์์ฒญ ์์
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://{opsManagerHost}:{port}/api/public/v1.0/groups/{PROJECT-ID}/users?pretty=true" \ --data ' [ { "id": "{USER-ID}", "roles": [{ "roleName": "GROUP_OWNER" }] } ]'
์ฐธ๊ณ
๋จ์ผ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ์๋ ์ํฐํฐ ๋ฐฐ์ด์ ๋ณด๋ด์ผ ํฉ๋๋ค. ์ถ๊ฐํ๋ ค๋ ๊ฐ ์ฌ์ฉ์์ ๋ํด ์ฌ์ฉ์ ID์ ์ฌ์ฉ์๊ฐ ๋ณด์ ํด์ผ ํ๋ ์ญํ ์ ์ง์ ํฉ๋๋ค. ์ญํ ๊ฐ์ ์ฌ์ฉ์ ๋ฆฌ์์ค์ roles.roleName
ํ๋์ ๋ํ ์ค๋ช
์ ์ฐธ์กฐํ์ธ์.
์ด๋ฏธ ํ๋ก์ ํธ ๋ฉค๋ฒ์ธ ์ฌ์ฉ์๋ฅผ ์ง์ ํ๋ฉด ํด๋น ์ฌ์ฉ์์ ๊ธฐ์กด ์ญํ ์ ์ง์ ๋ ๊ถํ์ผ๋ก ๋ฎ์ด์๋๋ค.
์๋ต ์์
์๋ต ํค๋
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" : "http://{opsManagerHost}:{port}/api/public/v1.0/groups/{PROJECT-ID}/users?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "emailAddress" : "joe.bloggs@example.com", "firstName" : "Joe", "id" : "{USER-ID}", "lastName" : "Bloggs", "links" : [ { "href" : "http://{opsManagerHost}:{port}/api/public/v1.0/users/{USER-ID}", "rel" : "self" }, { "href" : "http://{opsManagerHost}:{port}/api/public/v1.0/users/{USER-ID}/accessList", "rel" : "http://mms.mongodb.com/accessList" } ], "roles" : [ { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_OWNER" }, { "groupId" : "{OTHER-PROJECT-ID}", "roleName" : "GROUP_OWNER" } ... ], "username" : "joe.bloggs" }, { "emailAddress" : "jim.bloggs@example.com", "firstName" : "Jim", "id" : "{OTHER-USER-ID}", "lastName" : "Bloggs", "links" : [ { "href" : "http://{opsManagerHost}:{port}/api/public/v1.0/users/{OTHER-USER-ID}", "rel" : "self" }, { "href" : "http://{opsManagerHost}:{port}/api/public/v1.0/users/{OTHER-USER-ID}/accessList", "rel" : "http://mms.mongodb.com/accessList" } ], "roles" : [ { "roleName" : "GLOBAL_READ_ONLY" }, { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_OWNER" } ], "username" : "jim.bloggs" } ], "totalCount" : 2 }