Criar e atribuir uma chave de API da organização 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 .
URL base: https://cloud.mongodb.com/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/apiKeys
Parâmetros do caminho da solicitação
Nome | Tipo | Descrição |
---|---|---|
PROJECT-ID | string | Identificador exclusivo do projeto cujas chaves deAPI você deseja recuperar. Use o endpoint /groups para recuperar todas as organizações às quais o usuário autenticado tem acesso. |
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
Pelo menos um dos dois parâmetros do corpo é necessário.
Nome | Tipo | Descrição | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | Descrição da chave API . Deve ter entre 1 e 250 caracteres. | ||||||||||||||||||||||
roles | array de strings | Lista de funções que a chave API precisa ter. Se a array
As funções do projeto incluem:
|
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 POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?pretty=true" \ 6 --data '{ 7 "desc" : "New API key for test purposes", 8 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"] 9 }'
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" : "********-****-****-db2c132ca78d", 9 "publicKey" : "{PUBLIC-KEY}", 10 "roles" : [ { 11 "groupId" : "{PROJECT-ID}", 12 "roleName" : "GROUP_READ_ONLY" 13 }, { 14 "groupId" : "{PROJECT-ID}", 15 "roleName" : "GROUP_DATA_ACCESS_ADMIN" 16 }, { 17 "orgId" : "5980cfe20b6d97029d82fa63", 18 "roleName" : "ORG_BILLING_ADMIN" 19 } ] 20 }