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 utilizar 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 deben 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 de 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, será necesario proporcionar el nombre de usuario y la contraseña de una cuenta en el dominio. Al crear la cuenta, considere 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
Error: "No hay 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:
\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 son sensibles a mayú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. Verifique la propiedad de Dominio.
Los clientes interactúan con Active Directory a través de LDAP. Como se indica en el siguiente artículo de la base de conocimientos de Microsoft, el servidor LDAP se comunica en el puerto 389 utilizando tanto los protocolos UDP como 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/es-mx/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 udp
Reemplace "ad.example.com" con el nombre del 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 tcp
Si 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 determinada. En este caso, este error indicaría que la cuenta de usuario no pertenece a la Unidad Organizativa.