Menu Docs
Página inicial do Docs
/
MongoDB Cloud Manager
/ / / /

Criar e atribuir uma conta de serviço da organização a um projeto

Nesta página

  • Resource
  • 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://cloud.mongodb.com/api/public/v1.0

POST /groups/{PROJECT-ID}/serviceAccounts
Nome
Tipo
Descrição
PROJECT-ID
string
Identificador único do Projeto ao qual você deseja criar e atribuir a conta de serviço. Use o endpoint /groups para recuperar todas as organizações às 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
booleano
false
envelope
booleano

Indica se deseja ou não envolver a resposta em um envelope.

Alguns clientes do API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, configure "envelope" : true na consulta.

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

Nome
Descrição
status
Código de resposta HTTP
content
Corpo de resposta esperado

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

none

Todos os parâmetros do corpo são obrigatórios.

Nome
Tipo
Descrição
name
string
Nome da conta de serviço. Os caracteres aceitos são A-Z, a-z, 0-9, espaço, ponto ., apóstrofo ', vírgula ,, sublinhado _ e traço -.
description
string
Descrição da conta de serviço. Deve ter entre 1 e 250 caracteres. Os caracteres aceitos são A-Z, a-z, 0-9, espaço, ponto ., apóstrofo ', vírgula ,, sublinhado _ e traço -.
secretExpiresAfterHours
string
Número de horas após as quais o segredo dessa conta de serviço expira
roles
array de strings

Lista de roles que a conta de serviço deve ter. Deve haver pelo menos uma função listada e todas as funções devem ser válidas para um Projeto.

As funções do projeto incluem:

Valor da função na API
Função
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_BILLING_ADMIN
Administrador de faturamento do projeto
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
clientId
string
Identificador exclusivo da conta de serviço.
createdAt
timestamp
Hora de criação da conta de serviço.
name
string
Nome da conta de serviço.
description
string
Descrição da conta de serviço.
roles
array de strings

Lista de roles que a conta de serviço tem no projeto.

As funções do projeto incluem:

secrets
array de objetos
Lista de segredos de conta de serviço.
secrets.id
string
24-string exclusivo de caracteres hexadecimais que identifica o segredo.
secrets.createdAt
timestamp
Timestamp representando o tempo de criação do segredo.
secrets.expiresAt
timestamp
Timestamp representando o tempo de expiração secreto.
secrets.secret
string
Segredo da conta de serviço, disponível apenas na criação.

Observação

O usuário que faz a solicitação pode ser formatado como {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://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts?pretty=true" \
6 --data '{
7 "name" : "Cloud Manager service account",
8 "description" : "Service account for Cloud Manager users.",
9 "secretExpiresAfterHours" : "3600",
10 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"]
11 }'
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 201 Created
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}

Observação

O secret não é editado no corpo da resposta. Este exemplo foi redigido por motivos de segurança.

1{
2 "createdAt" : "2024-08-03T14:02:40Z",
3 "description" : "Service account for Cloud Manager users.",
4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144",
5 "name" : "Cloud Manager service account",
6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN" ],
7 "secrets" : [ {
8 "createdAt" : "2024-08-03T14:02:40Z",
9 "expiresAt" : "2024-12-31T14:02:40Z",
10 "id" : "66ae38803cdf55582cb01143",
11 "secret" : "mdb_sa_sk_...hcOL"
12 } ]
13}

Voltar

Obter uma conta de serviço de projeto