Contents

Introdução

Background

Pré-requisitos

Requisitos

Componentes Utilizados

Configurar

Diagrama de Rede

Configuração no ISE

Exemplos Python

Recuperar A Lista De Todos Os Nós Implantados No Cluster

Recuperar Detalhes De Um Nó Implantado

Troubleshooting

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

- ISE 3.3

- Python 3. 10. 0

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 para Administração -> Sistema -> Administração -> Administradores -> Usuários Admin -> 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 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 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.

Método

GET

URL

https://<ISE-PAN-IP>/api/v1/deployment/node

Credenciais

Usar credenciais de conta da API aberta

Cabeçalhos

Aceitar: application/json

Tipo de conteúdo: application/json

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é Operations -> Troubleshoot -> Debug Wizard -> Debug Log Configuration -> ISE Node -> 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