Configurar el SSO de Apigee para el acceso HTTPS

En Instala y configura el SSO de Apigee, se describe cómo instalar y configurar el módulo de SSO de Apigee para usar HTTP en el puerto 9099, como se especifica en el La siguiente propiedad en el archivo de configuración de Edge:

SSO_TOMCAT_PROFILE=DEFAULT

También puedes establecer SSO_TOMCAT_PROFILE en una de las siguientes opciones: para habilitar el acceso HTTPS:

  • SSL_PROXY: configura apigee-sso, el módulo de SSO de Apigee, en modo proxy, lo que significa que instalaste un balanceador de cargas frente a apigee-sso y finalizar TLS en el balanceador de cargas. Luego, especifica el puerto que se usa apigee-sso para las solicitudes del balanceador de cargas.
  • SSL_TERMINATION: Se habilitó el acceso TLS a apigee-sso en el el puerto que elijas. Debes especificar un almacén de claves para este modo que contenga un certificado. firmado por una CA. No puedes usar un certificado autofirmado.

Puedes habilitar HTTPS en el momento de la instalación y configuración iniciales apigee-sso o puedes habilitarla más tarde.

Si habilitas el acceso HTTPS a apigee-sso en cualquiera de los modos, se inhabilita HTTP el acceso a los datos. Es decir, no puedes acceder a apigee-sso mediante HTTP y HTTPS de forma simultánea.

Habilitar el modo SSL_PROXY

En el modo SSL_PROXY, tu sistema usa un balanceador de cargas frente al módulo de SSO de Apigee y finaliza TLS en el balanceador de cargas. En En la siguiente figura, el balanceador de cargas finaliza TLS en el puerto 443 y reenvía las solicitudes al el módulo de SSO de Apigee en el puerto 9099:

En esta configuración, confías en la conexión del balanceador de cargas al módulo de SSO de Apigee, por lo que no es necesario usar TLS para esa conexión. Sin embargo, las entidades externas, como IdP, ahora debe acceder al módulo de SSO de Apigee en el puerto 443, no en el puerto desprotegido del 9099.

El motivo para configurar el módulo de SSO de Apigee en modo SSL_PROXY es que el SSO de Apigee genera automáticamente las URLs de redireccionamiento usadas externamente por el IdP como parte del proceso de el proceso de administración de recursos. Por lo tanto, estas URLs de redireccionamiento deben contener el número de puerto externo en la carga balanceador de cargas, 443 en este ejemplo, y no el puerto interno del módulo de SSO de Apigee, 9099.

Si deseas configurar el módulo de SSO de Apigee para el modo SSL_PROXY, sigue estos pasos:

  1. Agrega los siguientes parámetros de configuración a tu archivo de configuración:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configura el módulo de SSO de Apigee:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Actualiza la configuración del IdP para realizar ahora una solicitud HTTPS en el puerto 443 de la carga para acceder al SSO de Apigee. Para obtener más información, consulta una de las siguientes opciones:
  4. Actualiza la configuración de la IU de Edge para HTTPS configurando las siguientes propiedades en el archivo de configuración:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Luego, actualiza la IU de Edge:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile

    Usa el componente edge-ui para la IU clásica.

  5. Si instalaste el portal de servicios para desarrolladores de Apigee (o simplemente el portal), actualízalo para que use HTTPS y acceda al SSO de Apigee. Para más información, consulta Configura el portal para usar IdP externos

Consulta Habilita un IdP externo en la IU de Edge para obtener más información.

Habilitar el modo SSL_TERMINATION

Para el modo SSL_TERMINATION, debes hacer lo siguiente:

  • Genera un certificado y una clave TLS, y almacénalos en un archivo de almacén de claves. No puedes utilizar un certificado autofirmado. Debes generar un certificado de una AC.
  • Actualiza los parámetros de configuración de apigee-sso.

Para crear un archivo de almacén de claves a partir de tu certificado y clave, haz lo siguiente:

  1. Crea un directorio para el archivo JKS:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Cambia al directorio nuevo:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Crea un archivo JKS que contenga el certificado y la clave. Debes especificar un almacén de claves para este modo. que contiene un certificado firmado por una AC. No puedes usar un certificado autofirmado. Por ejemplo o un archivo JKS, consulta Cómo configurar TLS/SSL para Edge On-Premises.
  4. Hacer que el archivo JKS sea propiedad del “Apigee” usuario:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Para configurar el módulo de SSO de Apigee, sigue estos pasos:

  1. Agrega los siguientes parámetros de configuración a tu archivo de configuración:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configura el módulo de SSO de Apigee:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Actualiza la configuración del IdP para realizar ahora una solicitud HTTPS en el puerto 9443 de la carga para acceder al SSO de Apigee. Asegúrate de que ningún otro servicio esté usando este puerto.

    Para obtener más información, consulta lo siguiente:

  4. Actualiza la configuración de la IU de Edge para HTTPS configurando las siguientes propiedades:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. Si instalaste el portal de Servicios para desarrolladores, actualízalo para que use HTTPS para acceder al SSO de Apigee. Para obtener más información, consulta Configura el portal para usar IdP externos.

Configurar SSO_TOMCAT_PROXY_PORT cuando se use el modo SSL_TERMINATION

Es posible que tengas un balanceador de cargas frente al módulo de SSO de Apigee que finaliza TLS en la carga pero también habilita TLS entre el balanceador de cargas y el SSO de Apigee. En la figura anterior para el modo SSL_PROXY, esto significa que la conexión del balanceador de cargas al SSO de Apigee usa TLS.

En esta situación, configurarás TLS en el SSO de Apigee como lo hiciste anteriormente SSL_TERMINATION. Sin embargo, si la carga usa un número de puerto TLS diferente al que usa el SSO de Apigee para TLS, también debes especificar la propiedad SSO_TOMCAT_PROXY_PORT en el archivo de configuración. Por ejemplo:

  • El balanceador de cargas finaliza TLS en el puerto 443
  • El SSO de Apigee finaliza TLS en el puerto 9443

Asegúrate de incluir la siguiente configuración en el archivo de configuración:

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Configura la IU del IdP y perimetral para realizar solicitudes HTTPS en el puerto 443.