Saltar al contenido

Configuración de Servicios de Federación de Active Directory Mediante WS-Federation

Vinyl puede integrarse con los Servicios de federación de Active Directory (AD FS) mediante el protocolo WS-Federation Passive. El protocolo WS-Federation Passive define los siguientes roles operativos:

Actor Rol
Vinyl Parte que confía
AD FS Proveedor de identidad (IdP)/Servicio de token de seguridad (STS)
Usuario Solicitante pasivo

La configuración implica los siguientes procedimientos:

  1. Cree un proveedor de seguridad Vinyl para AD FS
  2. Crear una confianza de usuario de confianza de AD FS para Vinyl

Requisitos

Para continuar, necesitará lo siguiente:

  • Acceso de administrador a AD FS.
  • Acceso de administrador a Vinyl.
  • Vinyl deberá conectarse a AD FS a través de HTTPS para recuperar el documento de metadatos. AD FS debe usar un certificado TLS con una raíz confiable: Vinyl no podrá recuperar el documento de metadatos si el certificado no es confiable o no es válido.
  • El Vinyl deberá estar disponible a través de HTTPS. Se debe habilitar el proveedor de seguridad Requerir HTTPS (u otras medidas tomadas para garantizar que solo se pueda acceder a Vinyl a través de HTTPS).
  • Las máquinas cliente deberán configurarse para confiar en AD FS. De lo contrario, AD FS solicitará al usuario que inicie sesión.

Las instrucciones siguientes se referirán a las siguientes propiedades:

Ejemplo Notas
URL de Vinyl https://example.com/Vinyl/ El Vinyl debe ser accesible a través de HTTPS. La URL debe incluir la barra diagonal. La ruta distingue entre mayúsculas y minúsculas.
Nombre del proveedor EjemploADFS Cada proveedor de seguridad de Vinyl recibe un nombre lógico. Dado que el nombre del proveedor aparecerá en la URL del protocolo pasivo (ver más abajo), evite espacios, puntuación y caracteres especiales.
URL de protocolo pasivo https://example.com/Vinyl/signin-ExampleADFS Vinyl aprovisiona automáticamente un extremo de protocolo pasivo para los proveedores de seguridad de WS-Federation. Tenga en cuenta que el nombre del proveedor aparece en la URL.
URL del documento de metadatos de federación https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml La URL del documento de metadatos de federación se puede recuperar desde AD FS. Para hacerlo, inicie la consola de administración de AD FS. Seleccione AD FS → Servicio → Extremos. Localice el extremo de los metadatos de federación de tipos.
Audiencia https://example.com/Vinyl/signin-ExampleADFS Se recomienda encarecidamente un valor de Audiencia para limitar el alcance de la autenticación. Considere la posibilidad de utilizar la URL del protocolo pasivo.
Wtrealm https://example.com/Vinyl/signin-ExampleADFS Aunque Wtrealm es arbitrario, AD FS y Vinyl deben usar el mismo valor. Considere la posibilidad de utilizar la URL del protocolo pasivo.

Crear un Proveedor de Seguridad de Vinyl para AD FS

Para crear el proveedor de seguridad, comience iniciando sesión en Vinyl como administrador:

  1. Navegue hasta IDE
  2. Seleccione el botón Proveedores de seguridad
  3. En el panel Autenticación de usuario, haga clic en el botón + Autenticación de usuario
  4. Proporcione lo siguiente:

    • Nombre: Security Provider Name (véase más arriba)

      Ejemplo: EjemploADFS

    • Tipo: WS-Federación

    • Habilitado: Verificar
    • Aprovisionamiento de usuarios: marque esta opción para habilitar el aprovisionamiento de usuarios Just-in-Time (JIT).
    • Membresía del grupo de suministros: compruebe si AD FS se ha configurado para pasar la membresía del grupo de usuarios.
    • Mostrar en el formulario de inicio de sesión: Verificar
  5. Haga clic en el botón Guardar

  6. En el panel Propiedades, haga clic en el botón + Propiedad
  7. Proporcione lo siguiente:

    • Parámetro: Dirección de metadatos
    • Valor: Federation Metadata Document URL (véase más arriba).

      Ejemplo: https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml

  8. Haga clic en el ícono Guardar (Verificar)

  9. En el panel Propiedades, haga clic en el botón + Propiedad
  10. Proporcione lo siguiente:

    • Parámetro: Wtrealm
    • Valor: Wtrealm (véase más arriba).

      Ejemplo: https://example.com/Vinyl/signin-ExampleADFS

  11. Haga clic en el ícono Guardar (Verificar)

  12. En el panel Propiedades, haga clic en el botón + Propiedad
  13. Proporcione lo siguiente:

    • Parámetro: Audiencia
    • Valor: Audiencia (ver arriba).

      Ejemplo: https://example.com/Vinyl/signin-ExampleADFS

  14. Haga clic en el ícono Guardar (Verificar)

Además, cualquier reclamación asignada en AD FS deberá asignarse en Vinyl. Por ejemplo, para asignar el reclamo correo:

  1. En el panel Reclamaciones, haga clic en el botón + Reclamación
  2. Proporcione lo siguiente:

    • Identificador: nombre del tipo de reclamo.\

      Ejemplo: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    • Uso: uso del tipo de reclamo.\

      Ejemplo: * Dirección de Correo *

  3. Haga clic en el ícono Guardar (Verificar)

Crear una Confianza de Usuario Dependiente de AD FS para Vinyl

Cada instancia de Vinyl debe registrarse en AD FS como confianza de parte confiada. Los detalles completos de la creación, configuración y mantenimiento de fideicomisos de partes confiadas quedan fuera del alcance de este documento. Para obtener información adicional que describe cómo crear una confianza de usuario de confianza de AD FS, consulte el siguiente artículo de TechNet:

