Criar e atribuir uma chave de API da organização a um projeto
Nesta página
Todas as solicitações para esse endpoint devem ser originadas de um IP endereço na MongoDB Ops Manager API lista de acesso à do usuário do . Para obter a documentação completa sobre a configuração de listas de acesso à API, consulte Exigir uma lista de acesso à API para sua organização.
URL base: https://{OPSMANAGER-HOST}:{PORT}/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 roles de organização e projeto que o usuário tem no Ops 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 Ops 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 {USERNAME}:{APIKEY}
ou {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://<OpsManagerHost>:<Port>/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://<OpsManagerHost>:<Port>/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 }