Escenarios, características y limitaciones de inicio de sesión único SAML

SAML (Security Assertion Markup Language) es un estándar abierto de OASIS para representar e intercambiar información de identidad de usuarios, autenticación y atributos. SAML se está convirtiendo rápidamente en la tecnología preferida para proporcionar interoperabilidad de inicio de sesión único (SSO) entre proveedores.

El proveedor de servicios SAML de WebSphere Application Server da soporte al inicio de sesión único (SSO) iniciado por el proveedor de identidades (IdP) de SAML 2.0. El servicio de inicio de sesión único iniciado por IdP de WebSphere se implementa como un interceptor de asociación de confianza y puede describirse del modo siguiente:
  1. El usuario accede a una aplicación web frontal que puede residir en el IdP, el proveedor de servicios o en otros lugares.
  2. La aplicación web frontal redirige al usuario a IdP y el usuario se autentica en IdP.
  3. IdP redirige al usuario al servicio de consumidor de aserción (ACS) en el proveedor de servicios enviando la respuesta SAML a través de HTTP POST dentro de un formulario oculto.
  4. El proveedor de servicios procesa la respuesta de SAML y crea el contexto de seguridad de WebSphere.
  5. El proveedor de servicios añade la cookie LTPA a la respuesta HTTP y redirige la solicitud de recursos web o a la aplicación empresarial.
  6. WebSphere Application Server intercepta la solicitud y correlaciona la cookie LTPA con el contexto de seguridad y autoriza el acceso de los usuarios al recurso web solicitado.
  7. WebSphere Application Server envía la respuesta HTTP al usuario.

En las imágenes siguientes se muestra el flujo de inicio de sesión único SAML:

Flujo de SSO SAML

Entre las características de inicio de sesión único SAML figuran las siguientes:
  • El proveedor de servicios SAML de WebSphere da soporte al inicio de sesión único con varios proveedores de identidades.
  • El proveedor de servicios SAML de WebSphere da soporte a opciones para la aserción de identidad y la correlación de la identidad de la aserción con el registro de usuarios del proveedor de servicios.
  • El proveedor de servicios SAML de WebSphere puede correlacionar o confirmar atributos de señales SAML al reino, principal, ID exclusivo y al grupo y puede establecerlos en el contexto de seguridad del proveedor de servicios.
  • El proveedor de servicios SAML de WebSphere proporciona un punto de conexión para permitir la correlación de identidades personalizada.
  • El proveedor de servicios SAML de WebSphere tiene una opción para recuperar la pertenencia a grupos de la identidad desde el registro del proveedor de servicios y llenar el contexto de seguridad.
  • El proveedor de servicios SAML de WebSphere proporciona un filtro de selección de IdP para direccionar la solicitud al IdP adecuado si la solicitud no procede del IdP.
  • El proveedor de servicios SAML de WebSphere da soporte a los algoritmos de firma RSA-SHA1 y RSA-SHA256.
  • El proveedor de servicios SAML de WebSphere conserva la señal SAML en el sujeto del proveedor de servicios para su acceso por parte de la aplicación, y hace que esté disponible para un Enterprise JavaBean (EJB) autenticado en sentido descendente o una llamada a servicio web.
  • El proveedor de servicios SAML de WebSphere permite que un URL de aplicación empresarial actúe como un URL AssertionConsumerService, de modo que el IdP pueda enviar una respuesta SAML (SAMLResponse) directamente al URL de la aplicación empresarial.
  • El interceptor de asociación de confianza (TAI) SAML de WebSphere permite la auditoría de aserciones SAML clave, incluidas Issuer y NameID.
