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:
- Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0
- SAML Version 2.0 Errata 05
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 |
|
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.