Saltar al contenido

Configuración de Active Directory Federation Services utilizando WS-Federation en Jitterbit App Builder

App Builder puede integrarse con Active Directory Federation Services (AD FS) utilizando el protocolo WS-Federation Passive. El protocolo WS-Federation Passive define los siguientes roles operativos:

Actor Rol
App Builder Parte confiable
AD FS Proveedor de identidad (IdP) / Servicio de token de seguridad (STS)
Usuario Solicitante pasivo

La configuración implica los siguientes procedimientos:

  1. Crear un proveedor de seguridad de App Builder para AD FS
  2. Crear una confianza de parte confiable de AD FS para App Builder

Requisitos

Para proceder, necesitarás lo siguiente:

  • Acceso de administrador a AD FS.
  • Acceso de administrador a App Builder.
  • App Builder necesitará 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 de confianza: App Builder no podrá recuperar el documento de metadatos si el certificado no es de confianza o es de alguna manera inválido.
  • App Builder deberá estar disponible a través de HTTPS. El proveedor de seguridad "Require HTTPS" debe estar habilitado (o se deben tomar otras medidas para asegurar que App Builder solo sea accesible a través de HTTPS).
  • Las máquinas cliente deberán estar configuradas para confiar en AD FS. De lo contrario, AD FS pedirá al usuario que inicie sesión.

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

Ejemplo Notas
URL de App Builder https://example.com/Vinyl/ App Builder debe ser accesible a través de HTTPS. La URL debe incluir la barra diagonal final. La ruta es sensible a mayúsculas y minúsculas.
Nombre del Proveedor ExampleADFS A cada proveedor de seguridad de App Builder se le asigna un nombre lógico. Dado que el nombre del proveedor aparecerá en la URL del Protocolo Pasivo (ver más abajo), evita espacios, puntuación y caracteres especiales.
URL del Protocolo Pasivo https://example.com/Vinyl/signin-ExampleADFS App Builder provisiona automáticamente un punto final de Protocolo Pasivo para proveedores de seguridad WS-Federation. Ten 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 de AD FS. Para hacerlo, inicia la consola de administración de AD FS. Selecciona AD FS → Servicio → Puntos finales. Localiza el punto final de tipo Metadatos de Federación.
Audiencia https://example.com/Vinyl/signin-ExampleADFS Se recomienda encarecidamente un valor de Audiencia para limitar el alcance de la autenticación. Considera usar la URL del Protocolo Pasivo.
Wtrealm https://example.com/Vinyl/signin-ExampleADFS Aunque el Wtrealm es arbitrario, AD FS y App Builder deben usar el mismo valor. Considera usar la URL del Protocolo Pasivo.

Crear un proveedor de seguridad de App Builder para AD FS

Para crear el Proveedor de Seguridad, comienza iniciando sesión en App Builder como administrador:

  1. Navega a la IDE
  2. Selecciona el botón Proveedores de Seguridad
  3. En el panel de Autenticación de Usuario, haz clic en el botón + Autenticación de Usuario
  4. Proporciona lo siguiente:

    • Nombre: Nombre del Proveedor de Seguridad (ver arriba)

      Ejemplo: ExampleADFS

    • Tipo: WS-Federation

    • Habilitado: Marca
    • Provisionamiento de Usuario: Marca para habilitar el provisionamiento de usuario Just-in-Time (JIT).
    • Suministra Membresía de Grupo: Marca si AD FS ha sido configurado para pasar la membresía de grupo de usuario.
    • Mostrar en el Formulario de Inicio de Sesión: Marca
  5. Haz clic en el botón Guardar

  6. En el panel de Propiedades, haz clic en el botón + Propiedad
  7. Proporciona lo siguiente:

    • Parámetro: MetadataAddress
    • Valor: URL del Documento de Metadatos de Federación (ver arriba).

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

  8. Haz clic en el ícono de Guardar (Marca)

  9. En el panel de Propiedades, haz clic en el botón + Propiedad
  10. Proporciona lo siguiente:

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

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

  11. Haz clic en el ícono de Guardar (Marca)

  12. En el panel de Propiedades, haz clic en el botón + Propiedad
  13. Proporciona lo siguiente:

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

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

  14. Haz clic en el ícono de Guardar (Marca)

