Configure apigee-sso para el acceso HTTPS

Edge para nube privada v4.18.01

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

SSO_TOMCAT_PROFILE=DEFAULT

Como alternativa, puedes establecer SSO_TOMCAT_PROFILE en uno de los siguientes valores para habilitar el acceso HTTPS:

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

Puedes elegir habilitar HTTPS cuando instales y configures apigee-sso por primera vez, o bien puedes habilitarlo más adelante.

Habilitar el acceso HTTPS a apigee-sso con cualquiera de los modos inhabilita el acceso HTTP. Es decir, no puedes acceder a apigee-sso con HTTP y HTTPS de forma simultánea.

Habilita 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 la siguiente figura, el balanceador de cargas finaliza TLS en el puerto 443 y, luego, reenvía las solicitudes al 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 el IDP de SAML, ahora deben acceder al módulo de SSO de Edge en el puerto 443, no en el puerto sin protección de 9099.

El motivo para configurar el módulo de SSO de Edge en el modo SSL_PROXY es que el módulo de SSO de Edge genera de forma automática las URLs de redireccionamiento que el IdP usa 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 en este ejemplo, y no el puerto interno en el módulo de SSO de Edge, 9099.

Nota: No es necesario que crees un certificado y una clave TLS para el modo SSL_PROXY, ya que la conexión del balanceador de cargas al módulo de SSO de Edge usa HTTP.

Para 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

    # Especifica el puerto de apigee-sso, por lo general, entre 1025 y 65535.
    # Por lo general, los puertos 1024 y anteriores requieren acceso raíz por parte de apigee-sso.
    # El valor predeterminado es 9099.
    SSO_TOMCAT_PORT=9099

    # Especifica el número de puerto en el balanceador de cargas para finalizar TLS.
    # Este número de puerto es necesario para que apigee-sso genere URLs de redireccionamiento de forma automática.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # Establece el esquema de acceso público de apigee-sso en 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 de tu IDP para realizar una solicitud HTTPS en el puerto 443 del balanceador de cargas y acceder al SSO de Edge. Consulta Configura tu IdP de SAML para obtener más información.
  4. Actualiza la configuración de la IU de Edge para HTTPS estableciendo las siguientes propiedades:
    SSO_PUBLIC_URL_PORT=443
    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 o API BaaS, actualízalos para que usen HTTPS y accedan a SSO de Edge. Para obtener más información, consulta los siguientes recursos:

Habilita el modo SSL_TERMINATION

Para el modo SSL_TERMINATION, debes hacer lo siguiente:

  • Generar un certificado y una clave de TLS, y almacenarlos en un archivo de almacén de claves No puedes usar un certificado autofirmado. Debes generar un certificado de una CA.
  • 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 contenga un certificado firmado por una AC. No puedes usar un certificado autofirmado. Para ver un ejemplo de cómo crear un archivo JKS, consulta Configura TLS/SSL para Edge local.
  4. Haz que el archivo JKS sea propiedad del usuario "apigee":
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Para configurar el módulo de SSO de Edge, haz lo siguiente:

  1. Agrega los siguientes parámetros de configuración a tu archivo de configuración:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # Especifica la ruta de acceso al archivo del almacén de claves.
    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

    # Especifica el número de puerto HTTPS entre 1025 y 65535.
    # Por lo general, los puertos 1024 y anteriores requieren acceso raíz por parte de apigee-sso.
    # El valor predeterminado es 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 de tu IdP para que ahora realice una solicitud HTTPS en el puerto 9443 del balanceador de cargas para acceder al SSO de Edge. Consulta Configura tu IdP de SAML para obtener más información.
  4. Actualiza la configuración de la IU de Edge para HTTPS con 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 o API BaaS, actualízalos para que usen HTTPS y accedan a SSO de Edge. Para obtener más información, consulta los siguientes recursos:

Configura SSO_TOMCAT_PROXY_PORT cuando uses el modo SSL_TERMINATION

Es posible que tengas un balanceador de cargas frente al módulo de SSO de Edge que finalice TLS en el balanceador de cargas, pero que también habilite 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, configuras TLS en el SSO de Edge tal como lo hiciste antes para el modo SSL_TERMINATION. Sin embargo, si el balanceador de cargas usa un número de puerto TLS diferente del que usa el 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 el siguiente parámetro de configuración en el archivo de configuración:

# Especifica el número de puerto en el balanceador de cargas para finalizar TLS.
# Este número de puerto es necesario para que apigee-sso genere URLs de redireccionamiento.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Configura el IDP y la IU de Edge para realizar solicitudes HTTPS en el puerto 443.