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:
- Crear un proveedor de seguridad de App Builder para AD FS
- 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:
- Navega a la IDE
- Selecciona el botón Proveedores de Seguridad
- En el panel de Autenticación de Usuario, haz clic en el botón + Autenticación de Usuario
-
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
-
-
Haz clic en el botón Guardar
- En el panel de Propiedades, haz clic en el botón + Propiedad
-
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
-
Haz clic en el ícono de Guardar (Marca)
- En el panel de Propiedades, haz clic en el botón + Propiedad
-
Proporciona lo siguiente:
- Parámetro: Wtrealm
-
Valor:
Wtrealm
(ver arriba).Ejemplo:
https://example.com/Vinyl/signin-ExampleADFS
-
Haz clic en el ícono de Guardar (Marca)
- En el panel de Propiedades, haz clic en el botón + Propiedad
-
Proporciona lo siguiente:
- Parámetro: Audience
-
Valor: Audience (ver arriba).
Ejemplo:
https://example.com/Vinyl/signin-ExampleADFS
-
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:
- En el panel de Reclamos, haz clic en el botón + Reclamo
-
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
-
-
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:
- Haga clic en el botón Agregar WS-Federation.
- Establezca el endpoint como el predeterminado (casilla de verificación).
-
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"):
El siguiente artículo describe cómo usar expresiones regulares en las reglas de transformación de reclamos:
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.