Configurar servicios de directorio mediante el protocolo LDAP
Es posible utilizar el área de trabajo Autenticación para configurar los servicios de directorio de
Automation Config
mediante el protocolo LDAP. Este protocolo se utiliza para conectarse a servicios como Active Directory o Microsoft Azure.Se puede utilizar más de un sistema a la vez para autenticar usuarios en
Automation Config
si es necesario. Por ejemplo, puede utilizar un servicio IdP basado en SAML o uno basado en LDAP para almacenar al mismo tiempo algunas credenciales de usuario de forma nativa en el servidor RaaS. Sin embargo, Automation Config
no permite configurar más de dos proveedores SAML o dos proveedores LDAP al mismo tiempo.Automation Config
utiliza el siguiente proceso back-end para autenticar sistemas basados en LDAP:- Vista previa: al obtener una vista previa de la configuración de conexión,Automation Configrecupera una lista de ejemplo de usuarios y grupos del servidor LDAP para comprobar que se introdujeron los parámetros de configuración correctos.
- Inicio de sesión: cuando un usuario introduce credenciales en el formulario de inicio de sesión deAutomation Config, el servidor back-end comprueba si existe una coincidencia en la base de datos en ese momento. A continuación, inicia un proceso de búsqueda de varios pasos y, al encontrar una coincidencia, autentica al usuario. En este proceso de búsqueda, los usuarios individuales habilitados en grupos habilitados no aparecen en el área de trabajo Funciones hasta el primer inicio de sesión del usuario.
- Tareas en segundo plano:Automation Configejecuta un trabajo en segundo plano periódicamente para buscar cada grupo y usuario vinculado en la conexión del servicio de directorio con el fin de verificar que todavía existe. Si se eliminaron el grupo o el usuario, el servidor back-end desactiva su vínculo en la base de datos.
- Grupos y usuarios archivados: se archivan todos los grupos que se eliminan de la conexión del servicio de directorio. Si bien estos grupos se encuentran inactivos y los usuarios no pueden iniciar sesión, se siguen mostrando en el área de trabajo Funciones y se pueden seleccionar. Esto también se aplica a los usuarios eliminados anteriormente visibles en el área de trabajo Funciones.
- Grupos anidados: al trabajar con grupos anidados, cuando se habilita un grupo principal, también se habilitan todos los grupos secundarios de forma predeterminada.
Configurar una conexión LDAP
Para configurar LDAP, primero cree una conexión y, a continuación, habilite usuarios y grupos LDAP específicos para la autenticación en
Automation Config
. Una vez habilitados los grupos o usuarios, puede definir su configuración de control de acceso basado en funciones (Role-Based Access Control, RBAC).Puede optar por rellenar automáticamente los campos con la configuración predeterminada personalizada para el servicio de directorio, como Active Directory u OpenLDAP.
Un administrador de LDAP o de Active Directory con experiencia que comprenda el diseño general del sistema LDAP debe completar los siguientes pasos. Póngase en contacto con el administrador para obtener ayuda.
Para configurar un servicio de directorio LDAP:
- (Opcional) Antes de configurar LDAP, puede resultar útil probar la conexión y las consultas mediante una herramienta de terceros. Para los usuarios de AD, puede usar LDP o ADSI Edit. Para los usuarios de Linux, la herramienta recomendada esldapsearch.Para obtener más información sobre las pruebas con estas herramientas, consulte Cómo comprobar y solucionar problemas en una conexión del servicio de directorio en el centro de soporte.
- Haga clic enAdministración > Autenticaciónen el menú lateral.
- Haga clic enCrear.
- En el menúTipo de configuración, seleccioneLDAP.
- (Opcional) EnConfiguración, haga clic enRellenar automáticamente valores predeterminadosy seleccione el servicio de directorio del menú desplegable.Se rellenarán las entradas predeterminadas de acuerdo con su selección. Sin embargo, ciertas entradas, comoDN de búsqueda de usuarios, quedarán incompletas. Asegúrese de comprobar que las entradas coincidan con el esquema del servicio de directorio y de reemplazar el texto de marcador de posición por los valores correctos para el servicio.
- Introduzca o compruebe la información de la conexión LDAP.GeneralCampoDescripciónNombreNombre de la conexión LDAP. Dado que solo se trata de un nombre para mostrar, puede resultar útil introducir un nombre para diferenciar este back-end de autenticación de otros.HostDirección del servidor host de LDAP, con formato de FQDN o dirección IP.destinoPuerto en el que se configuró el servidor LDAP. El valor predeterminado es389para LDAP sin cifrar y636para LDAP mediante SSL.Sincronización en segundo planoAutomation Configvalida todos los usuarios y grupos con el back-end de autenticación en un intervalo definido (en minutos) aquí.SSL
- Habilitar SSL
- Seleccione esta opción para conectarse al servidor LDAP a través de una capa de sockets seguros (SSL). Se recomienda habilitar esta opción, ya que, si se deja sin marcar,Automation Configtransmite información en texto sin formato a través de una conexión no segura. De forma predeterminada, el certificado del servidor LDAP se valida mediante el almacén de certificados del sistema. Si utiliza un certificado autofirmado o un certificado de una entidad de certificación (CA) privada en el servidor LDAP, debe actualizar la configuración de/etc/raas/raaspara permitir la autenticación. Consulte las instrucciones de #GUID-54FE4409-718B-4BA9-ADD3-7CA1874865F5_GUID-143EF604-257B-485E-829E-E7DA21555BB2-es para obtener más información.
- Validar certificado
- Seleccione esta opción para asegurarse de que los certificados SSL se validen al conectarse. Deje la opción sin seleccionar para omitir la validación, por ejemplo, cuando se utilizan certificados autofirmados (no recomendados para producción).
AutenticaciónCampoDescripciónDN base de autenticaciónNombre distintivo del LDAP base. Esta es la ubicación desde la que se consultan los grupos y los usuarios, por ejemplo,DC=sse,DC=example,DC=com.La página de detalles de LDAP incluye campos de entrada independientes paraClase de objeto de persona,Nombre de atributo de cuenta,Clase de grupo,Nombre de atributo de grupoyProgramación de sincronización, como se describe a continuación. Por lo tanto, no incluya estos objetos en el campo DN base.DN de enlace de administraciónDN de administrador configurado para el servidor LDAP. Con este valor,Automation Configse autentica en el directorio para las búsquedas de usuarios y grupos. Introduzca la entrada en función de la siguiente sintaxis:cn=Administrator,cn=Users,dc=example,dc=com.Contraseña de DN de enlace de administraciónContraseña individual del administrador.Esto se almacena con cifrado en la base de datos. No se almacena en texto sin formato.Filtro de DN de enlace de autenticaciónFiltro aplicado para seleccionar un usuario específico. El resultado de esta búsqueda es un DN de usuario queAutomation Configutiliza para enlazarse al directorio y conceder al usuario acceso aAutomation Config. Esto resulta útil para limitar la cantidad de resultados que se devuelven de una búsqueda determinada.Como la sintaxis de filtro puede volverse bastante compleja, una práctica recomendada es probar la entrada mediante LDP,ldapsearcho una herramienta similar para validar la entrada y realizar ajustes antes de rellenar este campo.El siguiente filtro de muestra devuelve solo una cuenta que coincide con el nombre de usuario proporcionado que pertenece a los grupos de DevOps o Nivel II.(&(objectclass=user)(sAMAccountName={username})(|(memberOf=CN=DevOps,OU=Groups,OU=TestCompanyHQ,DC=adtest,DC=com)(memberOf=LevelII,OU=Groups,DC=adtest,DC=com)))Si utiliza valores predeterminados rellenados automáticamente, asegúrese de reemplazar el texto de marcador de posición por los valores correctos para el servicio de directorio.Al configurar una estructura de bosque, deje este campo en blanco.Nombre de atributo de ID único remotoNombre del valor utilizado para identificar entradas únicas. Este es el atributo de identificador único de todas las entradas. En AD, este esObjectGUID.GruposCampoDescripciónDN de búsqueda de gruposBase de búsqueda para grupos. Por ejemplo, en AD, esto puede sercn=Groups,dc=example,dc=com. Indica el lugar del directorio donde se deben buscar los grupos. Utilícelo junto con la opción Ámbito de búsqueda de grupos a continuación.Ámbito de búsqueda de gruposIndica la profundidad de la búsqueda en el directorio a partir de la base indicada en DN de búsqueda de grupos y puede tener uno de estos cuatro valores:- baseObject
- Valor 0, normalmente conocido comobase. Utilice esta opción para buscar solo este objeto y ningún otro.
- singleLevel
- Valor 1, normalmente conocido comoone. Utilice esta opción para tener en cuenta solo los elementos secundarios inmediatos de la entrada base al buscar coincidencias.
- wholeSubtree
- Valor 2 (oSUBTREEen ldap3), normalmente conocido comosub. Utilice esta opción para buscar en la base y todos sus minions a cualquier profundidad.
- subordinateSubtree
- Valor 3, normalmente conocido comosubordinates. Esto es lo mismo quewholeSubtree, pero se omite la entrada de la búsqueda base.
Filtro de DN de búsqueda de gruposFiltro de búsqueda para extraer grupos del directorio. Suele ser(objectClass=group), pero puede ser(objectCategory=group)en algunas configuraciones de AD. Se utiliza junto con Clase de grupo para obtener más detalles.Clase de grupoNombre de la clase de objeto utilizado para definir grupos, por ejemplo,groupOfNames.Atributo de nombre de grupoEl nombre del atributo que desea utilizar para el nombre de grupo. Introduzca un atributo de un solo valor, no un valor múltiple.Atributo de pertenencia a gruposEl nombre del atributo en la entrada de usuario que contiene el nombre de grupo, por ejemplo,memberOf.UsuariosCampoDescripciónDN de búsqueda de usuariosLa base de búsqueda para usuarios, por ejemplo,cn=Users,dc=example,dc=comen AD ocn=people,cn=accounts,dc=example,dc=comen otros servicios de directorio. Indica el lugar del directorio donde se deben buscar los usuarios. Utilícelo junto con la opción Ámbito de búsqueda de usuarios a continuación.Ámbito de búsqueda de usuariosIndica la profundidad de la búsqueda en el directorio a partir de la base indicada en DN de búsqueda de usuarios y puede tener uno de estos cuatro valores: Consulte los cuatro valores descritos en Ámbito de búsqueda de grupos.Filtro de DN de búsqueda de usuariosFiltro de búsqueda para extraer usuarios del directorio. Suele ser(objectClass=person), pero puede ser(objectCategory=user)en algunas configuraciones de AD.Clase de personaNombre de la clase de servicio de directorio que contiene los usuarios a quienes se desea permitir iniciar sesión. La mayoría de los sistemas (incluido Active Directory) utilizanperson, pero algunos pueden preferiruseroinetOrgPerson.Atributo de identificador de usuarioEl nombre único del atributo de la cuenta de usuario. Para AD, esto essAMAccountName. En el caso de otros servicios, suele seruidomemberUid.Atributo de pertenencia de usuarioEl nombre del atributo en la entrada de grupo que contiene el nombre de usuario. Entre los posibles ejemplos, se incluyenmemberouniquemember. - Para obtener una vista previa de la configuración sin guardar, haga clic enVista previa de actualización.La ventana de vista previa muestra los usuarios y los grupos seleccionados para la conexión. Puede seleccionar la pestañaGruposoUsuariospara obtener una vista previa de los usuarios y los grupos asociados con el servicio según sea necesario.
- Haga clic enGuardar.Se guardó la configuración de LDAP. Para comprobar que la configuración sea correcta, se recomienda intentar iniciar sesión enAutomation Configdesde una cuenta de usuario de prueba. Si no puede iniciar sesión correctamente, consulte Solución de problemas para obtener sugerencias.Para las configuraciones de LDAP,Automation Configalmacena los ajustes de conexión, incluidos los grupos y los usuarios identificados. Solo recupera grupos y usuarios dentro del ámbito que haya definido y no sincroniza todo el directorio.Con el tiempo, es posible que deba actualizar o volver a sincronizar el directorio LDAP. Por ejemplo, debe actualizar el directorio si agrega nuevos usuarios y desea habilitarlos enAutomation Config.
Habilitar grupos y usuarios
Después de configurar la conexión LDAP, debe configurar grupos de servicios de directorio y asegurarse de que los usuarios puedan iniciar sesión en
Automation Config
. Para configurar grupos de servicios de directorio:- En el área de trabajo Autenticación, seleccione la configuración LDAP requerida.
- Seleccione la pestañaGrupospara ver una lista de los grupos recuperados de la configuración LDAP.Si desea recuperar un gran número de grupos, la página puede tardar hasta un minuto en cargarse.
- Seleccione los grupos que desea habilitar enAutomation Config.
- Seleccione la pestañaUsuariospara ver una lista de los usuarios recuperados de la configuración LDAP.Si desea recuperar un gran número de usuarios, la página puede tardar hasta un minuto en cargarse.
- Seleccione los usuarios que desea habilitar enAutomation Config.Los usuarios incluidos en los grupos habilitados ya se encuentran seleccionados y no se puede anular su selección.
- Haga clic enGuardar.Ahora puede definir la configuración de control de acceso basado en funciones (Role-Based Access Control, RBAC) para los grupos seleccionados. Sin embargo, el área de trabajo Funciones permite administrar la configuración de usuarios individuales incluidos en los grupos seleccionados solo después del primer inicio de sesión del usuario. Para eliminar grupos o usuarios, anule la selección del grupo o usuario y, a continuación, haga clic enGuardar.Para obtener más información sobre RBAC enAutomation Config, consulte Cómo definir las funciones de usuario.
Solución de problemas de la conexión LDAP
Si no puede obtener una vista previa correcta de la conexión, siga estos pasos de solución de problemas.
Problema | Descripción | Solución |
---|---|---|
No puedo obtener una vista previa de la conexión | Si no puede obtener una vista previa de los grupos y los usuarios, esto se debe frecuentemente a un problema de conexión entre el servidor LDAP y Automation Config o a una entrada no válida en el formulario de configuración de LDAP. |
|
Al intentar obtener una vista previa de la conexión, se bloquea la carga de la página | Si se bloquea la carga de la página durante más de dos minutos, reinicie el servicio RaaS y, a continuación, elimine y vuelva a crear la configuración. |
|
Otros problemas varios | Si ya configuró y guardó la conexión LDAP, pero los usuarios no pueden iniciar sesión, o si detecta otros problemas, compruebe los registros de raas con la depuración extendida habilitada para determinar la causa principal. | Para habilitar la depuración extendida:
|
Algunos errores comunes que se pueden ver en los registros son:
- Configuración incorrecta para la conexión (SSL). Ajuste la configuración de SSL.[raas.utils.validation.schemas.settings][DEBUG :546 ][Webserver:9096] Error while connecting to AD/LDAP Server. SSL connection issues: socket ssl wrapping error: [Errno 104] Connection reset by peer
- Contraseña incorrecta para el DN de enlace de administrador. Verifique y vuelva a introducir la contraseña.[raas.utils.rpc ][DEBUG :284 ][Webserver:9095] Processed RPC request(129360670417695). Response: {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message': 'Request validation failure.', 'detail': {'_schema': ['Credentials are not valid']}}, 'warnings': []}
- El filtro de DN de enlace de autenticación predeterminado que se rellena automáticamente genera un conflicto. Deje el campo en blanco o utilice{username}en lugar de{{username}}.Es posible encontrar este error cuando ya se guardó la conexión LDAP, pero los usuarios no pueden iniciar sesión.[var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :903 ][Webserver:9096] Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username})) [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :931 ][Webserver:9096] Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))' as the search filter in the ldap backend under the ad-1 configuration. Trying remote_uid 'None' [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :963 ][Webserver:9096] Could not find any user using '(&(objectClass=person)(objectGUID=None))' as the search filter in the ldap backend under the ad-1 configuration.
Configurar una entidad de certificación autofirmada o privada
Automation Config
admite Active Directory (AD) y LDAP como origen de autenticación. Como procedimiento de seguridad recomendado, la comunicación entre Automation Config
y AD/LDAP debe realizarse a través de un canal cifrado por TLS. La conexión a un servidor AD/LDAP con un certificado de terceros de confianza es compatible de forma predeterminada, pero si hay una CA privada o autofirmada en uso, debe dirigir a Automation Config
a la cadena de confianza de CA correcta.Si bien es posible desactivar la verificación de certificados en la interfaz de
Automation Config
al definir un origen de autenticación LDAP, se trata de una práctica muy desaconsejada debido a la posibilidad de ataques de tipo "Man in the middle". Sin embargo, como paso de solución de problemas puede resultar eficaz validar que TLS está en uso antes de instalar la cadena de CA.Este procedimiento requiere un certificado con codificación PEM de la entidad de certificación. Es posible que haya más de una si su organización utiliza entidades de firma intermedias. Un certificado con codificación PEM tiene este aspecto:
-----BEGIN CERTIFICATE----- MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF [...bulk of certificate removed in this example...yours will have different content between the BEGIN and END lines...] KqUEt+CIdecfc36aMgxWE8NdDf4/lj6FcuxdXHL+0ea5AySDxLbwWU6AsrRGJ3E= -----END CERTIFICATE-----
Procedimiento
- Introduzca todos los certificados de la cadena en un archivo .pem.
- Copie ese archivo en/etc/raas/raas-ca-certificates.pem.
- Ejecute este comando para que el usuario deraaspueda leer el archivo:chown raas:raas /etc/raas/raas-ca-certificates.pem chmod 600 /etc/raas/raas-ca-certificates.pem
- Edite la sección de configuración del controlador de AD/LDAP de/etc/raas/raaspara agregar el siguiente contenido enauthers:. Si ya existe una sección deauthers, es posible que deba combinarla con estas opciones para conservar cualquier configuración de LDAP adicional, ya que no puede haber más de una instancia deauthers:. Se incluyen comentarios para una mayor claridad.# AD/LDAP driver configuration # Allowed LDAP log levels for "log_detail" below # - OFF # nothing is logged # - ERROR # only exceptions are logged # - BASIC # library activity is logged, only operation result is shown # - PROTOCOL # LDAPv3 operations are logged, sent requests and received responses are shown # - NETWORK # socket activity is logged # - EXTENDED # ldap messages are decoded and properly printed authers: ldap: log_detail: EXTENDED ssl: ciphers: TLSv1.2 ca_cert: /etc/raas/raas-ca-certificates.pemSilog_detail: EXTENDEDgenera demasiado contenido en/var/log/raas/raasdespués de que la autenticación se realice correctamente, este valor se puede cambiar aERRORoBASIC.
- Reinicie el servidor deAutomation Configconsystemctl restart raas. Valide que el servidor está de nuevo en funcionamiento consystemctl status raas.
- En la interfaz gráfica de usuario deAutomation Config, desplácese hasta y seleccione la configuración de LDAP que desee. Asegúrese de que el FQDN en el campoHostsea el indicado en los campos de nombre común o nombre alternativo del sujeto en el certificado presentado por el servidor AD/LDAP. Si no coincide,Automation Configno puede validar el certificado con la cadena de confianza de CA.
- Confirme el valor en el campoPuerto. El puerto oficial para LDAP habilitado para TLS es el 636, pero si se conecta a Active Directory y necesita buscar usuarios y grupos en el catálogo global, el puerto habilitado para TLS es el 3269.
- Active las casillas de verificaciónHabilitar SSLyValidar certificado, desplácese hasta la parte inferior del formulario y haga clic enGuardar.
- Ahora puede probar la conexión con el botónVista previa de actualizaciónsituado cerca de la parte inferior del formulario. Si los grupos y los usuarios aparecen en el cuadro de vista previa, TLS está configurado correctamente y se validarán los certificados.
Solución de problemas
Si realiza estos pasos y ve un símbolo de carga sin resultados después de hacer clic en
Vista previa de actualización
, siga estos pasos de solución de problemas hasta que vea que aparecen los grupos y los usuarios.- Consulte los registros en/var/log/raas/raas. Si no se puede acceder al servidor AD/LDAP, o si hay problemas con la validación de los ocertificados, deben aparecer en el registro. Puede ser útil detener el servidor deAutomation Configconsystemctl stop raas, truncar/var/log/raas/raasy, a continuación, utilizartail -fo un comando similar para seguir el registro mientras prueba la funcionalidad de vista previa de LDAP.
- Es posible que la cadena de confianza de CA no sea correcta. Puede recuperar los detalles del certificado del servidor AD/LDAP con las utilidades de línea de comandosopenssl:openssl s_client -connect <fqdn.of.ldap.or.ad.server>:636 -showcertsLa cadena de confianza se encuentra en los resultados de este comando y tiene este aspecto (las secciones delimitadas con<...>se reemplazan con datos reales):--- Certificate chain 0 s:CN = <fqdn.of.ldap.or.ad.server.example.com> i:<DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> -----BEGIN CERTIFICATE----- MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF [... rest of server certificate is below ...]
- Utilice el comandoopensslpara recuperar información sobre los certificados de la cadena de confianza de CA para comprobar que el certificado de CA coincida con la cadena en el certificado del servidor LDAP. Si tiene más de un certificado en la cadena, es posible que deba dividirlos en archivos independientes y ejecutar el siguiente comando en cada uno de ellos.# openssl x509 -noout -text -in /etc/raas/raas-ca-certificates.pem Certificate: Data: Version: 3 (0x2) Serial Number: 2f:51:9b:4a:90:23:50:8a:40:58:41:c4:a6:67:08:d7 Signature Algorithm: sha256WithRSAEncryption Issuer: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> Validity Not Before: Sep 29 19:48:39 2023 GMT Not After : Sep 29 19:58:39 2028 GMT Subject: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> [...]Si el asunto o el emisor anteriores no coinciden con los nombres distintivos en la cadena de certificados del certificado del servidor LDAP, es probable que no tenga la cadena correcta.