Docs Menu
Docs Home
/ /

Crear y asignar una cuenta de servicio de la organización a un 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 desea crear y al que desea asignar la cuenta de servicio. Utilice el /groups punto final para recuperar todas las organizaciones a las que el usuario autenticado tiene acceso.

Los siguientes parámetros de consulta son opcionales:

Nombre
Tipo
Descripción
predeterminado

número de página

entero

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

1

artículos por página

entero

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

100

bonita

booleano

false

envolvente

booleano

Indica si se debe envolver o no 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 puntos finales que devuelven un resultado, el cuerpo de la respuesta incluye:

Nombre
Descripción

status

Código de respuestaHTTP

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

Se requieren todos los parámetros corporales.

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. Los caracteres aceptados son A-Z, a-z, 0-9, espacio, punto ., apóstrofo ', coma ,, guion bajo _ y guion -.

secretExpiresAfterHours

string

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

roles

matriz de cadenas

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 del rol en la 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

matriz de cadenas

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

Los roles del proyecto incluyen:

secrets

matriz de objetos

Lista de secretos de cuentas de servicio.

secrets.id

string

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

secrets.createdAt

fecha y hora

Marca de tiempo que representa la hora de creación del secreto.

secrets.expiresAt

fecha y hora

Marca de tiempo que representa el tiempo de expiración 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 la respuesta. Este ejemplo está redactado por motivos 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

Consigue uno

En esta página