Saltar al contenido

Proveedor de seguridad SAML en Jitterbit App Builder

La autenticación SAML de inicio de sesión único (SSO) se define en los siguientes documentos:

En un escenario de SSO, hay tres roles:

  • Principal - El usuario que accede a un servicio restringido.
  • Proveedor de Servicios (SP) - Proporciona acceso a servicios restringidos.
  • Proveedor de Identidad (IdP) - Autentica a los usuarios.

App Builder se puede configurar como un SP o IdP utilizando el proveedor de seguridad apropiado. Este documento cubre el proveedor de seguridad SAML, que se utiliza para el rol de SP. En este rol, App Builder delega la autenticación a un IdP de terceros. Los IdP compatibles incluyen:

Para el rol de IdP, consulte el proveedor de identidad SAML.

Flujos

La especificación SAML de inicio de sesión único (SSO) define varios flujos. El proveedor de seguridad SAML admite los siguientes flujos SSO de SAML:

  • Iniciado por el Proveedor de Servicios (SP)
  • Iniciado por el Proveedor de Identidad (IdP)

Iniciado por el proveedor de servicios (SP)

En el flujo iniciado por el Proveedor de Servicios (SP), un usuario navega a App Builder e intenta acceder a una página restringida. App Builder redirige al usuario al Proveedor de Identidad (IdP) a través del enlace de redirección SAML (HTTP GET). Una vez autenticado, el IdP redirige al usuario de vuelta a App Builder utilizando el enlace de publicación SAML (HTTP POST). App Builder valida la Respuesta SAML, mapea el identificador de nombre a una cuenta de usuario local de App Builder y otorga los derechos asociados con la cuenta de usuario.

Tenga en cuenta que, antes de redirigir al usuario al IdP, App Builder registra la URL de la página a la que el usuario intentó acceder. Una vez que el usuario se ha autenticado, App Builder redirige al usuario de vuelta a la página originalmente solicitada. Esto permite enlaces profundos.

Proveedor de identidad (IdP) iniciado

En el flujo del Proveedor de Identidad (IdP), un usuario navega directamente al IdP. Una vez autenticado, el usuario es redirigido a App Builder a través del enlace SAML Post (HTTP POST). Al igual que en el flujo iniciado por el SP, App Builder valida la Respuesta SAML, mapea el identificador de nombre a una cuenta de usuario local de App Builder y otorga los derechos asociados con la cuenta de usuario.

Típicamente, App Builder redirige al usuario a su página de inicio tras un inicio de sesión exitoso. Sin embargo, el IdP puede realizar un enlace profundo pasando el URI en el parámetro RelayState de la Respuesta SAML. Consulte el parámetro AllowRelayStateRedirects a continuación.

Configuración

