Modificar roles de uma chave de API da organização para 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 .
URL base: https://cloud.mongodb.com/api/public/v1.0
Resource
PATCH /groups/{PROJECT-ID}/apiKeys/{API-KEY-ID}
Parâmetros do caminho da solicitação
Nome | Tipo | Descrição |
---|---|---|
PROJECT-ID | string | Identificador único do Projeto cujas chaves de API você deseja atualizar. Use o endpoint /groups para recuperar todas as organizações para as quais o usuário autenticado tem acesso. |
API-KEY-ID | string | Identificador único da chave de API que você deseja atualizar. Solicite ao endpoint /groups/{ID do projeto}/apiKeys que recupere todas as chaves de API às quais o usuário autenticado tem acesso para a organização especificada. |
Solicitar parâmetros de query
Os seguintes parâmetros de query são opcionais:
Nome | Tipo | Descrição | Default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | inteiro | Número da página (com base em índice 1). | 1 | ||||||
itemsPerPage | inteiro | Número de itens a serem devolvidos por página, até um máximo de 500. | 100 | ||||||
pretty | booleano | Indica se o corpo da resposta deve estar em um prettyprint formato. | false | ||||||
envelope | booleano | Indica se deseja ou não envolver a resposta em um envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, configure Para endpoints que retornam um resultado, o corpo da resposta inclui:
Para endpoints que retornam uma lista de resultados, o objeto | none |
Parâmetros do corpo da solicitação
O parâmetro do corpo é obrigatório.
Nome | Tipo | necessidade | Descrição | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
roles | array de strings | Obrigatório | Lista de funções que a chave API deve receber. No mínimo, uma função deve ser fornecida. Todos os roles fornecidos devem ser válidos para o projeto atribuído:
Inclua todos os roles que você deseja que essa chave de API tenha. Quaisquer funções que não estejam nesta matriz são removidas. |
Resposta
Nome | Tipo | Descrição | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | Descrição desta chave de API da Organização atribuída a este projeto. | ||||||||||||||||||||||||||||||||||||
id | string | Identificador único para esta chave de API da Organização atribuída a este projeto. | ||||||||||||||||||||||||||||||||||||
privateKey | string | Chave privada editada para esta chave de API da Organização atribuída a este projeto. Essa chave é exibida sem edição quando criada pela primeira vez. | ||||||||||||||||||||||||||||||||||||
publicKey | string | Chave pública para esta chave de API da Organização atribuída a este projeto. | ||||||||||||||||||||||||||||||||||||
roles | array de objetos | Funções que essa chave de API da organização atribuída a esse projeto tem. Essa matriz retorna todos os papéis da organização e do projeto que o usuário tem no Cloud Manager. | ||||||||||||||||||||||||||||||||||||
roles.groupId | string | Identificador único do projeto ao qual pertence este role. | ||||||||||||||||||||||||||||||||||||
roles.orgId | string | Identificador único da organização à qual pertence esse role. | ||||||||||||||||||||||||||||||||||||
roles.roleName | string | Nome da função. Esse recurso retorna todos os roles que o usuário tem no Cloud Manager. Os valores possíveis são: Roles da organização Se esta for uma
Roles do projeto Se este for um
|
Exemplo de solicitação
Observação
O usuário que faz a solicitação pode ser formatado como {PUBLIC-KEY}:{PRIVATE-KEY}
.
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request PATCH "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys/5d1d143c87d9d63e6d694746?pretty=true" \ 6 --data '{ 7 "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ] 8 }'
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
1 { 2 "desc" : "New API key for test purposes", 3 "id" : "5d1d143c87d9d63e6d694746", 4 "links" : [ { 5 "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", 6 "rel" : "self" 7 } ], 8 "privateKey" : "********-****-****-eac4256753ba", 9 "publicKey" : "{PUBLIC-KEY}", 10 "roles" : [ { 11 "orgId" : "5980cfe20b6d97029d82fa63", 12 "roleName" : "ORG_BILLING_ADMIN" 13 }, { 14 "groupId" : "{PROJECT-ID}", 15 "roleName" : "GROUP_DATA_ACCESS_READ_WRITE" 16 }, { 17 "orgId" : "5980cfe20b6d97029d82fa63", 18 "roleName" : "ORG_MEMBER" 19 }, { 20 "groupId" : "{PROJECT-ID}", 21 "roleName" : "GROUP_READ_ONLY" 22 } ] 23 }