Introduction
Ce document décrit la procédure d'utilisation d'openAPI pour gérer le déploiement de Cisco Identity Services Engine (ISE).
Fond
Dans les réseaux d'entreprise modernes, la sécurité et la gestion sont devenues de plus en plus complexes et critiques. Pour relever ces défis, à partir de Cisco ISE 3.1, des API plus récentes sont disponibles au format OpenAPI, qui offre des fonctionnalités robustes de contrôle d'accès au réseau et de gestion des politiques. L'administrateur peut désormais contrôler plus efficacement le déploiement ISE via OpenAPI et prendre des mesures proactives plutôt que d'attendre les rapports de problème des utilisateurs finaux.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Cisco Identity Services Engine (ISE)
- API REST
- Python
Composants utilisés
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Configurer
Diagramme du réseau
Topologie
Configuration sur ISE
Étape 1 : Ajoutez un compte admin Open API
Pour ajouter un administrateur d'API, accédez à Administration > System > Admin Access > Administrators > Admin Users > Add.
Administrateur API
Étape 2 : activez l'API ouverte sur ISE
L'API ouverte est désactivée par défaut sur ISE. Pour l'activer, accédez à Administration > System > Settings > API Settings > API Service Settings. Activez les options de l'API ouverte. Cliquez sur Save.
Activer OpenAPI
Étape 3 : Explorez l'API ouverte ISE
Accédez à Administration > System > Settings > API Settings > Overview. Cliquez sur le lien Open API visit.
Visitez OpenAPI
Exemples Python
Récupérer La Liste De Tous Les Noeuds Déployés Dans Le Cluster
L'API répertorie tous les noeuds déployés dans le cluster.
Étape 1 : informations requises pour un appel API.
Étape 2 : localisez l'URL utilisée pour récupérer les informations de déploiement.
URI API
Étape 3 : Voici l'exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer sous un fichier python à exécuter.
Assurez-vous de la bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Voici l'exemple des résultats attendus.
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'}
Récupérer Les Détails D'Un Noeud Déployé
Cette API récupère des informations détaillées sur le noeud ISE spécifique.
Étape 1 : informations requises pour un appel API.
Méthode |
GET |
URL |
https://<ISE-PAN-IP>/api/v1/deployment/node/<Nom d'hôte du noeud ISE> |
Identifiants |
Utiliser les informations d'identification du compte Open API |
Header (En-tête) |
Accepter : application/json
Content-Type : application/json
|
Étape 2 : localisez l'URL utilisée pour récupérer les informations spécifiques du noeud ISE.
URI API
Étape 3. Voici l'exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer sous un fichier python à exécuter.
Assurez-vous de la bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Voici l'exemple des résultats attendus.
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'}
Dépannage
Pour résoudre les problèmes liés aux API ouvertes, définissez le niveau de journalisation pour theapiservicomponent sur DEBUGdans la fenêtre de configuration du journal de débogage.
Pour activer le débogage, accédez à Operations > Troubleshoot > Debug Wizard > Debug Log Configuration > ISE Node > apiservice.
Débogage du service API
Pour télécharger les journaux de débogage, accédez à Operations > Troubleshoot > Download Logs > ISE PAN Node > Debug Logs.
Télécharger les journaux de débogage