Inleiding
In dit document wordt de procedure beschreven voor het gebruik van openAPI voor het beheer van de implementatie van de Cisco Identity Services Engine (ISE).
Achtergrond
In moderne bedrijfsnetwerken zijn beveiliging en beheer steeds complexer en belangrijker geworden. Om deze uitdagingen aan te pakken, zijn vanaf Cisco ISE 3.1 nieuwere API's beschikbaar in het OpenAPI-formaat, dat robuuste mogelijkheden biedt voor netwerktoegangscontrole en beleidsbeheer. De beheerder is nu in staat om ISE-implementatie efficiënter te controleren via OpenAPI en proactief actie te ondernemen in plaats van te wachten op probleemrapporten van eindgebruikers.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- Cisco Identity Services Engine (ISE)
- REST-API
- Python
Gebruikte componenten
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Configureren
Netwerkdiagram
Topologie
Configuratie op ISE
Stap 1: Een Open API admin account toevoegen
Als u een API-beheerder wilt toevoegen, gaat u naar Beheer > Systeem > Beheerderstoegang > Beheerders > Beheerders > Gebruikers > Toevoegen.
API-beheerder
Stap 2: Open API inschakelen op ISE
Open API is standaard uitgeschakeld op ISE. Ga naar Beheer > Systeem > Instellingen > API-instellingen > API-service-instellingen om het in te schakelen. Schakel de Open API-opties in. Klik op Save (Opslaan).
OpenAPI inschakelen
Stap 3: ISE open API verkennen
Ga naar Beheer > Systeem > Instellingen > API-instellingen > Overzicht. Klik op de API-bezoeklink openen.
Bezoek OpenAPI
Voorbeelden van Python
De lijst ophalen van alle knooppunten die in het cluster zijn geïmplementeerd
De API geeft een overzicht van alle knooppunten die in het cluster zijn geïmplementeerd.
Stap 1: Vereiste informatie voor een API-oproep.
Stap 2: Zoek de URL die wordt gebruikt om implementatiegegevens op te halen.
API-URI
Stap 3: Hier is het voorbeeld van Python Code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam, wachtwoord. Opslaan als een Python-bestand om uit te voeren.
Zorg voor een goede connectiviteit tussen ISE en het apparaat waarop de python-code wordt uitgevoerd.
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())
Hier is het voorbeeld van de verwachte output.
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'}
Details van een geïmplementeerde node ophalen
Deze API haalt gedetailleerde informatie op van de specifieke ISE-node.
Stap 1: Vereiste informatie voor een API-oproep.
methode |
KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/deployment/node/<ISE-Node-Hostname> |
geloofsbrieven |
Open API-accountreferenties gebruiken |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2: Zoek de URL die wordt gebruikt om de specifieke ISE-knooppuntinformatie op te halen.
API-URI
Stap 3. Dit is het voorbeeld van Python. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam, wachtwoord. Opslaan als een Python-bestand om uit te voeren.
Zorg voor een goede connectiviteit tussen ISE en het apparaat waarop de python-code wordt uitgevoerd.
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())
Hier is het voorbeeld van de verwachte output.
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'}
Problemen oplossen
Om problemen op te lossen die verband houden met de Open API's, stelt u het niveau Log voor de apiservicecomponent in op DEBUG in het venster Debug Log Configuration.
Als u foutopsporing wilt inschakelen, gaat u naar Bewerkingen > Problemen oplossen > Wizard Foutopsporing > Logboekconfiguratie foutopsporing > ISE-node > apiservice.
API Service Debug
Als u foutopsporingslogboeken wilt downloaden, gaat u naar Bewerkingen > Problemen oplossen > Logboeken downloaden > ISE PAN-knooppunt > Foutopsporingslogboeken.
Debuglogs downloaden