Inhoud

Inleiding

Achtergrond

Voorwaarden

Vereisten

Gebruikte componenten

Configureren

Netwerkdiagram

Configuratie op ISE

Voorbeelden van Python

De lijst ophalen van alle knooppunten die in het cluster zijn geïmplementeerd

Details van een geïmplementeerde node ophalen

Problemen oplossen

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

- ISE 3.3

- Python 3.10.0

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.

methode

KRIJGEN

URL

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

geloofsbrieven

Open API-accountreferenties gebruiken

Koppen

Accepteren: aanvraag/json

Content-Type: applicatie/json

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