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 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.

Vinyl 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 la rol SP. En esta rol, Vinyl delega la autenticación a un proveedor de identidad externo. Los IdP admitidos incluyen:

Para conocer la rol de IdP, consulte Proveedor de identidad SAML.

Flujos

La especificación SAML Single Sign-On (SSO) define varios flujos. El proveedor de seguridad SAML admite los siguientes flujos de SSO 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 Vinyl e intenta acceder a una página restringida. Vinyl 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 nuevamente a Vinyl utilizando el enlace SAML Post (HTTP POST). Vinyl valida la respuesta SAML, asigna el identificador de nombre a una cuenta de usuario de Vinyl local y otorga los derechos asociados con la cuenta de usuario.

Tenga en cuenta que, antes de redirigir al usuario al IdP, Vinyl registra la URL de la página a la que el usuario intentó acceder. Una vez que el usuario se ha autenticado, Vinyl lo redirige a la página solicitada originalmente. 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 Vinyl a través del enlace SAML Post (HTTP POST). Al igual que con el flujo iniciado por el SP, Vinyl valida la respuesta SAML, asigna el identificador de nombre a una cuenta de usuario local de Vinyl y otorga los derechos asociados con la cuenta de usuario.

Normalmente, Vinyl redirigirá al usuario a su página de inicio tras iniciar sesión correctamente. Sin embargo, el IdP puede realizar un enlace profundo pasando 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 aserción SAML. Valores predeterminados para la audiencia.
  • Audiencia: restricción de audiencia de 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. El valor predeterminado es el URI del servicio de consumidor de aserciones (por ejemplo, SAML).

Precaución

Por motivos heredados, Audiencia tiene como valor predeterminado la URL raíz de la aplicación (por ejemplo, https://example.com/Vinyl/). Se recomienda encarecidamente que establezca explícitamente Audiencia en lugar de confiar en el valor predeterminado.

Extremos

Tipo Descripción
Extremo de metadatos extremo de metadatos del servicio SAML Single Sign-On (SSO). Este parámetro es necesario si los parámetros Request Redirect Extremo o SigningCertificate no están definidos.
URI de estado de retransmisión 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.
Solicitar Extremo de redireccionamiento extremo de solicitud de autenticación de inicio de sesión único (SSO) de SAML para el enlace de redireccionamiento. Este parámetro es necesario 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) de 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
AllowRelayStateRedirects False Indica si un inicio de sesión iniciado por un proveedor de identidad SAML (IdP) 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 forma predeterminada, el parámetro RelayState puede no contener un URI de redireccionamiento. Ajustado a True para permitir URI de redireccionamiento en el parámetro RelayState.

Para protegerse contra ataques de retransmisión abierta, el URI debe coincidir con el extremo_RelayState URI_.
IgnorarTlsErrors False Indica si Vinyl 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 aserción o ambas deben estar firmadas. Las opciones incluyen: - AssertionOrResponse - Deberá estar firmada la aseveración o la respuesta. - Assertion - La declaración debe estar firmada. - Response - Sólo deberá firmarse la respuesta. La afirmación hereda la firma de la respuesta. - AssertionAndResponse - Tanto la aseveración como la respuesta deberán estar firmadas.
LogPII False Indica que se debe registrar información de identificación personal (PII). Esta configuración entra en vigor al iniciar.

Reclamos

Las aserciones SAML contienen atributos. Los atributos son pares clave/valor de múltiples valores. Vinyl trata los atributos de aserción de SAML como reclamaciones. El nombre del atributo se asigna a un identificador de reclamo.

Por ejemplo, dada una aserció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 aprovisione la cuenta de usuario.

La siguiente tabla describe las asignaciones de notificaciones 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 un externo a un usuario de Vinyl.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Nombre Nombre de 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 amigable.
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.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distiownedname 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 al Consumidor de Afirmaciones

El proveedor de seguridad SAML expone un único extremo. El extremo recibe respuestas SAML. Esto se conoce como Servicio al consumidor de afirmaciones. Una URL del servicio al consumidor de Vinyl Assertion podría verse 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 Vinyl.
SAML URL codificada, nombre del proveedor de seguridad SAML. El valor distingue entre mayúsculas y minúsculas.

Solución de Problemas

Error "la AudienceRestrictionCondition No Era Válida Porque la Audiencia Especificada No Está Presente en AudienceUris".

Este error indica que el URI de audiencia no coincide. Asegúrese de que la propiedad Audiencia se haya establecido 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 Conocidos y Limitaciones

El proveedor de seguridad de inicio de sesión único (SSO) de Vinyl SAML tiene las siguientes limitaciones:

  • Sólo se podrá validar una única restricción de audiencia.
  • No se admite el protocolo de resolución de artefactos.
  • El protocolo de cierre de sesión no es compatible.