Configure apigee-sso para el acceso HTTPS

Edge for Private Cloud v4.18.05

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

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 en modo proxy, lo que significa que tienes instaló un balanceador de cargas frente a apigee-sso y finalizó TLS en la carga del balanceador de cargas. Luego, especifica el puerto que se usa en apigee-sso para las solicitudes de la carga. del balanceador de cargas.
  • SSL_TERMINATION: se habilitó el acceso TLS a apigee-sso, el módulo de SSO de Edge, en la el puerto que elijas. Debes especificar un almacén de claves para este modo que contenga un certificado firmado por un de Google Cloud. 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 Edge 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 Edge en el puerto 9099:

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

El motivo para configurar el módulo de SSO de Edge en modo SSL_PROXY es que el módulo de SSO de Edge Genera automáticamente las URLs de redireccionamiento que usa el IdP de forma externa como parte del proceso de autenticación. Por lo tanto, estas URLs de redireccionamiento deben contener el número de puerto externo en el balanceador de cargas, 443 in en este ejemplo, y no el puerto interno del módulo de SSO de Edge, 9099.

Nota: No es necesario crear un certificado y una clave TLS para Modo SSL_PROXY porque la conexión del balanceador de cargas al módulo de SSO de Edge usa HTTP.

Si deseas configurar el módulo de SSO de Edge para el modo SSL_PROXY, haz lo siguiente:

  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 Edge:
    /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 balanceador de cargas para acceder al SSO de Edge. Consulte Cómo configurar sus SAML IdP para obtener más información.
  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-ui configure-sso -f configFile

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

  5. Si instalaste el portal de servicios para desarrolladores de Apigee (o simplemente el portal), actualízalo para que use HTTPS para acceder a Ede SSO. Para obtener más información, consulta Configura el portal para que use SAML para comunicarse con Edge

Habilitar el modo SSL_TERMINATION

Para el modo SSL_TERMINATION, debes hacer lo siguiente:

  • Se generó un certificado y una clave de TLS, y se almacenaron 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.

Sigue estos pasos para crear un archivo de almacén de claves a partir de tu certificado y tu clave:

  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 Edge, 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 Edge:
    /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 balanceador de cargas para acceder al SSO de Edge. Consulte Cómo configurar sus SAML IdP para obtener más información.
  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

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

  5. Si instalaste el portal de Servicios para desarrolladores, actualízalo para que use HTTPS para acceder a Ede SSO. Para obtener más información, consulta Configura el Portal de servicios para desarrolladores en el que se usa SAML para comunicarse con Edge.

Configura SSO_TOMCAT_PROXY_PORT cuando se usa el modo SSL_TERMINATION

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

En esta situación, configurarás TLS en el SSO de Edge como lo hiciste anteriormente SSL_TERMINATION. Sin embargo, si la carga usa un número de puerto TLS diferente al que usa SSO de Edge 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 Edge 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.