Menu Docs

Página inicial do DocsMongoDB Ops Manager

Criar e atribuir uma chave de API da organização a um projeto

Nesta página

  • Recurso
  • Parâmetros do caminho da solicitação
  • Solicitar parâmetros de query
  • Parâmetros do corpo da solicitação
  • Resposta
  • Exemplo de solicitação
  • Exemplo de resposta
  • Cabeçalho de resposta
  • Corpo de resposta

URL base: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

POST /groups/{PROJECT-ID}/apiKeys
Nome
Tipo
Descrição
PROJECT-ID
string
Identificador único do projeto cujas chaves deAPI você deseja recuperar. Use o endpoint /groups para recuperar todas as organizações para as quais o usuário autenticado tem acesso.

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
boleano
Indica se o corpo da resposta deve estar em um prettyprint formato.
false
envelope
boleano

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 "envelope" : true na query.

Para endpoints que retornam um resultado, o corpo da resposta inclui:

Status
Código de resposta HTTP
envelope
Corpo de resposta esperado

Para endpoints que retornam uma lista de resultados, o objeto results é um envelope. O Ops Manager adiciona o campo status ao corpo da resposta.

none

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 matriz roles for fornecida:

  • Forneça pelo menos um role

  • Certifique-se de que todos os roles devem ser válidos para o projeto

As funções do projeto incluem:

Valor da função na API
Função
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
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.

Observação

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.orgId (Organização), os valores incluem:

Valor da função na API
Função
ORG_OWNER
ORG_MEMBER
ORG_GROUP_CREATOR
ORG_READ_ONLY

Roles do projeto

Se este for um roles.groupId (Projeto), os valores incluem:

Valor da função na API
Função
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN

Observação

O usuário que faz a solicitação pode ser formatado como {USERNAME}:{APIKEY} ou {PUBLIC-KEY}:{PRIVATE-KEY}.

1curl --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 }'
HTTP/1.1 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
HTTP/1.1 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}
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}
← Obter todas as chaves de API da organização atribuídas a um projeto