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

Acceso programático a Cloud Manager con una cuenta de servicio

Para conceder acceso programático a una organización o proyecto usando únicamente los API, crear una Clave de API o una cuenta de servicio. Esto asegura que las llaves y los tokens de acceso que sirven como nombres de usuario y contraseñas nunca se envíen a través de la red. API claves y cuentas de servicio:

  • No se puede usar para iniciar sesión en Cloud Manager a través de la Interfaz de Usuario.

  • Se deben otorgar roles como si fueran usuarios para asegurarse de que las claves API y las cuentas de servicio puedan llamar a los puntos finales API sin errores.

  • Pertenece a una organización, pero puede concederse acceso a cualquier número de proyectos en esa organización.

Para obtener más información sobre estos dos métodos de autenticación, consulte Autenticación.

Nota

Permisos requeridos

Usa los siguientes procedimientos para conceder acceso programático a una organización mediante claves API o una cuenta de servicio. Para obtener más información sobre estos dos métodos de autenticación, consulta Autenticación.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
  1. Introduce un Name.

  2. Introduce un Description.

  3. Seleccionar una duración del menú Client Secret Expiration.

  4. Desde el menú de Permisos de la organización, seleccionar el nuevo rol o los nuevos roles para la cuenta de servicio.

4
5

El secreto del cliente actúa como la contraseña al crear tokens de acceso.

Advertencia

Esta es la única vez que podrás ver el secreto de cliente completo. Se debe hacer clic en Copy y guardarlo en una ubicación segura. De lo contrario, se necesitará generar un nuevo secreto de cliente.

6
  1. Haga clic en Add Access List Entry.

  2. Introduzca una dirección IP o un bloque CIDR desde los cuales desee que Cloud Manager acepte solicitudes API para esta cuenta de servicio.

    También puedes hacer clic en Use Current IP Address si el host que utilizas para acceder a Cloud Manager también realizará solicitudes API usando esta cuenta de servicio.

  3. Haga clic en Save.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3

Desde el paso API Key Information de la página Add API Key:

Campo
Valor

Descripción

Introduce una descripción para la nueva Clave API.

Permisos de la organización

Seleccione el nuevo rol o roles para la API Key.

4
5

Desde el paso Private Key & Access List de la página Add API Key, haz clic en Add Access List Entry.

Para esta clave de API, puedes elegir:

  • Ingrese una dirección IPv4 desde la cual Cloud Manager debe aceptar solicitudes de API, o

  • Haga clic en si el host que utiliza Use Current IP Address para acceder a Cloud Manager realizará solicitudes de API.

6

Advertencia

Copia la clave privada antes de salir de esta página

Cloud Manager muestra el Private Key una vez: en esta página. Haga clic en Copy para añadir la clave privada al portapapeles. Guarde y asegure esta clave privada como lo haría con cualquier otra contraseña.

Puedes ver los detalles de todas las claves API o cuentas de servicio que tengan acceso a tu organización.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3

Se muestran todas las cuentas de servicio con acceso a tu organización.

Haz clic en el nombre de una cuenta de servicio para ver sus detalles, incluyendo:

  • El secreto cliente ofuscado para la cuenta de servicio

  • La fecha en que se usó por última vez el secreto de cliente

  • La fecha en que se creó el secreto del cliente

  • Las direcciones IP desde las que la cuenta de servicio puede acceder a la API

  • Los roles que se han asignado a la cuenta de servicio

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
  1. Junto a la clave API, haga clic en.

  2. Haga clic en View Details.

    El modal <Public Key> API Key Details muestra el:

    • Private Key ofuscado.

    • Fecha en que se utilizó la clave por última vez.

    • Fecha en que se creó la Clave.

    • IPv4 direcciones en las que la clave se encuentra en la lista de acceso.

    • Proyectos a los que se ha concedido acceso a la clave.

Puede cambiar los roles, la descripción o la lista de acceso de una clave API o cuenta de servicio en una organización. También puede generar un nuevo secreto de cliente para una cuenta de servicio.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
4

Para modificar Name o Description, haga clic en .