Además, cualquier reclamo mapeado en AD FS deberá ser mapeado en App Builder. Por ejemplo, para mapear el reclamo de correo electrónico:

  1. En el panel de Reclamos, haz clic en el botón + Reclamo
  2. Proporciona 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 Electrónico

  3. Haz clic en el ícono de Guardar (Marca)

Crear una confianza de parte de AD FS para App Builder

Cada instancia de App Builder debe estar registrada dentro de AD FS como una confianza de parte. Los detalles completos sobre cómo crear, configurar y mantener las confianzas de parte están fuera del alcance de este documento. Para información adicional sobre cómo crear una confianza de parte de AD FS, consulte el siguiente artículo de TechNet:

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

Crear una confianza de parte requiere la siguiente información:

  • Protocolo: WS-Federation Pasivo
  • URL del protocolo WS-Federation Pasivo de la parte confiable: Corresponde a la Passive Protocol URL (ver arriba).\

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

  • Identificador de confianza de parte: Corresponde a la propiedad Wtrealm (ver arriba).\

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

Crear una URL de endpoint de AD FS para App Builder

Cada instancia de App Builder debe estar registrada dentro de AD FS como un endpoint. Cree un endpoint en la pestaña de Endpoints en AD FS de la siguiente manera:

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

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

Mapeos de reclamos (opcional)

También puede proporcionar mapeos de reclamos opcionales. El siguiente artículo de TechNet describe cómo crear reglas de reclamos de confianza de parte de AD FS:

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

Los reclamos comúnmente mapeados incluyen:

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

Consulte Reclamos para información adicional sobre reclamos.

Solución de problemas

Configuración de ajustes

Nota

Sus ajustes de configuración pueden variar de los ejemplos proporcionados en este artículo, dependiendo de su entorno exacto. Por ejemplo, dependiendo de cómo esté configurado su App Pool, puede estar utilizando demo.zudy.com/signin-AD o demo.zudy.com/vinyl/signin-AD.

"error de tiempo de ejecución" al hacer clic en el enlace "iniciar sesión con..."

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

Revise el Registro de Eventos de Windows. Específicamente, verifique el registro de Aplicación para advertencias de ASP.Net con un ID de evento de 1309. Puede encontrar 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 App Builder no pudo recuperar el Documento de Metadatos de Federación. Asegúrese de que el servidor web de App Builder pueda realizar una conexión HTTPS al punto final del Documento de Metadatos de AD FS. También asegúrese de que el certificado TLS sea válido. Si el certificado no está firmado por una raíz de confianza, puede registrarlo manualmente.

"error de tiempo de ejecución" después de iniciar sesión en AD FS

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

Revise el Registro de Eventos de Windows. Específicamente, verifique el registro de Aplicación para 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 la afirmación SAML carece de uno o más reclamos requeridos. Revise la configuración de la regla de reclamos.

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 afirmación SAML tiene una restricción de audiencia no válida. En este ejemplo particular, la audiencia carece de la barra diagonal final. Asegúrese de que el identificador de confianza de la parte confiable sea correcto.

Imprimir ajustes de confianza de parte confiable de AD FS

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

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

El argumento Identifier corresponde a la Passive Protocol URL (como se describió anteriormente).

Membresía de grupo faltante

Por defecto, ADFS no incluye reclamos de grupo en las afirmaciones SAML. Los administradores deben crear una o más reglas de reclamos para incluir la membresía de grupo. Es posible crear una única regla de reclamos que incluya toda la membresía de grupo. Sin embargo, al usar la regla de "Reclamo de Grupo" integrada de ADFS, se requiere una regla separada para cada grupo.

El siguiente artículo describe cómo incluir la membresía de grupo que coincide con una expresión regular (por ejemplo, grupos que comienzan con "App Builder"):

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 usar expresiones regulares en las reglas de transformación de reclamos:

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

Configuración de reclamos faltante o incorrecta

El siguiente mensaje de error puede verse después de autenticar:

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

Esto indica que la configuración del proveedor de seguridad y del extremo de AD FS se ha realizado con éxito, pero significa que los reclamos aún no se han configurado o necesitan corrección.

Revise los reclamos devueltos a App Builder desde ADFS (asegúrese de que Store Claims esté marcado) para asegurarse de que los reclamos correctos se estén pasando (membresías de grupo, atributos personalizados) a App Builder y que estos puedan ser mapeados en la configuración de Reclamos del Proveedor de Seguridad.