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 utilizarlo, 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 con un almacén de AD.
Las implementaciones modernas deberían favorecer el inicio de sesión único SAML (SSO) y WS-Federation sobre la autenticación de AD. SAML SSO y WS-Federation ofrecen mayor seguridad, ya que los usuarios no necesitan proporcionar sus credenciales a una aplicación de externo. 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 suelen ofrecer una mejor usabilidad, ya que no requieren que el usuario vuelva a introducir sus credenciales. Finalmente, dado que los tokens de seguridad de SAML SSO y WS-Federation son gestionados por el navegador a través de HTTP, no requieren que una aplicación de externo 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 el aprovisionamiento de usuarios y grupos. Los usuarios y grupos se registran con su nombre de cuenta SAM.
Parámetros
Parámetro | Valor predeterminado | Ejemplo | Obligatorio | Descripción |
---|---|---|---|---|
Contenedor | DC=ejemplo,DC=com | No | Especificación del contenedor LDAP de AD. | |
Contexto | Dominio | Tipo de contexto de AD. Los valores válidos son Dominio, Máquina y Directorio de la aplicación. | ||
Dominio | ejemplo.com ejemplo.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 AD. Consulta más información a continuación. | ||
Nombre de usuario | Número | Nombre de usuario de la cuenta de AD. Consulte a continuación para obtener más información. |
De forma predeterminada, App Builder se conectará a los controladores de dominio de AD como usuario del grupo de aplicaciones de IIS. Esto podría no funcionar en todos los casos, especialmente si el servidor web no está alojado en el dominio de AD. En ese caso, deberá proporcionar el nombre de usuario y la contraseña de una cuenta del dominio. Al crear la cuenta, tenga en cuenta lo siguiente:
- La cuenta debe 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 necesario que lo sea.
Reclamos
El proveedor de Active Directory asigna las siguientes propiedades UserPrincipal a los tipos de reclamo:
- NombreDeCuentaSam
- Nombre
- Nombre para mostrar
- Dirección de correo electrónico
- Número de teléfono de voz
Información adicional
Para validar las credenciales con una tienda de Active Directory (AD), App Builder deberá poder conectarse a los controladores de dominio de AD mediante LDAP. Tradicionalmente, esto se realiza en el puerto 389.
Puede producirse un retraso de 20 segundos o más al cruzar los límites del dominio. Añadir el número de puerto al dominio (p. ej., ejemplo.com:389) puede mejorar el rendimiento.
Solución de problemas
Error: "No existe este objeto en el servidor."
Este error puede indicar que la especificación del contenedor es incorrecta. Puede referirse a una unidad organizativa inexistente. Si se trabaja con unidades organizativas anidadas, puede indicar que el orden es incorrecto. Las unidades organizativas deben proporcionarse en orden inverso. Por ejemplo, dada la siguiente ruta:
\Sales\North America
La especificación correcta del contenedor sería:
OU=North America,OU=Sales,DC=example,DC=com
Tenga en cuenta que los nombres de las unidades organizativas no distinguen entre mayúsculas y minúsculas.
Error: "No se pudo contactar con el servidor" o "El servidor LDAP no está disponible".
Este error indica que App Builder no pudo conectarse al controlador de dominio de Active Directory. Compruebe la propiedad Dominio.
Los clientes interactúan con Active Directory mediante LDAP. Como se indica en el siguiente artículo de Microsoft Knowledge Base, el servidor LDAP se comunica en el puerto 389 mediante los protocolos UDP y TCP.
https://support.microsoft.com/en-us/help/832017/service-overview-and-network-port-requirements-for-windows
La herramienta Portqry se puede utilizar para probar la conectividad con Active Directory:
https://support.microsoft.com/en-us/help/816103/how-to-use-portqry-to-troubleshoot-active-directory-connectivity-issue la herramienta se puede descargar desde el sitio web 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 App Builder.
Para probar la conectividad al puerto 389 mediante UDP, ejecute el siguiente comando:
> portqry -n ad.example.com -e 389 -p udp
Reemplace "ad.example.com" con el nombre activo o la dirección IP del servidor de Active Directory.
Para probar la conectividad al puerto 389 mediante TCP:
> portqry -n ad.example.com -e 389 -p tcp
Si las pruebas son exitosas, verá una respuesta a una consultar LDAP que incluye la fecha y hora actuales, así como varias propiedades de Active Directory. A continuación, se muestra un ejemplo de una respuesta a una consultar 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", podría significar que el nombre de usuario o la contraseña utilizados por App Builder para consultar el controlador de dominio de Active Directory no son válidos. Compruebe las propiedades de nombre de usuario y contraseña.
Error: "El nombre de usuario o la contraseña son incorrectos".
Un usuario podría ver el error habitual "El nombre de usuario o la contraseña son incorrectos" al iniciar sesión, incluso si ha proporcionado credenciales válidas. Esto podría indicar que el nombre de usuario se ha proporcionado con un formato incorrecto.
Al iniciar sesión, no proporcione el nombre de usuario en los formatos Nombre principal de usuario (usuario@ejemplo.com) ni Nombre de inicio de sesión de nivel inferior (EJEMPLO\usuario). En su lugar, proporcione el nombre de usuario completo.
Error: "El nombre de usuario proporcionado no coincide con el nombre de la cuenta SAM de un usuario principal".
Este error indica que el usuario intenta autenticarse con una cuenta que no cumple con la especificación del contenedor. Por ejemplo, la especificación del contenedor podría restringir el acceso a una unidad organizativa determinada. En ese caso, este error indicaría que la cuenta de usuario no pertenece a dicha unidad.