Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Crear y asignar una cuenta de servicio de organización a un solo proyecto

URL base: https://cloud.mongodb.com/api/public/v1.0

POST /groups/{PROJECT-ID}/serviceAccounts
Nombre
Tipo
Descripción

PROJECT-ID

string

Identificador único para el proyecto que deseas crear y al que deseas asignar la cuenta de servicio. Utilice el endpoint /groups para recuperar todas las organizaciones a las que el usuario autenticado tenga acceso.

Los siguientes parámetros de query son opcionales:

Nombre
Tipo
Descripción
predeterminado

Num. de pág.

entero

Número de página (basado en índice a partir de 1).

1

elementosPorPágina

entero

Número de elementos a devolver por página, hasta un máximo de 500.

100

bonito

booleano

Indica si el cuerpo de la respuesta debe estar en un formato prettyprint.

false

envelope

booleano

Indica si se debe o no envolver la respuesta en un sobre.

Algunos clientes API no pueden acceder a los encabezados de respuesta HTTP o al código de estado. Para remediarlo, establezca "envelope" : true en la query.

Para los endpoints que devuelven un resultado, el cuerpo de respuesta incluye:

Nombre
Descripción

status

Código de respuesta HTTP

content

Cuerpo de respuesta esperado

Para los endpoints que devuelven una lista de resultados, el objeto results es un sobre. Cloud Manager añade el campo status al cuerpo de la respuesta.

Ninguno

Todos los parámetros del cuerpo son obligatorios.

Nombre
Tipo
Descripción

name

string

Nombre de la cuenta de servicio. Los caracteres aceptados son A-Z, a-z, 0-9, espacio, punto ., apóstrofe ', coma ,, guión bajo _ y guión -.

description

string

Descripción de la cuenta de servicio. Debe tener entre 1 y 250 caracteres de longitud. Los caracteres aceptados son A-Z, a-z, 0-9, espacio, punto ., apóstrofe ', coma ,, subrayado _ y guión -.

secretExpiresAfterHours

string

Número de horas después de las cuales caduca el secreto de esta cuenta de servicio

roles

arreglo de string

Lista de los roles que debe tener la cuenta de servicio. Debe haber al menos un rol listado y todos los roles deben ser válidos para un Proyecto.

Los roles del proyecto incluyen:

Valor de Rol en API
rol

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

Nombre
Tipo
Descripción

clientId

string

Identificador único para la cuenta de servicio.

createdAt

Marca de tiempo

Hora de creación de la cuenta de servicio.

name

string

Nombre de la cuenta de servicio.

description

string

Descripción de la cuenta de servicio.

roles

arreglo de string

secrets

objeto arreglo

Lista de secretos de cuentas de servicio.

secrets.id

string

string única de 24caracteres hexadecimales que identifica el secreto.

secrets.createdAt

Marca de tiempo

Timestamp que representa la hora de creación del secreto.

secrets.expiresAt

Marca de tiempo

Marca de tiempo que representa la fecha de caducidad del secreto.

secrets.secret

string

Secreto de cuenta de servicio, disponible solo durante la creación.

Nota

El usuario que hace la solicitud puede ser formateado 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}

Nota

El secret no está redactado en el cuerpo de respuesta. Este ejemplo está redactado por razones de seguridad.

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}