Introducción
Este documento describe un ejemplo de configuración para el uso del protocolo ligero de acceso a directorios (LDAP) como almacén de identidades externo para el acceso administrativo a la GUI de administración de Cisco Identity Services Engine (ISE).
Prerequisites
Cisco recomienda que tenga conocimiento sobre estos temas:
- Configuración de Cisco ISE versión 3.0
- LDAP
Requirements
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Cisco ISE versión 3.0
- Windows Server 2016
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Configuraciones
Utilice la sección para configurar un usuario basado en LDAP a fin de obtener acceso administrativo/personalizado a la GUI de ISE. La siguiente configuración utiliza las consultas del protocolo LDAP para obtener al usuario del directorio activo para realizar la autenticación.
Conexión de ISE a LDAP
- Vaya a Administration > Identity Management > External Identity Sources > Active Directory > LDAP.
- En la pestaña General, ingrese el nombre de LDAP y elija el esquema Active Directory.
Configurar el tipo de conexión y la configuración LDAP
1. Vaya a ISE > Administration > Identity Management > External Identity Sources > LDAP.
2. Configure el nombre de host del servidor LDAP principal junto con el puerto 389(LDAP)/636 (LDAP-Secure) .
3. Introduzca la ruta del nombre distinguido (DN) del administrador con la contraseña de administrador del servidor LDAP.
4. Haga clic en Test Bind Server (Probar servidor de enlace) para probar la disponibilidad del servidor LDAP desde ISE.
Configuración de la organización, los grupos y los atributos del directorio
1. Seleccione el grupo de organización correcto del usuario en función de la jerarquía de usuarios almacenada en el servidor LDAP.
Habilitar el acceso administrativo para usuarios de LDAP
Complete estos pasos para habilitar la autenticación basada en contraseña.
- Vaya a ISE > Administration > System > Admin Access > Authentication.
- En la pestaña Authentication Method, seleccione la opción Password-Based.
- Seleccione LDAP en el menú desplegable Origen de identidad.
- Haga clic en Guardar cambios.
Asigne el grupo de administradores al grupo LDAP
Configure el grupo de administradores en ISE y asígnelo al grupo AD. Esto permite al usuario configurado obtener acceso basado en las directivas de autorización basadas en los permisos RBAC configurados para el administrador en función de la pertenencia al grupo.
Establecer permisos para el acceso al menú
1. Vaya a ISE > Administration > System > Authorization > Permissions > Menu access .
2. Defina el acceso al menú para que el usuario administrador acceda a la GUI de ISE. Puede configurar las subentidades que se mostrarán u ocultarán en la GUI para que un usuario pueda acceder de forma personalizada y realizar únicamente un conjunto de operaciones si es necesario.
3. Haga clic en Guardar.
Establecer permisos para el acceso a datos
1. Vaya a ISE > Administration > System > Authorization > Permissions > Data access.
2. Defina el acceso a los datos para que el usuario administrador tenga acceso completo o acceso de solo lectura a los grupos de identidad en la GUI de ISE.
3. Haga clic en Guardar.
Establecer permisos RBAC para el grupo de administradores
- Vaya a ISE > Administration > System > Admin Access > Authorization > Policy.
- En el menú desplegable Actions de la derecha, seleccione Insert New Policy para agregar una nueva directiva.
- Cree una nueva regla denominada LDAP_RBAC_policy para asignarla al grupo de administradores definido en la sección Habilitar acceso administrativo para AD y asígnele permisos para el acceso a menús y a datos.
- Haga clic en Save Changes y se mostrará la confirmación de los cambios guardados en la esquina inferior derecha de la GUI.
Nota: el usuario superadministrador no puede modificar las políticas y permisos RBAC generados por el sistema predeterminados. Para ello, debe crear nuevas directivas RBAC con los permisos necesarios en función de sus necesidades y asignarlas a un grupo de administradores.
Nota: sólo un usuario administrador del grupo superadministrador predeterminado puede modificar o eliminar otros usuarios administradores. Incluso un usuario asignado externamente que forma parte de un grupo de administradores clonado con los privilegios de menú y acceso a datos del grupo de superadministradores no puede modificar ni eliminar un usuario administrador.
Verificación
Utilize esta sección para confirmar que su configuración funcione correctamente.
Acceso a ISE con credenciales de AD
Complete estos pasos para acceder a ISE con credenciales de AD:
- Abra la GUI de ISE para iniciar sesión con el usuario de LDAP.
- Seleccione LDAP_Server en el menú desplegable Origen de identidad.
- Introduzca el UPN y la contraseña de la base de datos LDAP e inicie sesión.
Verifique el inicio de sesión de los inicios de sesión del administrador en Informes de auditoría. Vaya a ISE > Operations > Reports > Audit > Administrators Logins.
Para confirmar que esta configuración funciona correctamente, verifique el nombre de usuario autenticado en la esquina superior derecha de la GUI de ISE. Defina un acceso basado en personalización que tenga acceso limitado al menú, como se muestra a continuación:
Troubleshoot
En esta sección se brinda información que puede utilizar para resolver problemas en su configuración.
Información general
Para solucionar problemas del proceso RBAC, estos componentes de ISE deben habilitarse en la depuración en el nodo de administración de ISE:
RBAC: imprime el mensaje relacionado con RBAC cuando intentamos iniciar sesión (ise-psc.log)
access-filter: imprime el acceso al filtro de recursos (ise-psc.log)
runtime-AAA - Imprime los registros para el inicio de sesión y los mensajes de interacción LDAP (port-server.log)
Análisis de captura de paquetes
Análisis de registro
Verifique el archivo port-server.log
PAPAuthenticator,2020-10-10 08:54:00,621,DEBUG,0x7f852bee3700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,validateEvent: Username is [admin2@anshsinh.local] bIsMachine is [0] isUtf8Valid is [1],PAPAuthenticator.cpp:86
IdentitySequence,2020-10-10 08:54:00,627,DEBUG,0x7f852c4e9700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,******* Authen IDStoreName:LDAP_Server,IdentitySequenceWorkflow.cpp:377
LDAPIDStore,2020-10-10 08:54:00,628,DEBUG,0x7f852c4e9700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,Send event to LDAP_Server_924OqzxSbv_199_Primary server,LDAPIDStore.h:205
Server,2020-10-10 08:54:00,634,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapServer::onAcquireConnectionResponse: succeeded to acquire connection,LdapServer.cpp:724
Connection,2020-10-10 08:54:00,634,DEBUG,0x7f85293b8700,LdapConnectionContext::sendSearchRequest(id = 1221): base = dc=anshsinh,dc=local, filter = (&(objectclass=Person)(userPrincipalName=admin2@anshsinh.local)),LdapConnectionContext.cpp:516
Server,2020-10-10 08:54:00,635,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapSubjectSearchAssistant::processAttributes: found CN=admin2,CN=Users,DC=anshsinh,DC=local entry matching admin2@anshsinh.local subject,LdapSubjectSearchAssistant.cpp:268
Server,2020-10-10 08:54:00,635,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapSubjectSearchAssistant::processGroupAttr: attr = memberOf, value = CN=employee,CN=Users,DC=anshsinh,DC=local,LdapSubjectSearchAssistant.cpp:389
Server,2020-10-10 08:54:00,636,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapServer::onAcquireConnectionResponse: succeeded to acquire connection,LdapServer.cpp:724
Server,2020-10-10 08:54:00,636,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapServer::authenticate: user = admin2@anshsinh.local, dn = CN=admin2,CN=Users,DC=anshsinh,DC=local,LdapServer.cpp:352
Connection,2020-10-10 08:54:00,636,DEBUG,0x7f85293b8700,LdapConnectionContext::sendBindRequest(id = 1223): dn = CN=admin2,CN=Users,DC=anshsinh,DC=local,LdapConnectionContext.cpp:490
Server,2020-10-10 08:54:00,640,DEBUG,0x7f85293b8700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LdapServer::handleAuthenticateSuccess: authentication of admin2@anshsinh.local user succeeded,LdapServer.cpp:474
LDAPIDStore,2020-10-10 08:54:00,641,DEBUG,0x7f852c6eb700,cntx=0002480105,sesn=ise30/389444264/3178,CPMSessionID=ise30:userauth286,user=admin2@anshsinh.local,LDAPIDStore::onResponse: LdapOperationStatus=AuthenticationSucceeded -> AuthenticationResult=Passed,LDAPIDStore.cpp:336
Verifique el ise-psc.log
A partir de estos registros, puede verificar la política RBAC utilizada por el usuario admin2 cuando intenta acceder al recurso Dispositivo de red.
2020-10-10 08:54:24,474 DEBUG [admin-http-pool51][] com.cisco.cpm.rbacfilter.AccessUtil -:admin2@anshsinh.local:::- For admin2@anshsinh.local on /NetworkDevicesLPInputAction.do -- ACCESS ALLOWED BY MATCHING administration_networkresources_devices
2020-10-10 08:54:24,524 INFO [admin-http-pool51][] cpm.admin.ac.actions.NetworkDevicesLPInputAction -:admin2@anshsinh.local:::- In NetworkDevicesLPInputAction container method
2020-10-10 08:54:24,524 DEBUG [admin-http-pool51][] cisco.ise.rbac.authorization.RBACAuthorization -:admin2@anshsinh.local:::- :::::::::Inside RBACAuthorization.getDataEntityDecision:::::: userName admin2@anshsinh.local dataType RBAC_NETWORK_DEVICE_GROUP permission ALL
2020-10-10 08:54:24,526 DEBUG [admin-http-pool51][] ise.rbac.evaluator.impl.DataPermissionEvaluatorImpl -:admin2@anshsinh.local:::- In DataPermissionEvaluator:hasPermission
2020-10-10 08:54:24,526 DEBUG [admin-http-pool51][] ise.rbac.evaluator.impl.DataPermissionEvaluatorImpl -:admin2@anshsinh.local:::- Data access being evaluated:LDAP_Data_Access
2020-10-10 08:54:24,528 DEBUG [admin-http-pool51][] cisco.ise.rbac.authorization.RBACAuthorization -:admin2@anshsinh.local:::- :::::::::Inside RBACAuthorization.getDataEntityDecision:::::: permission retrieved false
2020-10-10 08:54:24,528 INFO [admin-http-pool51][] cpm.admin.ac.actions.NetworkDevicesLPInputAction -:admin2@anshsinh.local:::- Finished with rbac execution
2020-10-10 08:54:24,534 INFO [admin-http-pool51][] cisco.cpm.admin.license.TrustSecLicensingUIFilter -:admin2@anshsinh.local:::- Should TrustSec be visible :true
2020-10-10 08:54:24,593 DEBUG [admin-http-pool51][] cisco.ise.rbac.authorization.RBACAuthorization -:admin2@anshsinh.local:::- :::::::::Inside RBACAuthorization.getPermittedNDG:::::: userName admin2@anshsinh.local
2020-10-10 08:54:24,595 DEBUG [admin-http-pool51][] ise.rbac.evaluator.impl.DataPermissionEvaluatorImpl -:admin2@anshsinh.local:::- In DataPermissionEvaluator:getPermittedNDGMap
2020-10-10 08:54:24,597 DEBUG [admin-http-pool51][] ise.rbac.evaluator.impl.DataPermissionEvaluatorImpl -:admin2@anshsinh.local:::- processing data Access :LDAP_Data_Access
2020-10-10 08:54:24,604 INFO [admin-http-pool51][] cisco.cpm.admin.license.TrustSecLicensingUIFilter -:admin2@anshsinh.local:::- Should TrustSec be visible :true