Proveedor de seguridad de Active Directory en Jitterbit App Builder
El proveedor de seguridad de Active Directory (AD) es un esquema de autenticación basado en formularios. Al usar el proveedor de seguridad de AD, los usuarios proporcionan su nombre de usuario y contraseña de AD a App Builder. App Builder utiliza LDAP para validar las credenciales proporcionadas por el usuario contra un almacén de AD.
Las implementaciones modernas deberían favorecer SAML single sign-on (SSO) y WS-Federation sobre la autenticación de AD. SAML SSO y WS-Federation ofrecen mayor seguridad en la medida en que no se requiere que los usuarios proporcionen sus credenciales a una aplicación de terceros. Dado que AD no respeta un contexto de autenticación existente, la autenticación de AD no es un esquema SSO adecuado. Por esta razón, SAML SSO y WS-Federation generalmente ofrecen mejor usabilidad porque no requieren que un usuario vuelva a ingresar sus credenciales. Finalmente, dado que los tokens de seguridad de SAML SSO y WS-Federation son intermediados por el navegador a través de HTTP, no requieren que una aplicación de terceros tenga acceso directo a los controladores de dominio de AD. Esto hace que SAML SSO y WS-Federation sean más adecuados para implementaciones en la nube.
Configuración
El proveedor de seguridad de AD admite tanto la provisión de usuarios como de grupos. Los usuarios y grupos se registran utilizando su nombre de cuenta SAM.
Parámetros
| Parámetro | Valor por defecto | Ejemplo | Requerido | Descripción |
|---|---|---|---|---|
| Contenedor | DC=example,DC=com | No | Especificación del contenedor LDAP de AD. | |
| Contexto | Dominio | Tipo de contexto de AD. Los valores válidos incluyen Dominio, Máquina y ApplicationDirectory. | ||
| Dominio | example.com example.com:389 |
Sí | Nombre de dominio de Active Directory (AD). Puede incluir un número de puerto opcional. | |
| Contraseña | No | Contraseña de la cuenta de AD. Consulte a continuación para más información. | ||
| NombreDeUsuario | No | Nombre de usuario de la cuenta de AD. Consulte a continuación para más información. |
Por defecto, App Builder se conectará a los controladores de dominio de AD como el usuario del grupo de aplicaciones de IIS. Esto puede no funcionar en todas las situaciones, particularmente si el servidor web no está alojado en el dominio de AD. En tal caso, necesitarás proporcionar el nombre de usuario y la contraseña de una cuenta en el dominio. Al crear la cuenta, considera lo siguiente:
- La cuenta necesita tener acceso de lectura al árbol de AD: la membresía en el grupo de seguridad "Usuarios del dominio" es suficiente.
- La cuenta puede pertenecer a la Unidad Organizativa identificada por la especificación del Contenedor, pero no es obligatorio.
Claims
El proveedor de Active Directory mapea las siguientes propiedades de UserPrincipal a tipos de reclamos:
- SamAccountName
- Name
- DisplayName
- EmailAddress
- VoiceTelephoneNumber
Additional information
Para validar credenciales contra un almacén de Active Directory (AD), App Builder necesitará poder conectarse a los controladores de dominio de AD a través de LDAP. Tradicionalmente, esto ocurre en el puerto 389.
Puede ocurrir un retraso de 20 segundos o más al cruzar límites de dominio. Agregar el número de puerto al dominio (por ejemplo, example.com:389) puede mejorar el rendimiento.
Troubleshooting
Si experimentas problemas con el proveedor de seguridad de Active Directory, se recomiendan los siguientes pasos de solución de problemas:
-
Habilita el registro de datos para generar archivos de registro y datos, que puedes descargar e inspeccionar.
-
Consulta la documentación del Proveedor ADO.NET de CData para Microsoft Active Directory para obtener información detallada.
-
Algunos errores específicos se enumeran a continuación, con pasos de solución de problemas sugeridos:
-
Error: "No existe tal objeto en el servidor."
Este error puede significar que la especificación del Contenedor es incorrecta. Puede referirse a una Unidad Organizativa que no existe. Si se trabaja con Unidades Organizativas anidadas, puede significar que el orden es incorrecto. Las Unidades Organizativas deben proporcionarse en orden inverso. Por ejemplo, dado el siguiente camino:
\Ventas\América del NorteLa especificación correcta del Contenedor sería:
OU=América del Norte,OU=Ventas,DC=example,DC=comTenga en cuenta que los nombres de las Unidades Organizativas no son sensibles a mayúsculas.
-
Error: "No se pudo contactar al servidor." "El servidor LDAP no está disponible."
Este error indica que App Builder no pudo conectarse al controlador de dominio de Active Directory. Verifique la propiedad de Dominio.
Los clientes se comunican con Active Directory a través de LDAP. Como se menciona en el siguiente artículo de la base de conocimientos de Microsoft, el servidor LDAP se comunica en el puerto 389 utilizando los protocolos UDP y TCP.
La herramienta Portqry se puede utilizar para probar la conectividad a Active Directory:
La herramienta se puede descargar desde el sitio de Microsoft:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=17148
Tenga en cuenta que la herramienta Portqry debe ejecutarse desde el servidor web de App Builder.
Para probar la conectividad al puerto 389 utilizando UDP, ejecute el siguiente comando:
> portqry -n ad.example.com -e 389 -p udpReemplace "ad.example.com" con el nombre de host o la dirección IP del servidor de Active Directory.
Para probar la conectividad al puerto 389 utilizando TCP:
> portqry -n ad.example.com -e 389 -p tcpSi las pruebas son exitosas, verá una respuesta de consulta LDAP que incluye la fecha y hora actuales, así como varias propiedades de Active Directory. El siguiente es un ejemplo de una respuesta de consulta LDAP exitosa:
currentdate: 10/20/2018 11:22:33 (unadjusted GMT) subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=example,DC=com dsServiceName: CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=com namingContexts: DC=example,DC=com defaultNamingContext: DC=example,DC=com schemaNamingContext: CN=Schema,CN=Configuration,DC=example,DC=com configurationNamingContext: CN=Configuration,DC=example,DC=com rootDomainNamingContext: DC=example,DC=com supportedControl: 1.2.840.113556.1.4.319 supportedLDAPVersion: 3 supportedLDAPPolicies: MaxPoolThreads highestCommittedUSN: 249947 supportedSASLMechanisms: GSSAPI dnsHostName: SERVER.example.com ldapServiceName: example.com:server$@EXAMPLE.COM serverName: CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=com supportedCapabilities: 1.2.840.113556.1.4.800 isSynchronized: TRUE isGlobalCatalogReady: TRUE domainFunctionality: 6 forestFunctionality: 6 domainControllerFunctionality: 6 -
Error: "El nombre de usuario o la contraseña son incorrectos."
Si el archivo de registro contiene el error "El nombre de usuario o la contraseña son incorrectos", puede significar que el nombre de usuario o la contraseña utilizados por App Builder para consultar el controlador de dominio de Active Directory son inválidos. Verifique las propiedades UserName y Password.
-
Error: "El nombre de usuario o la contraseña son incorrectos."
Un usuario puede ver el error normal "El nombre de usuario o la contraseña son incorrectos" al iniciar sesión, incluso si ha proporcionado credenciales válidas. Esto puede indicar que el nombre de usuario se ha proporcionado en el formato incorrecto.
Al iniciar sesión, no proporcione el nombre de usuario en los formatos de Nombre Principal de Usuario (user@example.com) o Nombre de Inicio de Sesión de Nivel Inferior (EXAMPLE\user). En su lugar, proporcione el nombre de usuario no calificado.
-
Error: "El nombre de usuario proporcionado no coincide con el nombre de cuenta SAM de un usuario principal."
Este error indica que el usuario está intentando autenticarse con una cuenta que no coincide con la especificación del Contenedor. Por ejemplo, la especificación del Contenedor puede restringir el acceso a una Unidad Organizativa dada. En cuyo caso, este error indicaría que la cuenta de usuario no pertenece a la Unidad Organizativa.
-