Es posible utilizar el área de trabajo Autenticación para configurar los servicios de directorio de SaltStack Config mediante el protocolo LDAP. Este protocolo se utiliza para conectarse a servicios como Active Directory o Microsoft Azure.
SaltStack 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, SaltStack Config recupera 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 de SaltStack 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: SaltStack Config ejecuta 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 SaltStack 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.
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 es
ldapsearch
.Nota: 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 en Administración > Autenticación en el menú lateral.
- Haga clic en Crear.
- En el menú Tipo de configuración, seleccione LDAP.
- (Opcional) En Configuración, haga clic en Rellenar automáticamente valores predeterminados y seleccione el servicio de directorio del menú desplegable.
Se rellenarán las entradas predeterminadas de acuerdo con su selección. Sin embargo, ciertas entradas, como DN 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.
Configuración básica
Campo Descripción Nombre Nombre 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. Host Dirección del servidor host de LDAP, con formato de FQDN o dirección IP. destino Puerto en el que se configuró el servidor LDAP. El valor predeterminado es 389
para LDAP sin cifrar y636
para LDAP mediante SSL.Sincronización en segundo plano SaltStack Config valida 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 (Secure Sockets Layer, SSL) con el certificado especificado en la configuración del servidor RaaS. Si no se proporciona ninguna configuración, se utilizará el almacén de certificados del sistema para validar la conexión SSL. Para obtener más información sobre la configuración del servidor RaaS, consulte
Configurar certificados SSL en la guía Instalación y configuración de
SaltStack Config.
Importante: Como práctica recomendada, seleccione Habilitar SSL. Cuando se deja esta opción sin seleccionar, SaltStack Config transmite información en texto sin formato a través de una conexión no segura.
Autenticación
Campo Descripción DN base de autenticación Nombre 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
.Nota: La página de detalles de LDAP incluye campos de entrada independientes para Clase de objeto de persona, Nombre de atributo de cuenta, Clase de grupo, Nombre de atributo de grupo y Programació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ón DN de administrador configurado para el servidor LDAP. Con este valor, SaltStack Config se 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ón Contraseñ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ón Filtro aplicado para seleccionar un usuario específico. El resultado de esta búsqueda es un DN de usuario que SaltStack Config utiliza para enlazarse al directorio y conceder al usuario acceso a SaltStack Config. Esto resulta útil para limitar la cantidad de resultados que se devuelven de una búsqueda determinada.
Nota: Como la sintaxis de filtro puede volverse bastante compleja, una práctica recomendada es probar la entrada mediante LDP,ldapsearch
o 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.
Nota: Al configurar una estructura de bosque, deje este campo en blanco.Nombre de atributo de ID único remoto Nombre del valor utilizado para identificar entradas únicas. Este es el atributo de identificador único de todas las entradas. En AD, este es ObjectGUID
.Grupos
Usuarios
Campo Descripción DN de búsqueda de usuarios La base de búsqueda para usuarios, por ejemplo, cn=Users,dc=example,dc=com
en AD ocn=people,cn=accounts,dc=example,dc=com
en 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 usuarios Indica 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 usuarios Filtro de búsqueda para extraer usuarios del directorio. Suele ser (objectClass=person)
, pero puede ser(objectCategory=user)
en algunas configuraciones de AD.Clase de persona Nombre 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) utilizan person
, pero algunos pueden preferiruser
oinetOrgPerson
.Atributo de identificador de usuario El nombre único del atributo de la cuenta de usuario. Para AD, esto es sAMAccountName
. En el caso de otros servicios, suele seruid
omemberUid
.Atributo de pertenencia de usuario El nombre del atributo en la entrada de grupo que contiene el nombre de usuario. Entre los posibles ejemplos, se incluyen member
ouniquemember
. - Para obtener una vista previa de la configuración sin guardar, haga clic en Vista previa de actualización.
La ventana de vista previa muestra los usuarios y los grupos seleccionados para la conexión. Puede seleccionar la pestaña Grupos o Usuarios para obtener una vista previa de los usuarios y los grupos asociados con el servicio según sea necesario.
- Haga clic en Guardar.
Se guardó la configuración de LDAP. Para comprobar que la configuración sea correcta, se recomienda intentar iniciar sesión en SaltStack Config desde una cuenta de usuario de prueba. Si no puede iniciar sesión correctamente, consulte Solución de problemas para obtener sugerencias.
Nota: Para las configuraciones de LDAP, SaltStack Config almacena 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 en SaltStack 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 SaltStack Config. Para configurar grupos de servicios de directorio:
- En el área de trabajo Autenticación, seleccione la configuración LDAP requerida.
- Seleccione la pestaña Grupos para ver una lista de los grupos recuperados de la configuración LDAP.
Nota: 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 en SaltStack Config.
- Seleccione la pestaña Usuarios para ver una lista de los usuarios recuperados de la configuración LDAP.
Nota: 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 en SaltStack Config.
Nota: Los usuarios incluidos en los grupos habilitados ya se encuentran seleccionados y no se puede anular su selección.
- Haga clic en Guardar.
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 en Guardar.
Para obtener más información sobre RBAC en SaltStack Config, consulte Cómo definir las funciones de usuario.
Solución de problemas de la conexión LDAP
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 SaltStack 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 |
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}}
.Nota: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.