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

Criar uma Conta de Serviço

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 /orgs/{ORG-ID}/serviceAccounts
Nome
Tipo
Descrição

ORG-ID

string

Identificador exclusivo da organização para a qual você deseja criar uma conta de serviço. Use o endpoint /orgs 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 desta conta de serviço expira. O máximo é de um ano (8766 horas).

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 uma Organização.

As funções da organização incluem:

Valor da função na API
Função

ORG_OWNER

ORG_MEMBER

ORG_GROUP_CREATOR

ORG_BILLING_ADMIN

ORG_READ_ONLY

ORG_BILLING_READ_ONLY

Nome
Tipo
Descrição

clientId

string

Identificador exclusivo da conta de serviço.

description

string

Descrição 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 -.

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 -.

createdAt

timestamp

Hora de criação da conta de serviço.

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.secret

string

Segredo da conta de serviço, disponível apenas na criação.

secrets.maskedSecretValue

string

Segredo oculto que exibe apenas o prefixo e os últimos quatro caracteres.

secrets.createdAt

timestamp

Timestamp representando o tempo de criação do segredo.

secrets.lastUsedAt

timestamp

Registro de data/hora representando o último uso secreto.

secrets.expiresAt

timestamp

Timestamp representando o tempo de expiração secreto.

roles

array de objetos

Roles que a conta de serviço tem na organização.

As funções da organização incluem:

Observação

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

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--request POST "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true" \
--data '{
"name": "Billing",
"description": "Service account for users in finance.",
"secretExpiresAfterHours": 3600,
"roles": ["ORG_MEMBER", "ORG_BILLING_ADMIN"]
}'
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.

{
"createdAt" : "2024-08-02T18:07:25Z",
"description" : "Service account for users in finance.",
"clientId" : "mdb_sa_id_66ad205d181fc82b21b336e3",
"name" : "Billing",
"roles" : [ "ORG_MEMBER", "ORG_BILLING_ADMIN" ],
"secrets" : [ {
"createdAt" : "2024-08-02T18:07:25Z",
"expiresAt" : "2024-12-30T18:07:24Z",
"id" : "66ad205d181fc82b21b336e2",
"secret" : "mdb_sa_sk_***********************************3Yylw"
} ]
}

Voltar

Obter todas as atribuições