Proveedor de Seguridad: SAML¶
La autenticación de inicio de sesión único (SSO) SAML se define en los siguientes documentos:
- Aserciones y protocolos para el lenguaje de marcado de afirmaciones de seguridad (SAML) de OASIS V2.0
- SAML Versión 2.0 Erratas 05
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 |
| 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.