既存のユーザーを 1 つのプロジェクトに追加
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
注意
グループとプロジェクトは同義語です。 あなたの {PROJECT-ID}
はプロジェクト ID と同じです。 既存のグループの場合、グループ/プロジェクト ID は同じままです。 このページでは、説明を参照するときに、より一般的な用語の グループ を使用します。 エンドポイントは ドキュメントに記載されているままです。
このリソースは、Cloud Manager に存在するユーザーを別のプロジェクトに追加します。 新しいユーザーを作成してプロジェクトに追加することはありません。 デフォルトでは、ユーザーは最初にプロジェクトへの招待を受け取ります。 mms.user.bypassInviteForExistingUsers
設定をtrue
に設定している場合にのみ、ユーザーをプロジェクトに直接追加できます。
ベース URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /groups/{PROJECT-ID}/users
Request Parameters
リクエスト パス パラメーター
Parameter | タイプ | 説明 |
---|---|---|
プロジェクトID | string | (必須。) プロジェクトの一意の識別子。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 必要性 | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | ブール値 | 任意 | レスポンス本体を pretty-print にするかどうかを示すフラグ 形式。 | false | ||||||
envelope | ブール値 | 任意 | 応答をエンベロープでラップするかどうかを示すフラグ。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリでenvelope=trueを設定します。 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
| false |
リクエスト ボディ パラメータ
名前 | タイプ | 説明 |
---|---|---|
id | string | 既存のユーザーの一意の識別子。 |
役割 | オブジェクト配列 | このユーザーが割り当てられているロール。 |
role.groupId | string | プロジェクト ロールの一意の識別子。 |
role.roleName | string | ユーザー ロールの表示名。 |
応答
名前 | タイプ | 説明 |
---|---|---|
メールアドレス | string | Cloud Manager ユーザーのメールアドレス。 |
名 | string | 返された Cloud Manager ユーザーの名。 |
id | string | ユーザーの一意の識別子。 |
Links | オブジェクト配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての |
姓 | string | 返された Cloud Manager ユーザーの姓が表示されます。 |
役割 | オブジェクト配列 | このユーザーが割り当てられているロール。 |
role.groupId | string | プロジェクト ロールの一意の識別子。 |
role.roleName | string | ユーザー ロールの表示名。 |
username | string | Cloud Manager のユーザー名。 |
リクエストの例
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/users?pretty=true" \ --data ' [ { "id": "{USER-ID}", "roles": [{ "roleName": "GROUP_OWNER" }] } ]'
注意
ユーザーを 1 人追加する場合でも、エンティティの配列を送信する必要があります。 追加するユーザーごとに、ユーザー 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" : "https://cloud.mongodb.com/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" : "https://cloud.mongodb.com/api/public/v1.0/users/{USER-ID}", "rel" : "self" }, { "href" : "https://cloud.mongodb.com/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" : "https://cloud.mongodb.com/api/public/v1.0/users/{OTHER-USER-ID}", "rel" : "self" }, { "href" : "https://cloud.mongodb.com/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 }