Introdução
Este documento descreve o procedimento para utilizar o openAPI para gerenciar a implantação do Cisco Identity Services Engine (ISE).
Background
Em redes empresariais modernas, a segurança e o gerenciamento tornaram-se cada vez mais complexos e críticos. Para enfrentar esses desafios, a partir do Cisco ISE 3.1, APIs mais recentes estão disponíveis no formato OpenAPI, que oferece controle de acesso à rede robusto e recursos de gerenciamento de políticas. Agora, o administrador pode verificar a implantação do ISE com mais eficiência por meio do OpenAPI e agir proativamente, em vez de aguardar relatórios de problemas dos usuários finais.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco Identity Services Engine (ISE)
- API REST
- Python
Componentes Utilizados
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 rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Configurar
Diagrama de Rede
Topologia
Configuração no ISE
Etapa 1: Adicione uma conta de administrador da API aberta
Para adicionar um administrador de API, navegue até Administração > Sistema > Acesso de administrador > Administradores > Usuários de administração > Adicionar.
Administrador de API
Etapa 2: Habilitar API aberta no ISE
A API aberta é desabilitada por padrão no ISE. Para habilitá-la, navegue até Administração > Sistema > Configurações > Configurações de API > Configurações de serviço de API. Alterne as opções da API aberta. Click Save.
Habilitar OpenAPI
Etapa 3: Explorar a API aberta do ISE
Navegue até Administração > Sistema > Configurações > Configurações de API > Visão geral. Clique no link de visita à API aberta.
Visite o OpenAPI
Exemplos Python
Recuperar A Lista De Todos Os Nós Implantados No Cluster
A API lista todos os nós implantados no cluster.
Etapa 1: Informações necessárias para uma chamada à API.
Etapa 2: Localize o URL que é utilizado para recuperar informações de implantação.
URI de API
Etapa 3: Aqui está o exemplo do código Python. Copie e cole o conteúdo. Substitua o IP, o nome de usuário e a senha do ISE. Salve como um arquivo python para executar.
Verifique a boa conectividade entre o ISE e o dispositivo que está executando o exemplo de código python.
from requests.auth import HTTPBasicAuth
import requests
requests.packages.urllib3.disable_warnings()
if __name__ == "__main__":
url = "https://10.106.33.92/api/v1/deployment/node"
headers = {"Accept": "application/json", "Content-Type": "application/json"}
basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123")
response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False)
print("Return Code:")
print(response.status_code)
print("Expected Outputs:")
print(response.json())
Aqui está o exemplo de saídas esperadas.
Return Code:
200
Expected Outputs:
{'response': [{'hostname': 'ISE-BGL-CFME01-PAN', 'fqdn': 'ISE-BGL-CFME01-PAN.cisco.com', 'ipAddress': '192.168.20.240', 'roles': ['PrimaryAdmin'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-BGL-CFME02-MNT', 'fqdn': 'ISE-BGL-CFME02-MNT.cisco.com', 'ipAddress': '192.168.21.240', 'roles': ['PrimaryMonitoring'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-DLC-CFME01-PSN', 'fqdn': 'ISE-DLC-CFME01-PSN.cisco.com', 'ipAddress': '192.168.40.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-DLC-CFME02-PSN', 'fqdn': 'ISE-DLC-CFME02-PSN.cisco.com', 'ipAddress': '192.168.41.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-RTP-CFME01-PAN', 'fqdn': 'ISE-RTP-CFME01-PAN.cisco.com', 'ipAddress': '192.168.10.240', 'roles': ['SecondaryAdmin'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, {'hostname': 'ISE-RTP-CFME02-MNT', 'fqdn': 'ISE-RTP-CFME02-MNT.cisco.com', 'ipAddress': '192.168.11.240', 'roles': ['SecondaryMonitoring'], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}], 'version': '1.0.0'}
Recuperar Detalhes De Um Nó Implantado
Essa API recupera informações detalhadas do nó ISE específico.
Etapa 1: Informações necessárias para uma chamada à API.
Método |
GET |
URL |
https://<ISE-PAN-IP>/api/v1/deployment/node/<ISE-Node-Hostname> |
Credenciais |
Usar credenciais de conta da API aberta |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2: Localize o URL utilizado para recuperar as informações específicas do nó do ISE.
URI de API
Etapa 3. Aqui está o exemplo do código Python. Copie e cole o conteúdo. Substitua o IP, o nome de usuário e a senha do ISE. Salve como um arquivo python para executar.
Verifique a boa conectividade entre o ISE e o dispositivo que está executando o exemplo de código python.
from requests.auth import HTTPBasicAuth
import requests
requests.packages.urllib3.disable_warnings()
if __name__ == "__main__":
url = "https://10.106.33.92/api/v1/deployment/node/ISE-DLC-CFME02-PSN"
headers = {"Accept": "application/json", "Content-Type": "application/json"}
basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123")
response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False)
print("Return Code:")
print(response.status_code)
print("Expected Outputs:")
print(response.json())
Aqui está o exemplo de saídas esperadas.
Return Code:
200
Expected Outputs:
{'response': {'hostname': 'ISE-DLC-CFME02-PSN', 'fqdn': 'ISE-DLC-CFME02-PSN.cisco.com', 'ipAddress': '192.168.41.240', 'roles': [], 'services': ['Session', 'Profiler', 'DeviceAdmin'], 'nodeStatus': 'Connected'}, 'version': '1.0.0'}
Troubleshooting
Para solucionar problemas relacionados às APIs abertas, defina oNível de Log para theapiservicecomponent paraDEBUGin theDebug Log janela de Configuração.
Para habilitar a depuração, navegue até Operações > Solução de problemas > Assistente de depuração > Configuração do log de depuração > Nó ISE > apiservice.
Depuração do Serviço de API
Para fazer o download de logs de depuração, navegue até Operations > Troubleshoot > Download Logs > ISE PAN Node > Debug Logs.
Logs de depuração de download