Introdução
Este documento descreve um exemplo de configuração para o uso do Lightweight Diretory Access Protocol (LDAP) como um armazenamento de identidade externo para acesso administrativo à GUI de gerenciamento do Cisco Identity Services Engine (ISE).
Pré-requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Configuração do Cisco ISE versões 3.0
- LDAP
Requisitos
As informações neste documento são baseadas nestas versões de software e hardware:
- Cisco ISE versão 3.0
- Windows Server 2016
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Configurações
Use a seção para configurar um usuário baseado em LDAP para obter acesso administrativo/personalizado à GUI do ISE. A configuração abaixo usa as consultas de protocolo LDAP para buscar o usuário no Ative Diretory para executar a autenticação.
Junte o ISE ao LDAP
- Navegue até Administração > Gerenciamento de identidades > Fontes de identidade externas > Ative Diretory > LDAP.
- Na guia Geral, insira o nome do LDAP e escolha o esquema Ative Diretory.
Configurar o tipo de conexão e a configuração LDAP
1. Navegue até ISE > Administração > Gerenciamento de identidades > Fontes de identidade externas > LDAP.
2. Configure o nome de host do servidor LDAP primário junto com a porta 389(LDAP)/636 (LDAP-Secure) .
3. Insira o caminho para o DN (Distinguished Name, nome distinto) do administrador com a senha do administrador para o servidor LDAP.
4.Clique em Testar servidor de ligação para testar a acessibilidade do servidor LDAP do ISE .
Configurar a organização do Diretório, Grupos e Atributos
1. Escolha o grupo de organização correto do usuário com base na hierarquia de usuários armazenados no servidor LDAP.
Habilitar acesso administrativo para usuários LDAP
Conclua estas etapas para habilitar a autenticação baseada em senha.
- Navegue até ISE > Administração > Sistema > Acesso de administrador > Autenticação.
- Na guia Authentication Method, selecione a opção Password-Based.
- Selecione LDAP no menu suspenso Identity Source.
- Clique em Save Changes.
Mapear o grupo Admin para grupo LDAP
Configure o grupo de administradores no ISE e mapeie-o para o grupo do AD. Isso permite que o usuário configurado obtenha acesso com base nas políticas de autorização com base nas permissões RBAC configuradas para o administrador com base na associação de grupo.
Definir Permissões para Acesso ao Menu
1. Navegue até ISE > Administração > Sistema > Autorização > Permissões > Acesso ao menu
2. Defina o acesso ao menu para que o usuário administrador acesse a GUI do ISE. Você pode configurar as subentidades a serem mostradas ou ocultas na GUI para acesso personalizado para que um usuário execute apenas um conjunto de operações, se necessário.
3. Clique no botão Salvar.
Definir Permissões para Acesso a Dados
1. Navegue até ISE > Administração > Sistema > Autorização > Permissões > Acesso a dados.
2. Defina o acesso a dados para que o usuário administrador tenha acesso total ou somente leitura aos grupos de identidade na GUI do ISE.
3. Clique em Salvar.
Definir permissões RBAC para o grupo de administradores
- Navegue até ISE > Administração > Sistema > Acesso de administrador > Autorização > Política.
- No menu suspenso Actions à direita, selecione Insert New Policy para adicionar uma nova diretiva.
- Crie uma nova regra chamada LDAP_RBAC_policy mapeie-a com o Grupo Admin definido na seção Habilitar acesso administrativo para AD e atribua a ela permissões para acesso a menu e acesso a dados.
- Clique em Save Changes e a confirmação das alterações salvas será exibida no canto inferior direito da GUI.
Observação: o usuário superadministrador não pode modificar as políticas e permissões RBAC padrão geradas pelo sistema. Para fazer isso, você deve criar novas políticas RBAC com as permissões necessárias com base em suas necessidades e mapear essas políticas para um grupo de administradores.
Observação: somente um usuário administrador do grupo de superadministradores padrão pode modificar ou excluir outros usuários administradores. Mesmo um usuário mapeado externamente que faça parte de um Grupo de administradores clonado com os privilégios de Menu e Acesso a Dados do Super Grupo de administradores não pode modificar ou excluir um usuário administrador.
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Acessar o ISE com credenciais do AD
Conclua estas etapas para acessar o ISE com credenciais do AD:
- Abra a GUI do ISE para fazer login com o usuário LDAP.
- Selecione LDAP_Server no menu suspenso Identity Source.
- Insira o UPN e a senha do banco de dados LDAP e faça login.
Verifique o logon dos logons do administrador nos Relatórios de auditoria. Navegue até ISE > Operations > Reports > Audit > Administrators Logins.
Para confirmar se essa configuração funciona corretamente, verifique o nome de usuário autenticado no canto superior direito da GUI do ISE. Defina um acesso personalizado que tenha acesso limitado ao menu, como mostrado aqui:
Troubleshooting
Esta seção disponibiliza informações para a solução de problemas de configuração.
Informações gerais
Para solucionar problemas do processo RBAC, esses componentes do ISE devem ser habilitados na depuração no nó de administração do ISE:
RBAC - Imprime a mensagem relacionada ao RBAC quando tentamos fazer logon (ise-psc.log)
access-filter - Imprime o acesso de filtro de recurso (ise-psc.log)
runtime-AAA - Imprime os logs das mensagens de interação de logon e LDAP (prrt-server.log)
Análise de captura de pacotes
Análise de log
Verifique o arquivo prt-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 o ise-psc.log
Nesses logs, você pode verificar a política RBAC usada para o usuário admin2 quando o tenta acessar o recurso Network Device.
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