https://technet.microsoft.com/en-ca/library/dd807108.aspx

La creación de un fideicomiso de parte confiada requiere la siguiente información:

  • Protocolo: WS-Federación Pasiva
  • URL del protocolo pasivo WS-Federation del usuario que confía: Corresponde a la Passive Protocol URL (véase más arriba).\

    Ejemplo: https://example.com/Vinyl/signin-ExampleADFS

  • Identificador de confianza del usuario que confía: Corresponde al Wtrealm propiedad (ver arriba).\

    Ejemplo: https://example.com/Vinyl/signin-ExampleADFS

Crear una URL de Extremo de AD FS para Vinyl

Cada instancia de Vinyl debe registrarse en AD FS como extremo. Cree un extremo en la pestaña Extremos en AD FS de la siguiente manera:

  1. Haga clic en el botón Agregar WS-Federation.
  2. Establezca el extremo como predeterminado (casilla de verificación).
  3. URL confiable: Corresponde a la propiedad Wtrealm (ver arriba).

    Ejemplo: https://example.com/Vinyl/signin-ExampleADFS

Asignaciones de Reclamos (opcional)

También puede proporcionar asignaciones de reclamos opcionales. En el siguiente artículo de TechNet se describe cómo crear reglas de reclamación de confianza para usuarios de confianza de AD FS:

https://technet.microsoft.com/en-us/library/dd807115.aspx

Los reclamos comúnmente mapeados incluyen:

  • Dirección de Correo - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • Membresía de grupo - http://schemas.xmlsoap.org/claims/Group

Ver Reclamaciones para obtener información adicional sobre reclamaciones.

Solución de Problemas

Ajustes de Configuración

Nota

Sus ajustes de configuración pueden variar de los ejemplos proporcionados en este artículo, dependiendo de su ambiente exacto. Por ejemplo, dependiendo de cómo esté configurado su grupo de aplicaciones, es posible que esté usando demo.zudy.com/signin-AD o demo.zudy.com/vinyl/signin-AD.

La URL puede leer: http://example.com/Vinyl/service/authentication/external?returnUrl=...

Revise el registro de eventos de Windows. Específicamente, verifique el registro de la aplicación para ver las advertencias de ASP.Net con un ID de evento de 1309. Es posible que encuentre una entrada con el siguiente mensaje de excepción:

Unable to get document from: https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml

Esto indica que Vinyl no pudo recuperar el documento de metadatos de la federación. Asegúrese de que el servidor web de Vinyl pueda establecer una conexión HTTPS con el extremo del documento de metadatos de AD FS. Asegúrese también de que el certificado TLS sea válido. Si el certificado no está firmado por una raíz confiable, puede registrarlo manualmente.

"error de Tiempo de Ejecución" Después de Iniciar Sesión en AD FS

La URL puede leer: http://example.com/Vinyl/signin-ADFS

Revise el registro de eventos de Windows. Específicamente, verifique el registro de la aplicación para ver las advertencias de ASP.Net con un ID de evento de 1309. Puede encontrar una entrada con uno de los siguientes mensajes de excepción.

Reclamo Faltante

The identity does not contain a claim matching the given type.

Esto indica que a la aserción SAML le faltan uno o más reclamos requeridos. Revise la configuración de la regla de reclamo.

Audiencia No Válida

IDX10214: Audience validation failed. Audiences: 'https://example.com/Vinyl'. Did not match:  validationParameters.ValidAudience: 'https://example.com/Vinyl/' or validationParameters.ValidAudiences: 'null'

Esto indica que la aserción SAML tiene una restricción de audiencia no válida. En este ejemplo particular, a la audiencia le falta la barra diagonal. Asegúrese de que el identificador de confianza del usuario de confianza sea correcto.

Ejecute el siguiente comando de PowerShell desde el servidor AD FS para imprimir la configuración de confianza del usuario de confianza:

> Get-ADFSRelyingPartyTrust -Identifier https://example.com/Vinyl/signin-ADFS`

The Identifier argument corresponds to the URL de protocolo pasivo (como se describe anteriormente).

Membresía de Grupo Faltante

De forma predeterminada, ADFS no incluye notificaciones de grupo en las aserciones de SAML. Los administradores deben crear una o más reglas de reclamo para incluir la membresía del grupo. Es posible crear una regla de reclamo única que incluya toda la membresía del grupo. Sin embargo, al utilizar la regla integrada de "Reclamación de grupo" de ADFS, se requiere una regla separada para cada grupo.

El siguiente artículo describe cómo incluir membresías en grupos que coincidan con una expresión regular (por ejemplo, grupos que comienzan con "Vinyl"):

http://social.technet.microsoft.com/wiki/contents/articles/8008.ad-fs-2-0-selectively-send-group-membership-s-as-a-claim.aspx

El siguiente artículo describe cómo utilizar expresiones regulares en reglas de transformación de notificaciones:

http://social.technet.microsoft.com/wiki/contents/articles/16161.ad-fs-2-0-using-regex-in-the-claims-rule-language.aspx

Configuración de Reclamaciones Faltante o Incorrecta

Es posible que aparezca el siguiente mensaje de error después de la autenticación:

The user account (`<nombre de usuario>`) has successfully signed in, but no available landing page has been configured for their applications.

Esto indica una configuración exitosa del proveedor de seguridad y del extremo de AD FS, pero significa que las notificaciones aún no se han configurado o es necesario corregirlas.

Revise los reclamos devueltos a Vinyl desde ADFS (asegúrese de que los reclamos de la tienda estén marcados) para asegurarse de que se estén pasando los reclamos correctos (membresías de grupo, atributos personalizados) a Vinyl y que luego se puedan asignar en la configuración de reclamos del proveedor de seguridad.