5
  1. Haga clic Generate New Client Secret

  2. Seleccione una duración para el secreto de cliente en el menú. El secreto de cliente caduca después de este tiempo.

  3. Haga clic en Generate New.

  4. Haga clic en Copy y guarde el secreto del cliente en una ubicación segura. Esta es la única vez que puede visualizar el secreto completo del cliente.

6
  1. Haga clic en Edit Permissions.

  2. En el menú Organization Permissions, selecciona el/a nuevo rol o roles para la cuenta de servicio.

  3. Haga clic en Save and next.

    Importante

    Las credenciales de la cuenta de servicio permanecen activas hasta que caduquen o un usuario las revoque.

7
  1. Para agregar una dirección IP o un bloque CIDR desde el cual desea que Cloud Manager acepte solicitudes de API para esta cuenta de servicio, haga clic Add Access List Entry en y escriba una dirección IP.

    También puedes hacer clic en Use Current IP Address si el host que utilizas para acceder a Cloud Manager también hará solicitudes API utilizando esta cuenta de servicio.

  2. Para remover una dirección IP de la lista de acceso, haz clic a la derecha de la dirección IP.

  3. Haga clic en Save.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
  1. Haz clic en el junto a la clave de API que quieres cambiar.

  2. Haga clic en Edit.

4

Desde el paso API Key Information de la página Add API Key:

Campo
Valor

Descripción

Introduce una descripción para la nueva Clave API.

Permisos de la organización

Seleccione el nuevo rol o roles para la API Key.

5
6

Desde el paso Private Key & Access List de la página Add API Key, haz clic en Add Access List Entry.

Para esta clave de API, puedes elegir:

  • Ingrese una dirección IPv4 desde la cual Cloud Manager debe aceptar solicitudes de API, o

  • Haga clic en si el host que utiliza Use Current IP Address para acceder a Cloud Manager realizará solicitudes de API.

7

Advertencia

Copia la clave privada antes de salir de esta página

Cloud Manager muestra el Private Key una vez: en esta página. Haga clic en Copy para añadir la clave privada al portapapeles. Guarde y asegure esta clave privada como lo haría con cualquier otra contraseña.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
  1. Haz clic en el icono debajo de Actions a la derecha de la cuenta del servicio que deseas borrar.

  2. Haga clic en Delete.

