Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Criar uma Conta de Serviço

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

Indica se o corpo da resposta deve ser retornado em um formato prettyprint.

false

envelope

booleano

Indica se deve 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

  • 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:

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 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-alive
HTTP/1.1 201 CreatedVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-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" } ]}