Usa SAML con tareas automáticas

Edge para nube privada v. 4.17.09

Cuando se usa SAML con la API de Edge, el proceso que se emplea para obtener tokens de acceso de OAuth2 y de actualización de la aserción de SAML se denomina flujo de contraseña. Con el flujo de contraseñas, debes usar un navegador para obtener una contraseña de un solo uso que, luego, debes usar a fin de obtener tokens de OAuth2.

Sin embargo, tu entorno de desarrollo podría admitir la automatización de tareas de desarrollo comunes, como la automatización de pruebas o la 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 y pegar una contraseña desde un navegador.

Edge admite la generación automática de tokens mediante el uso de usuarios de máquinas. Un usuario de máquina puede obtener tokens de OAuth2 sin tener que especificar una contraseña. Eso significa que puedes automatizar completamente el proceso de obtención y actualización de tokens de OAuth2 mediante la API de Edge Management.

Crear un usuario de máquina

Usa la utilidad apigee-ssoadminapi.sh a fin de crear un usuario de máquina para una organización de SAML. Consulta Usa apigee-ssoadminapi.sh para obtener más información. Puedes crear un solo usuario de máquina para que se use en todas tus organizaciones o crear un usuario de máquina separado para cada organización.

El usuario de la máquina se crea y se almacena en el almacén de datos de Edge, no en tu proveedor de identidad SAML. Por lo tanto, no eres responsable de mantener el usuario de la máquina mediante la IU de Edge y la API de Edge Management.

Cuando creas el usuario de la máquina, debes especificar una dirección de correo electrónico y una contraseña. Después de crear el usuario de máquina, debes asignarlo a una o más organizaciones.

Para crear un usuario de máquina, haz lo siguiente:

  1. Usa el siguiente comando apigee-ssoadminapi.sh para crear el usuario de máquina:
    > apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME --secret SSO_ADMIN_SECRET --host edge_sso_user_or_DNS -u machine_user_email:

    • SSO_ADMIN_NAME es el nombre de usuario de administrador que define la propiedad SSO_ADMIN_NAME en el archivo de configuración que se usa para configurar el módulo de SSO de Edge. El valor predeterminado es ssoadmin.
    • SSO_ADMIN_SECRET es la contraseña de administrador que especifica la propiedad SSO_ADMIN_SECRET en el archivo de configuración.

      En este ejemplo, puedes omitir los valores de --port y --ssl porque el módulo apigee-sso usa los valores predeterminados de 9099 en --port y HTTP para --ssl. Si tu instalación no usa estos valores predeterminados, especifícalos según corresponda.
  2. Accede a la IU de Edge, agrega el correo electrónico del usuario de la máquina a tus organizaciones y asígnale el rol necesario. Consulta Agrega usuarios globales para obtener más información.

Obtén y actualiza el token de usuario de la máquina

Usa la API de Edge a fin de obtener y actualizar tokens de OAuth2. Para ello, pasa las credenciales del usuario de la máquina, en lugar de una contraseña.

A fin de obtener tokens de OAuth2 para el usuario de la máquina, haz lo siguiente:

  1. Usa la siguiente llamada a la API para generar el acceso inicial y los tokens de actualización:
    > curl -H "Content-Type: application/x-www-form-urlcoded;charset=utf-8" /
    -H " Accept: application/json;charset=utf-8" /
    -H "Authorization: Basic ZXWRnZdlY2 OAuth_user_auth2



    edge_sso_IP_DNS
    La llamada imprime los tokens de acceso y actualización en la pantalla. Guarda los tokens para usarlos en otro momento.
  2. Pasa el token de acceso a una llamada a la API de Edge Management como encabezado del portador:
    > curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName

    donde orgName es el nombre de la organización que contiene el usuario de la máquina.
  3. Para actualizar el token de acceso más tarde, usa la siguiente llamada que incluye el token de actualización:
    > curl -H "Content-Type:application/x-www-form-urlcoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    -H ": Authorization: Basic ZWRnZWNsaTplZ0.



    edge_sso_IP_DNS

Crea un usuario de máquina con la API de Edge Management

Puedes crear un usuario de máquina mediante la API de Edge Management en lugar de la utilidad apigee-ssoadminapi.sh. Para crear un usuario de máquina, haz lo siguiente:








  1. edge_sso_IP_DNS

    Este comando muestra un token que necesitas para realizar la próxima llamada.
  2. “machine cURL comando para crear el usuario de máquina, pasando el token que recibiste en el paso anterior:
    > curl “http://edge_sso_IP_DNS:9099/Users" -i -X POST /
    -H “Accept: application/json" -H “Content-Type: application/json" true"



  3. Accede a la IU de Edge, agrega el correo electrónico del usuario de la máquina a tus organizaciones y asígnale el rol necesario. Consulta Agrega usuarios globales para obtener más información.