Cómo usar las utilidades y las APIs de administrador de Edge después de habilitar el SSO de Apigee

En esta sección, se describe cómo ejecutar las herramientas y los comandos de administrador del sistema de Edge después de habilitar el SSO de Apigee. Muchas tareas en Edge requieren credenciales de administración del sistema, como las siguientes:

  • Crear organizaciones y entornos
  • Agregar y quitar componentes de Edge
  • Ejecutar comandos apigee-adminapi.sh

Sin embargo, después de habilitar el SSO en Edge, por lo general, inhabilitas la autenticación básica para que la única forma de autenticarse sea a través del IdP de OIDC/SAML. Por lo tanto, debes asegurarte de haber agregado la cuenta de administrador del sistema a tu IdP o de haber creado un usuario de máquina local para la automatización.

Cómo llamar a las APIs de administración de Edge como el administrador del sistema

Muchas llamadas a la API de Edge requieren que pases las credenciales de administrador del sistema. En Usar SAML con la API de administración de Edge, se incluyen instrucciones para obtener y actualizar tokens con la utilidad get_token cuando se realizan llamadas a la API de administración de Edge.

Cómo usar la utilidad apigee-adminapi.sh con el SSO de Apigee

Usa la utilidad apigee-adminapi.sh para realizar las mismas tareas de configuración de Edge que realizas cuando llamas a la API de administración de Edge. La ventaja de la apigee-adminapi.sh utilidad es que:

  • Usa una interfaz de línea de comandos simple.
  • Implementa la finalización de comandos basada en pestañas.
  • Proporciona información de ayuda y uso.
  • Puede mostrar la llamada a la API correspondiente si decides probar la API.

Después de habilitar el SSO de Apigee, tienes dos formas principales de pasar credenciales a la utilidad apigee-adminapi.sh, según si eres un administrador humano o una secuencia de comandos automatizada.

Para ver todas las opciones de cualquier comando apigee-adminapi.sh, incluidas las opciones para especificar las credenciales de SSO, usa la opción -h en el comando. Por ejemplo:

apigee-adminapi.sh orgs list -h

Cómo pasar un token de portador (para administradores humanos)

Debido a que el SSO de Apigee modernizado no admite el flujo heredado de copiar y pegar /passcode, los administradores humanos deben usar la utilidad get_token para completar el flujo de código de dispositivo de OAuth 2.0 y, luego, pasar el token resultante a la secuencia de comandos.

Primero, obtén un token:

/opt/apigee/apigee-openldap/bin/get_token -u adminEmail

Luego, usa el token cuando llames al comando:

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \
  --admin adminEmail --oauth-token token_string

Donde:

  • oauth-flow especifica passcode (esto indica a la secuencia de comandos heredada que se proporciona un token).
  • oauth-token contiene la cadena JWT sin procesar obtenida de get_token.

Cómo pasar una contraseña (solo para usuarios de máquina)

Si automatizas las implementaciones de infraestructura, puedes pasar las credenciales directamente con el flujo password_grant. Sin embargo, si la federación de SAML/OIDC está habilitada, se bloquea el acceso con contraseña de los usuarios de sombra humanos para evitar la omisión de MFA. Primero, debes aprovisionar un usuario de máquina explícito en OpenLDAP.

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \
  --admin machineUserEmail --oauth-password machineUserPassword

Donde:

  • La opción sso-url especifica la URL del SSO de Apigee. Modifica el puerto o el protocolo si los cambiaste de 9099 y HTTP.
  • oauth-flow especifica password_grant.
  • machineUserEmail es la dirección de correo electrónico del usuario de máquina automatizado.
  • oauth-password especifica la contraseña del usuario de máquina.

Cómo usar las utilidades de Edge con el SSO de Apigee

Muchas utilidades de Edge requieren credenciales de administrador del sistema, como las siguientes:

  • apigee-provision que se usa para crear organizaciones, entornos y hosts virtuales
  • setup.sh que se usa para agregar nodos a un sistema existente
  • Cualquier otra utilidad en la que debas especificar las credenciales de administrador del sistema en un archivo de configuración

Estas utilidades toman como entrada un archivo de configuración que especifica las credenciales del administrador del sistema. Antes de que se habilite el SSO, esto se hace con las siguientes propiedades:

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW="adminPWord"

Después de habilitar el SSO de Apigee, debes usar diferentes propiedades para especificar las credenciales del administrador del sistema.

Cómo usar un token de portador (para administradores humanos)

Para las implementaciones interactivas de administradores humanos, obtén un token con la utilidad get_token y proporciónalo a través de la propiedad OAUTH_BEARER_TOKEN:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="passcode"
OAUTH_BEARER_TOKEN="token_string"

Donde:

  • OAUTH_FLOW especifica passcode (lo que indica que se proporciona un token).
  • OAUTH_BEARER_TOKEN contiene la cadena JWT sin procesar obtenida de get_token.

Cómo usar una contraseña (solo para usuarios de máquina)

Para las implementaciones completamente automatizadas, proporciona las credenciales de un usuario de máquina aprovisionado de forma explícita con el flujo password_grant:

ADMIN_EMAIL="machineUserEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="password_grant"
OAUTH_ADMIN_PASSWORD="machineUserPassword"

Donde:

  • SSO_LOGIN_URL especifica la URL del SSO de Apigee.
  • OAUTH_FLOW especifica password_grant.
  • OAUTH_ADMIN_PASSWORD especifica la contraseña del usuario de máquina.