Adicionar usuários existentes a um projeto
Nesta página
- A autenticação OAuth 2.0 para acesso programático ao Cloud Manager está disponível como um recurso de visualização.
- O recurso e a documentação correspondente podem mudar a qualquer momento durante o período de Pré-visualização. Para usar a 2.0 autenticação OAuth, crie uma conta de serviço para usar em suas solicitações para a API pública do Cloud Manager .
Observação
Grupos e projetos são termos sinônimos. Seu {PROJECT-ID}
é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. Esta página usa o grupo de termos mais conhecido ao se referir às descrições. O ponto final permanece conforme indicado no documento.
Este recurso adiciona usuários que existem no Cloud Manager a outro projeto. Ele não cria novos usuários e os adiciona a um projeto. Por padrão, os usuários primeiro recebem um convite para o projeto. Você pode adicionar usuários diretamente a um projeto somente se definir a configuração mms.user.bypassInviteForExistingUsers
como true
.
URL base: https://cloud.mongodb.com/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/users
Parâmetros da solicitação
Parâmetros do caminho da solicitação
Parâmetro | Tipo | Descrição |
---|---|---|
ID do projeto | string | (Obrigatório.) O identificador exclusivo do projeto. |
Solicitar parâmetros de query
Os seguintes parâmetros de query são opcionais:
Nome | Tipo | necessidade | Descrição | Default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | booleano | Opcional | Sinalizador indicando se o corpo da resposta deve estar em um prettyprint formato. |
| ||||||
envelope | booleano | Opcional | Sinalizador que indica se deseja ou não envolver a resposta em um envelope. Alguns clientes da API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na query. Para endpoints que retornam um resultado, o corpo da resposta inclui:
|
|
Parâmetros do corpo da solicitação
Nome | Tipo | Descrição |
---|---|---|
id | string | O identificador exclusivo de um usuário existente. |
roles | array de objetos | As roles às quais esse usuário é atribuído. |
roles.groupId | string | O identificador exclusivo da role do projeto. |
roles.roleName | string | O nome de exibição da função de usuário. |
Resposta
Nome | Tipo | Descrição |
---|---|---|
emailAddress | string | O endereço de e-mail do usuário do Cloud Manager . |
Nome | string | O primeiro nome exibido para o usuário do Cloud Manager retornado. |
id | string | O identificador exclusivo do usuário. |
links | array de objetos | Um ou mais links para sub-recursos e/ou recursos relacionados. Todas as arrays |
Sobrenome | string | O sobrenome exibido para o usuário do Cloud Manager retornado. |
roles | array de objetos | As roles às quais esse usuário é atribuído. |
roles.groupId | string | O identificador exclusivo da role do projeto. |
roles.roleName | string | O nome de exibição da função de usuário. |
nome de usuário | string | O nome de usuário do Cloud Manager. |
Exemplo de solicitação
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" }] } ]'
Observação
Você deve enviar uma array de entidades, mesmo se adicionar um único usuário. Para cada usuário que você deseja adicionar, especifique o ID do usuário e os roles que o usuário deve ter. Para valores de role, consulte a descrição do campo roles.roleName
no recurso de usuários.
Se você especificar um usuário que já é membro do projeto, seus roles existentes serão substituídos pelas permissões especificadas.
Exemplo de resposta
Cabeçalho de resposta
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}
Corpo de resposta
{ "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 }