Saltar al contenido

Proveedor de Seguridad: SAML

La autenticación de inicio de sesión único (SSO) SAML 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 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
  • PEM (CERTIFICATE)
  • PKCS#12 (PFX), codificado en base64
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.