Para otorgar acceso programático a una organización o proyecto utilizando únicamente los API, crear una Clave API o cuenta de servicio. Esto garantiza que las claves y los tokens de acceso que sirven como nombres de usuario y contraseñas nunca se envíen a través de la red. ClavesAPI y cuentas de servicio:
No se puede utilizar 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 se le puede conceder acceso a cualquier cantidad de proyectos en esa organización.
Para obtener más información sobre estos dos métodos de autenticación,consulte Autenticación.
Gestiona el acceso programático a una organización
Nota
Permisos requeridos
Puede ver el acceso programático a una organización con cualquier rol.
Para realizar cualquier otra acción, deberá tener la
Organization Owner role.
Concede acceso programático a una organización
Utilice los siguientes procedimientos para otorgar acceso programático a una organización, ya sea mediante claves API o una cuenta de servicio. Para obtener más información sobre estos dos métodos de autenticación,consulte Autenticación.
Haga clic Add new Application Service Accounten.
Ingresar la información de la cuenta de servicio.
Introduce un Name.
Introduce un Description.
Seleccionar una duración del menú Client Secret Expiration.
Desde el menú de Permisos de la organización, seleccionar el nuevo rol o los nuevos roles para la cuenta de servicio.
Copie y guarde Client Secret el.
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.
Añadir un API Access List Entry.
Haga clic en Add Access List Entry.
Ingrese una dirección IP o un bloque CIDR desde el cual desea que Cloud Manager acepte solicitudes de API para esta cuenta de servicio.
También puede hacer clic en si el host que utiliza para acceder a Cloud Manager también Use Current IP Address realizará solicitudes de API utilizando esta cuenta de servicio.
Haga clic en Save.
Haga clic Add new Application API Keyen.
Complete el API Key Information formulario.
Desde el paso API Key Information de la página Add API Key:
Campo | Valor |
|---|---|
Descripción | Ingrese una descripción para la nueva clave API. |
Permisos de la organización | Seleccione el nuevo rol o roles para la clave API. |
Agregue valores de lista de acceso para esta clave API.
Desde el paso Private Key & Access List de la página Add API Key, haga clic en Add Access List Entry.
Para esta clave API, puede elegir entre:
Ingrese una dirección IPv desde la cual Cloud4 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.
Ver el acceso programático a una organización
Puede ver los detalles de todas las claves API o cuentas de servicio que tienen acceso a su organización.
Haga clic en Service Accounts.
Se enumeran todas las cuentas de servicio con acceso a su organización.
Haga clic en el nombre de una cuenta de servicio para ver sus detalles, incluidos:
El secreto del 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 le han asignado a la cuenta de servicio
Navegar View Details a.
Junto a la clave API, haga clic en.
Haga clic en View Details.
El modal <Public Key> API Key Details muestra:
Ofuscado Private Key.
Fecha en que se utilizó la clave por última vez.
Fecha en que se creó la clave.
DireccionesIPv en las que la clave está en la lista de acceso.4
Proyectos a los que se ha concedido acceso a la Clave.
Actualizar el acceso programático a una organización
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.
Generar un nuevo secreto de cliente.
Haga clic Generate New Client Secret
Seleccione una duración para el secreto de cliente en el menú. El secreto de cliente caduca después de este tiempo.
Haga clic en Generate New.
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.
Editar Organization Permissions el.
Haga clic en Edit Permissions.
Desde el Organization Permissions menú, seleccione el nuevo rol o roles para la cuenta de servicio.
Haga clic en Save and next.
Importante
Las credenciales de la cuenta de servicio permanecen activas hasta que caducan o un usuario las revoca.
Editar API Access List el.
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 puede hacer clic en si el host que está utilizando para acceder a Cloud Manager también Use Current IP Address realizará solicitudes de API utilizando esta cuenta de servicio.
Para eliminar una dirección IP de la lista de acceso, haga clic a la derecha de la dirección IP.
Haga clic en Save.
Complete el API Key Information formulario.
Desde el paso API Key Information de la página Add API Key:
Campo | Valor |
|---|---|
Descripción | Ingrese una descripción para la nueva clave API. |
Permisos de la organización | Seleccione el nuevo rol o roles para la clave API. |
Agregue valores de lista de acceso para esta clave API.
Desde el paso Private Key & Access List de la página Add API Key, haga clic en Add Access List Entry.
Para esta clave API, puede elegir entre:
Ingrese una dirección IPv desde la cual Cloud4 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.
Revocar el acceso programático a una organización
Eliminar la clave API.
Haga clic junto a la clave API que desea eliminar.
Haga clic en para confirmar que Delete desea eliminar esta clave API o 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.
Administrar el acceso programático a un proyecto
Nota
Permisos requeridos
Puedes ver el acceso programático a un proyecto con cualquier rol.
Para realizar cualquier otra acción, debe tener el Project User Admin rol.
Otorgar acceso programático a un proyecto
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.
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Haga clic Create Application Service Accounten.
Ingresar la información de la cuenta de servicio.
Introduce un Name.
Introduce un Description.
Seleccionar una duración del menú Client Secret Expiration.
Desde el menú Permisos del proyecto, selecciona el nuevo rol o los nuevos roles para la cuenta de servicio.
Copie y guarde Client Secret el.
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.
Añadir un API Access List Entry.
Haga clic en Add Access List Entry.
Ingrese una dirección IP o un bloque CIDR desde el cual desea que Cloud Manager acepte solicitudes de API para esta cuenta de servicio.
También puede hacer clic en si el host que utiliza para acceder a Cloud Manager también Use Current IP Address realizará solicitudes de API utilizando esta cuenta de servicio.
Haga clic en Save.
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Haga clic Create Application API Keyen.
Complete el API Key Information formulario.
Desde el paso API Key Information de la página Add API Key:
Campo | Valor |
|---|---|
Descripción | Ingrese una descripción para la nueva clave API. |
Permisos del proyecto | Seleccione el nuevo rol o roles para la clave API. |
Agregue valores de lista de acceso para esta clave API.
Desde el paso Private Key & Access List de la página Add API Key, haga clic en Add Access List Entry.
Para esta clave API, puede elegir entre:
Ingrese una dirección IPv desde la cual Cloud4 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.
Ver acceso programático a un proyecto
Puede ver los detalles de todas las claves API o cuentas de servicio que tienen acceso a su proyecto.
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Haga clic en Service Accounts.
Se enumeran todas las cuentas de servicio con acceso a su proyecto.
Haga clic en el nombre de una cuenta de servicio para ver sus detalles, incluidos:
El secreto del 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 le han asignado a la cuenta de servicio
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Navegar View Details a.
Junto a la clave API, haga clic en.
Haga clic en View Details.
El modal <Public Key> API Key Details muestra:
Ofuscado Private Key.
Fecha en que se utilizó la clave por última vez.
Fecha en que se creó la clave.
DireccionesIPv en las que la clave está en la lista de acceso.4
Proyectos a los que se ha concedido acceso a la Clave.
Actualizar el acceso programático a un proyecto
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Generar un nuevo secreto de cliente.
Haga clic Generate New Client Secret
Seleccione una duración para el secreto de cliente en el menú. El secreto de cliente caduca después de este tiempo.
Haga clic en Generate New.
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.
Editar Project Permissions el.
Haga clic en Edit Permissions.
Desde el Project Permissions menú, seleccione el nuevo rol o roles para la cuenta de servicio.
Haga clic en Save and next.
Importante
Las credenciales de la cuenta de servicio permanecen activas hasta que caducan o un usuario las revoca.
Editar API Access List el.
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 puede hacer clic en si el host que está utilizando para acceder a Cloud Manager también Use Current IP Address realizará solicitudes de API utilizando esta cuenta de servicio.
Para eliminar una dirección IP de la lista de acceso, haga clic a la derecha de la dirección IP.
Haga clic en Save.
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Complete el API Key Information formulario.
Desde el paso API Key Information de la página Add API Key:
Campo | Valor |
|---|---|
Descripción | Ingrese una descripción para la nueva clave API. |
Permisos del proyecto | Seleccione el nuevo rol o roles para la clave API. |
Agregue valores de lista de acceso para esta clave API.
Desde el paso Private Key & Access List de la página Add API Key, haga clic en Add Access List Entry.
Para esta clave API, puede elegir entre:
Ingrese una dirección IPv desde la cual Cloud4 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.
Revocar el acceso programático a un proyecto
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Eliminar la cuenta de servicio.
Haga clic en el icono debajo Actions de a la derecha de la cuenta de servicio que desea eliminar del proyecto.
Haga clic en Remove from this project.
Importante
La cuenta de servicio todavía existe en la organización y todas las credenciales existentes permanecen activas hasta que caduquen o se revoquen manualmente.
En MongoDB Cloud Manager, vaya a la Project Settings página.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Eliminar la clave API.
Haga clic junto a la clave API que desea eliminar.
Haga clic en para confirmar que Delete desea eliminar esta clave API o 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.
Haz una API solicitud
La API de Cloud Manager utiliza uno de dos métodos de autenticación para autenticar las solicitudes: claves deAPI o una cuenta de servicio. Necesitará las claves o el secreto que guardó al configurar su 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:
Se debe recuperar el secreto del cliente para su cuenta de servicio.
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.
Se debe solicitar un token de acceso.
Se debe reemplazar {BASE64-AUTH} en el siguiente ejemplo con el resultado del paso anterior, luego se debe ejecutar:
1 curl --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 {BASE64-AUTH}' \ 6 --header 'content-type: application/x-www-form-urlencoded' \ 7 --data 'grant_type=client_credentials'
{"access_token":"eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6ImYyZjE2YmE4LTkwYjUtNDRlZS1iMWYLTRkNWE2OTllYzVhNyJ9eyJpc3MiOiJodHRwczovL2Nsb3VkLWRldi5tb25nb2RiLmNvbSIsImF1ZCI6ImFwaTovL2FkbWluIiwic3ViIjoibWRi3NhX2lkXzY2MjgxYmM2MDNhNzFhNDMwYjkwNmVmNyIsImNpZCI6Im1kYl9zYV9pZF82NjI4MWJjNjAzYTcxYTQzMGI5MZlZjciLCJhY3RvcklkIjoibWRiX3NhX2lkXzY2MjgxYmM2MDNhNzFhNDMwYjkwNmVmNyIsImlhdCI6MTcxMzkwNTM1OSiZXhwIjoxNzEzOTA4OTU5LCJqdGkiOiI4ZTg1MTM3YS0wZGU1LTQ0N2YtYTA0OS1hMmVmNTIwZGJhNTIifQAZSFvhcjwVcJYmvW6E_K5UnDmeiX2sJgL27vo5ElzeBuPawRciKkn6ervZ6IpUTx2HHllGgAAMmhaP9B66NywhfjAXC67X9KcOzm81DTtvDjLrFeRSc_3vFmeGvfUKKXljEdWBnbmwCwtBlO5SJuBxb1V5swAl-Sbq9Ymo4NbyepSnF""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.
Realizar una llamada API.
Reemplace {ACCESS-TOKEN} 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 del usuario actual:
curl --request GET \ --url https://cloud.mongodb.com/api/public/v1.0/groups \ --header 'Authorization: Bearer {ACCESS-TOKEN}' \ --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 {ACCESS-TOKEN}' \ --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" }'
Su solicitud debe parecerse a los siguientes ejemplos, donde {PUBLIC-KEY} es su clave pública de API y {PRIVATE-KEY} es la clave privada correspondiente.
La siguiente solicitud de muestra GET devuelve todos los proyectos del usuario actual:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --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 "{PUBLIC-KEY}:{PRIVATE-KEY}" --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" }'