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

Pegue um