Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Cuando se usa SAML con la API de Edge, el proceso que se usa para obtener el acceso OAuth2 y Los tokens de actualización de la aserción de SAML se llaman flujo de contraseña. Con el código de flujo, se usa un navegador para obtener una contraseña de un solo uso que, luego, se utiliza para obtener OAuth2. tokens.
Sin embargo, tu entorno puede admitir la automatización de tareas comunes de desarrollo como automatización de pruebas o integración continua/implementación continua (CI/CD). Para automatizar estas tareas cuando SAML está habilitado, necesitas una forma de obtener y actualizar tokens de OAuth2 sin tener que copiar/pegar una contraseña desde un navegador.
Información acerca de los usuarios de máquinas
Apigee Edge admite usuarios de máquinas en tu organización con SAML habilitado. Los usuarios de máquinas se usan estrictamente para la automatización, y ninguna persona puede acceder a ellos de forma directa.
Un usuario de máquina puede obtener tokens OAuth2 sin tener que especificar un código. Esto significa que puedes automatizar completamente el proceso de obtener y actualizar tokens de OAuth2 con la API de Edge
Pasos para automatizar el proceso de generación de tokens
Para automatizar el proceso de generación de tokens, haz lo siguiente:
Video: Mira un video breve para aprender a automatizar el acceso a las APIs de Apigee Edge con las credenciales de usuario de la máquina.
Administra usuarios de máquinas para zonas de identidad de SAML
Apigee proporciona la interfaz de línea de comandos (CLI) de administración de usuarios de máquinas para crear y administrar cuentas de usuario de máquina. Los pasos para usar la CLI de administración de usuarios de máquinas se describen en las siguientes secciones.
Usa la CLI
Para usar la CLI de administración de usuarios de máquinas, primero descarga y descomprime el siguiente archivo:
usermgmt.tar.gz
(1)
El formato para llamar a la CLI es el siguiente:
usermgmt_platform [command] [flags]
En la siguiente tabla, se resumen las plataformas compatibles y el comando correspondiente para llamar a la CLI de administración de usuarios de la máquina.
(Los archivos ejecutables se encuentran en el directorio usermgmt
).
Plataforma | 32 bits | 64 bits |
---|---|---|
Linux | usermgmt_linux_386 |
usermgmt_linux_amd64 |
Mac | usermgmt_darwin_386 |
usermgmt_darwin_amd64 |
Windows | usermgmt_windows_386 |
usermgmt_windows_amd64 |
En la siguiente tabla, se resumen los comandos que se pueden especificar.
De manera opcional, puedes pasar una de las siguientes marcas para mostrar ayuda sobre el comando especificado: -h o --help.
Accede a la CLI
La primera vez que ejecutes la CLI en un período de 24 horas, se te pedirá que ingreses las credenciales de tu cuenta zoneadmin.
Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip
La CLI de administración de usuarios de la máquina almacena un token de acceso en tu máquina local, por lo que solo debes acceder una vez en un período de 24 horas.
Obtén ayuda para usar la CLI
Muestra la información de uso de la CLI con el comando usermgmt_platform help. Consulta Usa la CLI para ver la lista de plataformas compatibles.
usermgmt_platform help
Se muestra la siguiente información de ayuda:
A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.
Usage:
usermgmt [flags]
usermgmt [command]
Available Commands:
create Creates a machine users in an identity zone.
delete Deletes a machine users in an identity zone.
help Help about any command
list Lists the machine users in an identity zone.
reset Resets the password for a machine user in an identity zone.
Flags:
-h, --help help for usermgmt
Use "usermgmt [command] --help" for more information about a command.
Muestra ayuda sobre un comando específico pasando tanto el comando como la marca -h o --help en la línea de comandos.
Por ejemplo, para obtener ayuda con el comando list:
usermgmt_platform list -h
Se muestra la siguiente información de ayuda:
Lists the machine users in an identity zone.
Usage:
usermgmt list [flags]
Flags:
-h, --help help for list
Crea un usuario de máquina en una zona de identidad
Crea un usuario de máquina en una zona de identidad con el comando usermgmt_platform create. Consulta Usa la CLI para ver la lista de plataformas compatibles.
- Escribe el comando siguiente:
usermgmt_platform create
Se muestra la lista de zonas de identidad:
myzone1 myzone2
- Ingresa el nombre de una zona cuando aparezca el mensaje:
Enter a zone name: myzone1
- Ingresa un nombre de usuario para el usuario de la máquina:
Create a Machine User Username: machineuser1@mycompany.com
- Ingresa una contraseña para el usuario de la máquina. Vuelve a ingresar la contraseña cuando se te solicite.
Password: password Re-enter password: password
Se crea el usuario.
Created machine user machineuser1@mycompany.com
Obtén una lista de todos los usuarios de máquina de una zona de identidad
Obtén una lista de todos los usuarios de máquina en una zona de identidad con el comando usermgmt_platform list. Consulta Usa la CLI para ver la lista de plataformas compatibles.
- Ingresa el siguiente comando:
Se muestra la lista de zonas de identidad:usermgmt_platform list
myzone1 myzone2
- Ingresa el nombre de una zona cuando aparezca el mensaje:
Enter a zone name: myzone1
Se muestra la lista de usuarios de máquina en la zona de identidad:
Machine users in the zone: machineuser1@mycompany.com
Restablecer la contraseña de un usuario de máquina en una zona de identidad
Restablece la contraseña de un usuario de máquina en una zona de identidad con el comando usermgmt_platform reset. Consulta Usa la CLI para ver la lista de plataformas compatibles.
- Escribe el comando siguiente:
usermgmt_platform reset
Se muestra la lista de zonas de identidad:
myzone1 myzone2
- Ingresa el nombre de una zona cuando aparezca el mensaje:
Enter a zone name: myzone1
- Ingresa el nombre de usuario del usuario de la máquina para el que quieres restablecer la contraseña:
Reset User Password Enter the username for the machine user Username: machineuser1@mycompany.com
- Ingresa una contraseña nueva para el usuario de la máquina. Vuelve a ingresar la contraseña cuando se te solicite.
Enter the new password: password Re-enter password: password
Se restablece la contraseña.
Reset password for machine user machineuser1@mycompany.com
Borrar un usuario de máquina de una zona de identidad
Borra un usuario de máquina de una zona de identidad con el comando usermgmt_platform delete. Consulta Usa la CLI para ver la lista de plataformas compatibles.
- Escribe el comando siguiente:
Se muestra la lista de zonas de identidad:usermgmt_platform delete
myzone1 myzone2
- Ingresa el nombre de una zona cuando aparezca el mensaje:
Enter a zone name: myzone1
- Ingresa el nombre de usuario para el usuario de la máquina que deseas borrar:
Delete User Enter the username for the machine user Username: machineuser1@mycompany.com
Se borra el usuario de la máquina.
Deleted user machineuser1@mycompany.com
Asigna los roles necesarios al usuario de la máquina en tu organización de Edge
Con la IU, agrega el usuario de la máquina a tu organización de Edge habilitada para SAML y asígnale los roles necesarios (como administrador de la organización). como se describe en Cómo agregar usuarios.
Obtén los tokens de OAuth2 del usuario de la máquina
Puedes automatizar el proceso de generación de tokens y controlar el almacenamiento en caché de tokens para los usuarios de la máquina con el
acurl
(1) y get_token
(1), como se describe en
OAuth2 para usuarios de máquinas y usuarios de máquinas en zonas de SAML.
Para obtener los tokens de OAuth2 del usuario de la máquina de forma manual con curl
, haz lo siguiente:
- Usa tu herramienta de codificación de URL preferida para codificar el nombre de usuario y la contraseña del usuario de la máquina.
Advertencia: Usa una herramienta de codificación de URL
interna para garantizar que las credenciales de usuario de la máquina no se vean comprometidas. - Genera los tokens de acceso inicial y actualización llamando al extremo del token de SAML, como se muestra en el siguiente ejemplo:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token -s \ -d 'grant_type=password&username=machineusername&password=machineuserpassword'
Para obtener autorización, pasa la credencial de cliente de OAuth2 reservada,
ZWRnZWNsaTplZGdlY2xpc2VjcmV0
, en el EncabezadoAuthorization
. La llamada imprime los tokens de acceso y actualización enstdout
- Pasa el token de acceso a una llamada a la API de Edge Management como encabezado del portador:
curl -H "Authorization: Bearer ACCESS_TOKEN" \ https://api.enterprise.apigee.com/v1/organizations/orgName
- Cuando venza el token de acceso, podrás actualizarlo enviando el token de actualización a SAML
extremo del token, como se muestra en el siguiente ejemplo:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
(1) Copyright 2023 Google LLC
Las herramientas usermgmt
, acurl
y get_token
están disponibles como "Software". debajo de
que regula su uso de Google Cloud, incluido el Servicio
Condiciones Específicas disponibles en https://cloud.google.com/terms/service-terms.