Borrar una cuenta de servicio de una organización también la remueve de cualquier Proyecto al que se le haya concedido acceso a esa cuenta de servicio.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Applications` en la sección Identity & Access.

Se muestra la página de Aplicaciones.

2
3
  1. Haz clic en junto a la clave API que deseas borrar.

  2. Haz clic en Delete para confirmar que deseas borrar esta clave API o en Cancel para dejar la clave en la organización.

Nota

Al eliminar una clave API de una organización, también se elimina esa clave de cualquier proyecto al que se le haya otorgado acceso a la clave.

Nota

Permisos requeridos

Puedes ver el acceso programático a un proyecto con cualquier rol.

Para realizar cualquier otra acción, debes tener el rol de Project User Admin.

Utilice los siguientes procedimientos para otorgar acceso programático a un proyecto mediante claves de API o una cuenta de servicio. Para obtener más información sobre estos dos métodos de autenticación,consulte Autenticación.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
  1. Introduce un Name.

  2. Introduce un Description.

  3. Seleccionar una duración del menú Client Secret Expiration.

  4. Desde el menú Permisos del proyecto, selecciona el nuevo rol o los nuevos roles para la cuenta de servicio.

5
6

El secreto del cliente actúa como la contraseña al crear tokens de acceso.

Advertencia

Esta es la única vez que podrás ver el secreto de cliente completo. Se debe hacer clic en Copy y guardarlo en una ubicación segura. De lo contrario, se necesitará generar un nuevo secreto de cliente.

7
  1. Haga clic en Add Access List Entry.

  2. Introduzca una dirección IP o un bloque CIDR desde los cuales desee que Cloud Manager acepte solicitudes API para esta cuenta de servicio.

    También puedes hacer clic en Use Current IP Address si el host que utilizas para acceder a Cloud Manager también realizará solicitudes API usando esta cuenta de servicio.

  3. Haga clic en Save.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4

Desde el paso API Key Information de la página Add API Key:

Campo
Valor

Descripción

Introduce una descripción para la nueva Clave API.

Permisos del proyecto

Seleccione el nuevo rol o roles para la API Key.

5
6

Desde el paso Private Key & Access List de la página Add API Key, haz clic en Add Access List Entry.

Para esta clave de API, puedes elegir:

  • Ingrese una dirección IPv4 desde la cual Cloud Manager debe aceptar solicitudes de API, o

  • Haga clic en si el host que utiliza Use Current IP Address para acceder a Cloud Manager realizará solicitudes de API.

7

Advertencia

Copia la clave privada antes de salir de esta página

Cloud Manager muestra el Private Key una vez: en esta página. Haga clic en Copy para añadir la clave privada al portapapeles. Guarde y asegure esta clave privada como lo haría con cualquier otra contraseña.

Puedes ver los detalles de todas las API keys o cuentas de servicio que tengan acceso a tu proyecto.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3

Se enumeran todas las cuentas de servicio con acceso a su proyecto.

Haz clic en el nombre de una cuenta de servicio para ver sus detalles, incluyendo:

  • El secreto cliente ofuscado para la cuenta de servicio

  • La fecha en que se usó por última vez el secreto de cliente

  • La fecha en que se creó el secreto del cliente

  • Las direcciones IP desde las que la cuenta de servicio puede acceder a la API

  • Los roles que se han asignado a la cuenta de servicio

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
  1. Junto a la clave API, haga clic en.

  2. Haga clic en View Details.

    El modal <Public Key> API Key Details muestra el:

    • Private Key ofuscado.

    • Fecha en que se utilizó la clave por última vez.

    • Fecha en que se creó la Clave.

    • IPv4 direcciones en las que la clave se encuentra en la lista de acceso.

    • Proyectos a los que se ha concedido acceso a la clave.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
5

Para modificar el Name o el Description, haz clic en .

6
  1. Haga clic Generate New Client Secret

  2. Seleccione una duración para el secreto de cliente en el menú. El secreto de cliente caduca después de este tiempo.

  3. Haga clic en Generate New.

  4. Haga clic en Copy y guarde el secreto del cliente en una ubicación segura. Esta es la única vez que puede visualizar el secreto completo del cliente.

7
  1. Haga clic en Edit Permissions.

  2. En el menú Project Permissions, selecciona el/a nuevo rol o roles para la cuenta de servicio.

  3. Haga clic en Save and next.

    Importante

    Las credenciales de la cuenta de servicio permanecen activas hasta que caduquen o un usuario las revoque.

8
  1. Para agregar una dirección IP o un bloque CIDR desde el cual desea que Cloud Manager acepte solicitudes de API para esta cuenta de servicio, haga clic Add Access List Entry en y escriba una dirección IP.

    También puedes hacer clic en Use Current IP Address si el host que utilizas para acceder a Cloud Manager también hará solicitudes API utilizando esta cuenta de servicio.

  2. Para remover una dirección IP de la lista de acceso, haz clic a la derecha de la dirección IP.

  3. Haga clic en Save.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
  1. Haz clic en el junto a la clave de API que quieres cambiar.

  2. Haga clic en Edit.

5

Desde el paso API Key Information de la página Add API Key:

Campo
Valor

Descripción

Introduce una descripción para la nueva Clave API.

Permisos del proyecto

Seleccione el nuevo rol o roles para la API Key.

6
7

Desde el paso Private Key & Access List de la página Add API Key, haz clic en Add Access List Entry.

Para esta clave de API, puedes elegir:

  • Ingrese una dirección IPv4 desde la cual Cloud Manager debe aceptar solicitudes de API, o

  • Haga clic en si el host que utiliza Use Current IP Address para acceder a Cloud Manager realizará solicitudes de API.

8

Advertencia

Copia la clave privada antes de salir de esta página

Cloud Manager muestra el Private Key una vez: en esta página. Haga clic en Copy para añadir la clave privada al portapapeles. Guarde y asegure esta clave privada como lo haría con cualquier otra contraseña.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
  1. Haz clic en el ícono en Actions a la derecha de la cuenta de servicio que deseas remover del proyecto.

  2. Haga clic en Remove from this project.

Importante

La cuenta de servicio aún existe en la organización y cualquier credencial existente permanece activa hasta que expire o sea revocada manualmente.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

    La página Configuración del proyecto se muestra.

2

En la barra lateral, haz clic en Applications en la sección Identity & Access.

Se muestra la página de Aplicaciones.

3
4
  1. Haz clic en junto a la clave API que deseas borrar.

  2. Haz clic en Delete para confirmar que deseas borrar esta clave API o en Cancel para dejar la clave en la organización.

Nota

Al eliminar una clave API de una organización, también se elimina esa clave de cualquier proyecto al que se le haya otorgado acceso a la clave.

El API de Cloud Manager utiliza uno de dos métodos de autenticación para autenticar las solicitudes: API keys o una cuenta de servicio. Necesitarás las claves o el secreto que guardaste cuando configuraste tu método de autenticación preferido para completar los siguientes procedimientos.

Para realizar una solicitud API utilizando una cuenta de servicio, use la cuenta de servicio para generar un token de acceso y luego use el token de acceso en su solicitud:

1

Se debe localizar el secreto del cliente que comienza con mdb_sa_sk_ y que se guardó inmediatamente después de crear la cuenta de servicio, que fue la única vez que se pudo ver el secreto del cliente. Si no se guardó el secreto del cliente, debe generar uno nuevo.

2

Por ejemplo, ejecute:

echo -n {clientId}:{clientSecret} | base64
3

Se debe reemplazar {base64Auth} en el siguiente ejemplo con el resultado del paso anterior, luego se debe ejecutar:

1curl --request POST \
2 --url https://cloud.mongodb.com/api/oauth/token \
3 --header 'accept: application/json' \
4 --header 'cache-control: no-cache' \
5 --header 'authorization: Basic {base64Auth}' \
6 --header 'content-type: application/x-www-form-urlencoded' \
7 --data 'grant_type=client_credentials'
{"access_token":"{accessToken}""expires_in":3600,"token_type":"Bearer"}%

Importante

El token de acceso es válido por 1 hora (3600 segundos). No se puede actualizar un token de acceso. Cuando este token de acceso expire, se debe repetir este paso para generar uno nuevo.

4

Reemplace {accessToken} en el siguiente ejemplo con el resultado del paso anterior. Por ejemplo, --header 'Authorization: Bearer eyJ...pSnF' \.

La siguiente solicitud de muestra GET devuelve todos los proyectos para el usuario actual:

curl --request GET \
--url https://cloud.mongodb.com/api/public/v1.0/groups \
--header 'Authorization: Bearer {accessToken}' \
--header 'Accept: application/json' \

La siguiente solicitud de ejemplo POST toma un cuerpo de solicitud y crea un proyecto llamado MyProject en su organización:

curl --header 'Authorization: Bearer {accessToken}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--include \
--request POST 'https://cloud.mongodb.com/api/public/v1.0/groups' \
--data '
{
"name": "MyProject",
"orgId": "5a0a1e7e0f2912c554080adc"
}'

Tu solicitud debería parecerse a los siguientes ejemplos, en los que {publicKey} es la llave pública de API y {privateKey} es la llave privada correspondiente.

La siguiente solicitud de muestra GET devuelve todos los proyectos para el usuario actual:

curl --user "{publicKey}:{privateKey}" --digest \
--header "Accept: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/public/v1.0/groups?pretty=true"

La siguiente solicitud de ejemplo POST toma un cuerpo de solicitud y crea un proyecto llamado MyProject en su organización:

curl --user "{publicKey}:{privateKey}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request POST "https://cloud.mongodb.com/api/public/v1.0/groups?pretty=true" \
--data '
{
"name": "MyProject",
"orgId": "deffb2031b938da53f16d714"
}'

Volver

Configuración de acceso

En esta página