Introducción
Este documento describe el procedimiento para utilizar openAPI para gestionar la implementación de Cisco Identity Services Engine (ISE).
Background
En las redes empresariales modernas, la seguridad y la gestión se han vuelto cada vez más complejas y críticas. Para hacer frente a estos retos, a partir de Cisco ISE 3.1, hay disponibles API más recientes en formato OpenAPI, que ofrece un control de acceso a la red sólido y capacidades de gestión de políticas. Ahora, el administrador puede comprobar la implementación de ISE de forma más eficaz mediante OpenAPI y actuar de forma proactiva en lugar de esperar a recibir informes de problemas de los usuarios finales.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Identity Services Engine (ISE)
- API REST
- Python
Componentes Utilizados
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). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Configurar
Diagrama de la red
Topología
Configuración en ISE
Paso 1: Agregar una cuenta de administrador de API abierta
Para agregar un administrador de API, vaya aAdministración > Sistema > Acceso de administrador > Administradores > Usuarios de administración > Agregar.
Administrador de API
Paso 2: Habilitar API abierta en ISE
API abierta está desactivada de forma predeterminada en ISE. Para habilitarlo, navegue hasta Administration > System > Settings > API Settings > API Service Settings. Active o desactive las opciones de API abierta. Click Save.
Habilitar OpenAPI
Paso 3: Explore la API abierta de ISE
Vaya a Administration > System > Settings > API Settings > Overview. Haga clic en el enlace de visita API abierta.
Visite OpenAPI
Ejemplos de Python
Recuperar La Lista De Todos Los Nodos Implementados En El Clúster
La API enumera todos los nodos que se implementan en el clúster.
Paso 1: Información necesaria para una llamada de API.
Paso 2: Localice la URL que se utiliza para recuperar la información de implementación.
URI DE API
Paso 3: Este es el ejemplo de código Python. Copiar y pegar el contenido. Reemplace la IP, el nombre de usuario y la contraseña de ISE. Guardar como un archivo python para ejecutar.
Asegúrese de que haya una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Este es el ejemplo de resultados esperados.
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 Detalles De Un Nodo Implementado
Esta API recupera información detallada del nodo de ISE específico.
Paso 1: Información necesaria para una llamada de API.
Método |
GET |
URL |
https://<ISE-PAN-IP>/api/v1/deployment/node/<ISE-Node-Hostname> |
Credenciales |
Usar credenciales de cuenta de API abierta |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2: Localice la URL que se utiliza para recuperar la información específica del nodo de ISE.
URI DE API
Paso 3. Este es el ejemplo de código Python. Copiar y pegar el contenido. Reemplace la IP, el nombre de usuario y la contraseña de ISE. Guardar como un archivo python para ejecutar.
Asegúrese de que haya una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Este es el ejemplo de resultados esperados.
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'}
Troubleshoot
Para resolver problemas relacionados con las API abiertas, establezca elNivel de registro para el componente apiservicecomponent enDEBUGen la ventanaConfiguracióndel registro de depuración.
Para habilitar la depuración, vaya a Operaciones > Solución de problemas > Asistente de depuración > Configuración del registro de depuración > Nodo ISE > apiservice.
Depuración del servicio API
Para descargar los registros de depuración, vaya a Operaciones > Solución de problemas > Registros de descarga > Nodo ISE PAN > Registros de depuración.
Descargar registros de depuración