Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

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 del Proyecto que deseas crear y asignar a la cuenta de servicio. Usa la /groups punto final para recuperar todas las organizaciones a las que el usuario autenticado tiene 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

false

envelope

booleano

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

Algunos Los clientes de laAPI no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure "envelope" : true en la consulta.

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 roles que debe tener la cuenta de servicio. Debe haber al menos un rol en la lista y todos 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

fecha y hora

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

Lista de roles que la cuenta de servicio tiene en el proyecto.

Los roles del proyecto incluyen:

secrets

objeto arreglo

Lista de secretos de cuentas de servicio.

secrets.id

string

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

secrets.createdAt

fecha y hora

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

secrets.expiresAt

fecha y hora

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

secrets.secret

string

Secreto de cuenta de servicio, disponible solo en el momento de su creación.

Nota

El usuario que realiza la solicitud puede tener el formato {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}

Volver

Obtenga uno

En esta página