Usa un IdP externo con la API de Edge Management

La autenticación básica es una forma de autenticarte cuando se realizan llamadas a la API de Edge Management. Por ejemplo, puedes realizar la siguiente solicitud curl a la API de Edge Management para acceder información sobre tu organización:

curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

En este ejemplo, se usa la opción curl -u para pasar la autenticación básica credenciales. También puedes pasar un token de OAuth2 en el encabezado Bearer para hacer Llamadas a la API de Edge Management, como se muestra en el siguiente ejemplo:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Después de habilitar un IdP externo para la autenticación, puedes inhabilitar el nivel Básico autenticación. Si inhabilitas el modo básico autenticación, todas las secuencias de comandos (como Maven, shell y apigeetool) que se basan en que las llamadas a la API de Edge Management que admiten la autenticación básica ya no funcionan. Debes actualizar cualquier llamada a la API y secuencias de comandos que usen autenticación básica para pasar tokens de acceso OAuth2 en la Encabezado Bearer.

Cómo obtener y actualizar tokens con get_token

La utilidad get_token intercambia tus credenciales de autenticación básica (y, en algunos casos, una contraseña) para un token de acceso y actualización de OAuth2. La utilidad get_token acepta tu credenciales y muestra un token de acceso válido. Si se puede actualizar un token, la utilidad lo actualiza y lo devuelve. Si el token de actualización vence, se te solicitarán las credenciales del usuario.

La utilidad get_token almacena los tokens en el disco, listos para usarse cuando sea necesario. Integra también imprime un token de acceso válido para stdout. Desde allí, puedes usar una extensión del navegador como Postman o incorpóralo en una variable de entorno para usarlo en curl.

Si quieres obtener un token de acceso de OAuth2 para realizar llamadas a la API de Edge Management, sigue estos pasos:

  1. Descarga el paquete sso-cli:
    curl http://EDGE_SSO_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    Donde EDGE_SSO_IP_DNS es la dirección IP o el nombre de DNS de la máquina que aloja la Módulo de SSO de Apigee. Si configuraste TLS en el SSO de Apigee, usa https y los Número de puerto de TLS.

  2. Descomprime el paquete ssocli-bundle.zip, como se muestra en el siguiente ejemplo:
    unzip ssocli-bundle.zip
  3. Instala get_token en /usr/local/bin, como se muestra en el siguiente ejemplo:
    ./install -b PATH

    La opción -b especifica una ubicación diferente.

  4. Establece la variable de entorno SSO_LOGIN_URL en tu URL de acceso, en formulario:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

    Donde EDGE_SSO_IP_DNS es la dirección IP de la máquina que aloja el SSO de Apigee módulo. Si configuraste TLS en el SSO de Apigee, usa https y el puerto TLS correcto de la fila.

  5. (Solo SAML) En un navegador, navega a la siguiente URL para obtener una contraseña:
    http://EDGE_SSO_IP_DNS:9099/passcode

    Si configuraste TLS en el SSO de Apigee, usa https y el puerto TLS correcto de la fila.

    Esta solicitud devuelve una contraseña de un solo uso que sigue siendo válida hasta que actualices esa URL para obtener un código nuevo o usar el código de get_token para generar una token de acceso.

    Ten en cuenta que solo puedes usar una contraseña cuando te autenticas con un IdP de SAML. No puedes usar una contraseña para autenticarse con un IdP de LDAP.

  6. Invoca get_token para obtener el token de acceso de OAuth2, como se muestra en el siguiente ejemplo:
    get_token -u EMAIL_ADDRESS

    EMAIL_ADDRESS es la dirección de correo electrónico de un usuario de Edge.

    (Solo para SAML) Ingresa la contraseña en la línea de comandos, además del correo electrónico dirección, como se muestra en el siguiente ejemplo:

    get_token -u EMAIL_ADDRESS -p PASSCODE

    La utilidad get_token obtiene el token de acceso OAuth2 y lo imprime en pantalla y lo escribe junto con el token de actualización en ~/.sso-cli.

  7. Pasa el token de acceso a una llamada a la API de Edge Management como encabezado Bearer. como se muestra en el siguiente ejemplo:
    curl -H "Authorization: Bearer ACCESS_TOKEN"
      https://MS_IP:8080/v1/organizations/ORG_NAME
  8. Después de obtener un nuevo token de acceso por primera vez, puedes obtener el token de acceso y y pasarla a una llamada a la API con un solo comando, como se muestra en el siguiente ejemplo:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://MS_IP:8080/v1/o/ORG_NAME

    Con esta forma del comando, si el token de acceso expiró, se crea se actualiza hasta que caduque el token de actualización.

(Solo para SAML) Una vez que vence el token de actualización, get_token te solicita una nueva contraseña. Tú debe navegar a la URL que se muestra arriba en el paso 3 y generar una contraseña nueva antes de generar un nuevo token de acceso de OAuth.

Usa la API de Management para obtener y actualizar tokens

Utiliza OAuth2 de seguridad con la API de administración de Apigee Edge API de Edge Management para obtener y actualizar tokens. También puedes usar las llamadas a la API de Edge para obtener tokens generadas a partir de aserciones de SAML.

La única diferencia entre las llamadas a las APIs documentadas Uso de OAuth2 con la API de administración de Apigee Edge es que la URL de la llamada debe hacer referencia a su nombre de la zona. Además, para generar el token de acceso inicial con un IdP de SAML, debes incluir la contraseña, como se muestra en el paso 3 del procedimiento anterior.

Para obtener autorización, pasa una credencial de cliente OAuth2 reservada en el archivo Authorization. encabezado. La llamada imprime los tokens de acceso y actualización en la pantalla.

Obtén un token de acceso

(LDAP) Usa la siguiente llamada a la API para generar el acceso inicial y actualizar tokens:

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 \
  http://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'

(SAML) Usa la siguiente llamada a la API para generar el acceso inicial y actualizar tokens:

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://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&response_type=token&passcode=PASSCODE'

Ten en cuenta que la autenticación con un IdP de SAML requiere una contraseña temporal, mientras que un IdP de LDAP no lo hace.

Cómo actualizar un token de acceso

Para actualizar el token de acceso más adelante, usa la siguiente llamada que incluye el token de actualización:

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://EDGE_SSO_IP_DNS:9099/oauth/token \
  -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'