Tokens

  • Emisor: El emisor de la aserción SAML. Por defecto, es la audiencia.
  • Audiencia: Restricción de audiencia de la aserción SAML. El valor debe ser un URI sintácticamente válido.
  • Destinatario: El destinatario de la aserción SAML. Este valor debe ser un URI sintácticamente válido. Por defecto, es el URI del Servicio de Consumo de Aserciones (por ejemplo, https://example.com/Vinyl/signin-SAML).

Advertencia

Por razones de legado, Audiencia por defecto es la URL raíz de la aplicación (por ejemplo, https://example.com/Vinyl/). Se recomienda encarecidamente que establezca explícitamente la Audiencia en lugar de confiar en el valor por defecto.

Puntos finales

Tipo Descripción
Punto final de metadatos Punto final de metadatos del servicio de inicio de sesión único (SSO) SAML. Este parámetro es requerido si los parámetros Request Redirect Endpoint o SigningCertificate están indefinidos.
URI de RelayState URI de redirección RelayState permitido para una solicitud iniciada por un Proveedor de Identidad (IdP) SAML. Consulte el parámetro AllowRelayStateRedirects para información adicional.
Punto final de redirección de solicitud Punto final de solicitud de autenticación SAML Single Sign-On (SSO) para el enlace de redirección. Este parámetro es requerido si el Punto final de metadatos está indefinido.

Certificados

Propósito Tipo Formato Descripción
Validación de Firma Certificado X.509
  • PEM (CERTIFICATE)
  • PKCS#12 (PFX), codificado en base64
Certificado X.509 utilizado para validar las firmas de respuesta de SAML Single Sign-On (SSO).

El certificado de validación de firma es requerido si el Endpoint de Metadatos no está definido.

Propiedades

El proveedor de seguridad SAML define los siguientes parámetros adicionales:

Parámetro Predeterminado Descripción
AllowRelayStateRedirects False Indica si un inicio de sesión iniciado por un Proveedor de Identidad (IdP) SAML puede incluir una URI de redirección en el parámetro RelayState. La URI de redirección es la ubicación a la que el usuario será redirigido después de iniciar sesión.

Por defecto, el parámetro RelayState no puede contener una URI de redirección. Establecer en True para permitir URIs de redirección en el parámetro RelayState.

Para protegerse contra ataques de relé abiertos, la URI debe coincidir con el endpoint de RelayState URI.
IgnoreTlsErrors False Indica si App Builder debe ignorar los errores de certificado HTTPS al realizar solicitudes de canal de retorno para recuperar los metadatos del servicio.

Esta configuración es solo para propósitos de configuración y prueba. No habilite esta configuración en un sistema en funcionamiento.
SignatureRequirement AssertionOrResponse Indica si la respuesta SAML, la afirmación o ambas deben estar firmadas. Las opciones incluyen: - AssertionOrResponse - Ya sea la afirmación o la respuesta debe estar firmada. - Assertion - La afirmación debe estar firmada. - Response - Solo la respuesta debe estar firmada. La afirmación hereda la firma de la respuesta. - AssertionAndResponse - Tanto la afirmación como la respuesta deben estar firmadas.
LogPII False Indica que la información de identificación personal (PII) debe ser registrada. Esta configuración entra en efecto al iniciar.

Afirmaciones

Las afirmaciones SAML contienen atributos. Los atributos son pares clave/valor de múltiples valores. App Builder trata los atributos de afirmación SAML como afirmaciones. El nombre del atributo se mapea a un identificador de afirmación.

Por ejemplo, dado un aserto SAML con el siguiente atributo:

<Attribute AttributeName="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
  <AttributeValue>Arthur.Dent</AttributeValue>
</Attribute>

Mapear el identificador http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name a la propiedad Name establecerá el nombre de usuario como "Arthur.Dent" cuando se aprovisione la cuenta de usuario.

La siguiente tabla describe los mapeos de reclamos predeterminados:

Identificador Propósito Descripción
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier Identificador de Nombre Identificador único e inmutable utilizado para mapear la identidad de terceros a un usuario de App Builder.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Nombre Nombre de usuario.
http://schemas.xmlsoap.org/claims/Group Grupo Membresía en grupo de seguridad.
http://schemas.zudy.com/identity/claims/fullname Nombre Completo Nombre completo.
http://schemas.zudy.com/identity/claims/displayname Nombre para Mostrar Nombre amigable.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress Dirección de Correo Electrónico Dirección de correo electrónico.
http://schemas.zudy.com/identity/claims/phonenumber Número de Teléfono Número de teléfono.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint Huella digital del certificado X.509.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname Nombre distinguido del certificado X.509.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns Nombre DNS del certificado X.509.

Integración

Servicio de consumidor de aserciones

El proveedor de seguridad SAML expone un único punto final. Este punto final recibe Respuestas SAML. Esto se conoce como el Servicio de Consumidor de Aserciones. Una URL del Servicio de Consumidor de Aserciones de App Builder podría verse algo así:

https://example.com/Vinyl/signin-SAML

La URL se compone de las siguientes partes:

Componente Descripción
https://example.com/Vinyl/ URL absoluta del directorio raíz de la aplicación App Builder.
SAML Nombre del proveedor de seguridad SAML codificado en URL. El valor es sensible a mayúsculas y minúsculas.

Solución de problemas

Error "The AudienceRestrictionCondition was not valid because the specified Audience is not present in AudienceUris."

Este error indica que la URI de audiencia no coincide. Asegúrese de que la propiedad Audience se haya establecido explícitamente. Si no se establece, se predeterminará a la URL actual, que puede variar según el usuario. El valor es sensible a mayúsculas y minúsculas.

Problemas conocidos y limitaciones

El proveedor de seguridad SSO (Inicio de sesión único) SAML de App Builder tiene las siguientes limitaciones:

  • Solo se puede validar una única restricción de audiencia.
  • El protocolo de resolución de artefactos no es compatible.
  • El protocolo de cierre de sesión no es compatible.