Proveedor de Seguridad: SAML
La autenticación de inicio de sesión único (SSO) SAML se define en los siguientes documentos:
- Afirmaciones y protocolos para el lenguaje de marcado de afirmaciones de seguridad (SAML) de OASIS V2.0
- Errores 05 de la versión 2.0 de SAML
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 SP o IdP utilizando el proveedor de seguridad adecuado. Este documento cubre el proveedor de seguridad * SAML*, que se utiliza para el rol SP. En este rol, App Builder delega la autenticación a un IdP de externo. Los IdP admitidos incluyen:
Para el rol de IdP, consulte Proveedor de identidad SAML.
Flujos
La especificación de inicio de sesión único (SSO) de SAML define varios flujos. El proveedor de seguridad SAML admite los siguientes flujos de inicio de sesión único (SSO) de SAML:
- Proveedor de servicios (SP) iniciado
- Proveedor de identidad (IdP) iniciado
Proveedor de Servicios (sp) Iniciado
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 redireccionamiento SAML (HTTP) GET
). Una vez autenticado, el IdP redirige al usuario de nuevo a App Builder utilizando el enlace SAML Post (HTTP POST
). App Builder valida la respuesta SAML, asigna el identificador de nombre a un local App Builder cuenta de usuario y otorga los derechos asociados a 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 redirecciona al usuario a la página solicitada originalmente. Esto permite la creación de enlaces profundos.
Iniciado por el Proveedor de Identidad (idp)
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 con el flujo iniciado por SP, App Builder valida la respuesta SAML, asigna el identificador de nombre a un local App Builder cuenta de usuario y otorga los derechos asociados con la cuenta de usuario.
Normalmente, App Builder redireccionará al usuario a su página de inicio una vez que haya iniciado sesión correctamente. Sin embargo, el IdP puede realizar un enlace profundo al pasar el URI en el parámetro RelayState de respuesta SAML. Consulte el parámetro AllowRelayStateRedirects a continuación.
Configuración
Fichas
- Emisor: el emisor de la afirmación SAML. El valor predeterminado es la audiencia.
- Audiencia: restricción de audiencia de la aserción SAML. El valor debe ser una URL sintácticamente válida.
- Destinatario: el destinatario de la aserción SAML. Este valor debe ser un URI sintácticamente válido. El valor predeterminado es el URI del servicio de consumidor de aserciones (por ejemplo, https://example.com/ )App Builder/signin- SAML).
Precaución
Por razones heredadas, Audience tiene como valor predeterminado la URL raíz de la aplicación (por ejemplo, https://example.com/App Builder/). Se recomienda encarecidamente que configure explícitamente la Audiencia en lugar de confiar en el valor predeterminado.
Extremos
Tipo | Descripción |
---|---|
Extremo de metadatos | extremo de metadatos del servicio de inicio de sesión único (SSO) SAML. Este parámetro es obligatorio si los parámetros Extremo de redireccionamiento de solicitud o Certificado de firma no están definidos. |
URI de RelayState | URI de redireccionamiento de RelayState permitido para una solicitud iniciada por un proveedor de identidad (IdP) SAML. Consulte el parámetro AllowRelayStateRedirects para obtener información adicional. |
Extremo de solicitud de redireccionamiento | extremo de solicitud de autenticación de inicio de sesión único (SSO) SAML para el enlace de redireccionamiento. Este parámetro es obligatorio si el Extremo de metadatos no está definido. |
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 inicio de sesión único (SSO) SAML. El certificado de validación de firma es necesario si el Punto final de metadatos no está definido. |
Propiedades
El proveedor de seguridad SAML define los siguientes parámetros adicionales:
Parámetro | Predeterminado | Descripción |
---|---|---|
Permitir redireccionamientos de estado de retransmisión | False | Indica si un inicio de sesión iniciado por un proveedor de identidad (IdP) SAML puede incluir un URI de redireccionamiento en el parámetro RelayState. El URI de redireccionamiento es la ubicación a la que se redirigirá al usuario después de iniciar sesión. De manera predeterminada, el parámetro RelayState no puede contener un URI de redireccionamiento. Establezca en True para permitir redirigir URI en el parámetro RelayState. Para protegerse contra ataques de retransmisión abierta, la URI debe coincidir con el extremo_RelayState URI_. |
Ignorar errores de Tls | False | Indica si App Builder debe ignorar los errores de certificado HTTPS al realizar solicitudes de canal secundario para recuperar los metadatos del servicio. Esta configuración es solo para fines de configuración y prueba. No habilite esta configuración en un sistema en ejecución. |
Requisito de firma | AssertionOrResponse | Indica si la respuesta SAML, la afirmación o ambas deben estar firmadas. Las opciones incluyen: - AssertionOrResponse - Tanto la afirmación como la respuesta deberán estar firmadas.- Assertion - La afirmación deberá estar firmada.- Response - Solo se debe firmar la respuesta. La afirmación hereda la firma de la respuesta. AssertionAndResponse - Tanto la afirmación como la respuesta deberán estar firmadas. |
Registro PII | False | Indica que se debe registrar la información de identificación personal (PII). Esta configuración entra en vigencia al iniciar el sistema. |
Reclamos
Las afirmaciones SAML contienen atributos. Los atributos son pares clave/valor de varios valores. App Builder trata los atributos de aserción SAML como reclamaciones. El nombre del atributo se asigna a un identificador de reclamación.
Por ejemplo, dada una afirmación SAML con el siguiente atributo:
<Attribute AttributeName="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>Arthur.Dent</AttributeValue>
</Attribute>
Mapeo del identificador http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
hacia Name
la propiedad establecerá el nombre de usuario en "Arthur.Dent" cuando se proporcione la cuenta de usuario.
La siguiente tabla describe las asignaciones de reclamo predeterminadas:.
Identificador | Propósito | Descripción |
---|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier | Identificador de nombre | Identificador único e inmutable utilizado para asignar la identidad de externo a an App Builder usuario. |
http://schemas.xmlsoap.org/claims/Group | Grupo | Membresía del 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 descriptivo. |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | Dirección de Correo | Dirección de Correo. |
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. |
Integración
Afirmación de Servicio al Consumidor
El proveedor de seguridad SAML expone un único extremo. El extremo recibe respuestas SAML. Esto se conoce como Servicio de consumidor de aserciones. {{ no such element: dict object['a_ab_uc'] }} la URL del servicio de consumidor de aserciones podría verse así:
https://example.com/App Builder/signin-SAML
La URL se compone de las siguientes partes:
Componente | Descripción |
---|---|
https://ejemplo.com/App Builder/ | URL absoluta de la App Builder directorio raíz de la aplicación. |
SAML | Nombre del proveedor de seguridad SAML codificado en URL. El valor distingue entre mayúsculas y minúsculas. |
Solución de Problemas
Error "la Condición AudienceRestrictionCondition No Era Válida Porque la Audiencia Especificada No Está Presente en AudienceUris".
Este error indica que la URL de la audiencia no coincide. Asegúrese de que la propiedad Audience se haya configurado explícitamente. Si no se configura, se utilizará de forma predeterminada la URL actual, que puede variar según el usuario. El valor distingue entre mayúsculas y minúsculas.
Problemas y Limitaciones Conocidos
El App Builder el proveedor de seguridad de inicio de sesión único (SSO) SAML tiene las siguientes limitaciones:
- Sólo se podrá 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.