将现有用户添加到一个项目
2024 年 8 月 30 日以后,Cloud Manager 将不再支持 MongoDB 3.6 和 4.0 的自动化、备份和监控。请升级您的 MongoDB 部署或迁移到 Atlas。
注意
注意:群组和项目是同义词。您的 {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
请求参数
请求路径参数
Parameter | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | (必需。) 项目的唯一标识符。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 必要性 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否应采用 美观打印 的标志 格式。 | false | ||||||
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
| false |
请求正文参数
名称 | 类型 | 说明 |
---|---|---|
id | 字符串 | 现有用户的唯一标识符。 |
角色 | 对象数组 | 为该用户分配的角色。 |
roles.groupId | 字符串 | 项目角色的唯一标识符。 |
roles.roleName | 字符串 | 用户角色的显示名称。 |
响应
名称 | 类型 | 说明 |
---|---|---|
邮箱 | 字符串 | Cloud Manager用户的电子邮件解决。 |
名 | 字符串 | 为返回的Cloud Manager用户显示的名字。 |
id | 字符串 | 用户的唯一标识符。 |
链接 | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
姓 | 字符串 | 为返回的Cloud Manager用户显示的姓氏。 |
角色 | 对象数组 | 为该用户分配的角色。 |
roles.groupId | 字符串 | 项目角色的唯一标识符。 |
roles.roleName | 字符串 | 用户角色的显示名称。 |
用户名 | 字符串 | 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" }] } ]'
注意
即使添加单个用户,也必须发送实体数组。 对于要添加的每个用户,请指定用户 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 }