Los siguientes puntos destacados y mejores prácticas se aplican a las características de inicio de sesión único SAML:
  • Servicio de consumidor de aserción (ACS) en el proveedor de servicios SAML de WebSphere:
    ACS es un servlet protegido que acepta un mensaje de protocolo SAML y establece el contexto de seguridad. Un URL de ACS tiene una raíz de contexto (ContextRoot) predefinida como samlsps, y un URL tiene el formato siguiente:
    https://<nombre_host>:<puerto>/samlsps/<cualquier patrón URI>
    La respuesta SAML (SAMLResponse) recibida por el ACS será interceptado por el TAI y, al ser validada correctamente, la solicitud se redirigirá al servicio de la aplicación de destino.

    Cualquier servicio de negocio que implemente el método POST puede actuar como un ACS. El uso de un servlet empresarial de destino como un ACS es preferible, ya que se reduce a un viaje de ida y vuelta entre el navegador y el servidor del proveedor de servicios.

  • Soporte de dominio de seguridad múltiple:
    Un ACS se despliega en un dominio de seguridad de aplicación, y se espera que el ACS resida en el mismo dominio de seguridad que la aplicación empresarial. Si el ACS y la aplicación empresarial de destino (RelayState) están en dominios de seguridad distintos, las siguientes son algunas opciones recomendadas:
    • Procesar la respuesta SAML (SAMLResponse) en el dominio de seguridad del ACS.
    • Reconfigurar el ACS para que tenga el mismo dominio que la aplicación empresarial.
    • Utilizar el servicio empresarial de destino como ACS.
  • Varios socios de inicio de sesión único individuales:

    El TAI de SAML de WebSphere da soporte a varios socios de inicio de sesión único (SingleSignOnService) ACS e IdP de sesión único. Un socio de inicio de sesión único se define como un URL de ACS, y puede tener varios objetos SingleSignOnService. Con la existencia de varios socios de inicio de sesión único, cada asociación de inicio de sesión único se identifica de forma exclusiva mediante un URL de ACS.

    Cada socio de inicio de sesión único puede tener sus propias reglas de validación, regla de correlación de aserción a sujeto o una regla para iniciar el inicio de sesión único con su propio IdP. Por ejemplo, un socio de inicio de sesión único puede manejar la aserción de ID, que consiste en generar un sujeto de plataforma WebSphere sin llamar al registro de usuarios. Otro socio de inicio de sesión único puede realizar una búsqueda en el registro de usuarios local. Otro ejemplo consiste en que un socio de inicio de sesión único maneja el inicio de sesión único con un IdP y otro socio de inicio de sesión único maneja el inicio de sesión único con un IdP diferente.

  • Inicio de sesión único estilo marcador y filtro de TAI:

    Considere un inicio de sesión único estilo marcador que tradicionalmente encaja en un inicio de sesión único-iniciada por un proveedor de servicios. El usuario accede a la aplicación empresarial sin autenticarse en el IdP en primer lugar. El TAI de SAML de WebSphere puede configurarse para iniciar un inicio de sesión único. Cada configuración de socio de inicio de sesión único contiene una aplicación de inicio de sesión IdP y un filtro de direccionamiento. Cada filtro define una lista de reglas de selección que representa las condiciones que se comparan con la solicitud HTTP para determinar si la solicitud HTTP se selecciona o no para un socio de inicio de sesión único. La regla de filtro es una combinación de cabecera de solicitud HTTP, datos de referenciador y nombre de aplicación de destino. El entorno de ejecución del TAI de SAML de WebSphere comprueba la solicitud del usuario comparándola con todas las reglas de filtro para identificar de forma exclusiva el socio de inicio de sesión único y redirecciona la solicitud a la aplicación de inicio de sesión IdP seleccionada. El filtro TAI permite que un inicio de sesión único iniciado por IdP proporcione una funcionalidad similar a la de la combinación de un inicio de sesión único iniciado por el proveedor de servicios y un servicio de descubrimiento de IdP.

  • Correlación de identidad y gestión del contexto de seguridad:
    El TAI de SAML de WebSphere proporciona una correlación de identidad rica y flexible y se puede clasificar del modo siguiente:
    • Aserción de identidad: correlacione la aserción SAML con el sujeto de la plataforma WebSphere sin un registro local. Entre los escenarios de aserción de ID típicos figuran:
      • Valor predeterminado: utilice NameID como principal, issuer como dominio y el atributo seleccionado como miembros del grupo.
      • Personalizado: configure atributos de SAML como principal, dominio, ID de acceso y grupo de miembros.
    • Correlacione el ID de nombre del IdP contra el registro de usuarios del proveedor de servicios y cree el sujeto a partir del registro. Se da soporte a los siguientes escenarios:
      • Correlacione directamente el NameId de SAML con el registro local.
      • Ofrezca un punto de plug-in para la correlación personalizada y, a continuación, utilice un usuario nuevo para crear el sujeto.
      • Correlacione NameID con el registro de usuarios y retrotraiga a la aserción de ID.
    • Combinación de aserción de ID y registro local:

      Además de la aserción de ID, el TAI busca grupos padre de los grupos confirmados en el registro de usuarios del proveedor de servicios e incluye los grupos padre en el sujeto. Por ejemplo, se otorga autorización a los grupos padre, pero el proveedor de identidades no conoce los nombres de los grupos padre.

WebSphere Application Server solo da soporte al inicio de sesión único web SAML iniciado por IdP.

Las siguientes especificaciones o escenarios están fuera del ámbito:
  • Perfil de cliente o proxy mejorado (ECP)
  • Perfil de descubrimiento del proveedor de identidades
  • Perfil de fin de sesión único
  • Perfil de gestión de identificadores de nombres
  • Perfil de resolución de artefactos
  • Consulta de aserción/Perfil de solicitud
  • Perfil de correlación de identificadores de nombres
  • Perfiles de atributos SAML

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_samlssosummary
File name: cwbs_samlssosummary.html