De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt de procedure beschreven voor het gebruik van OpenAPI voor het beheren van het Cisco Identity Services Engine (ISE)-beleid.
Cisco raadt kennis van de volgende onderwerpen aan:
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.
Vanaf Cisco ISE 3.1 zijn nieuwere API's beschikbaar in het OpenAPI-formaat. Managementbeleid optimaliseert netwerkbeveiliging en -beheer door de interoperabiliteit te verbeteren, de automatiseringsefficiëntie te verbeteren, de beveiliging te versterken, innovatie te bevorderen en kosten te verlagen. Dit beleid stelt ISE in staat om naadloos te integreren met andere systemen, geautomatiseerde configuratie en beheer te realiseren, gedetailleerde toegangscontrole te bieden, innovatie van derden aan te moedigen en beheerprocessen te vereenvoudigen, waardoor onderhoudskosten worden verlaagd en het algehele rendement op investeringen wordt verhoogd.
Topologie
Stap 1. Voeg een OpenAPI admin account toe.
Als u een API-beheerder wilt toevoegen, gaat u naar Beheer > Systeem > Beheerderstoegang > Beheerders > Beheerders > Gebruikers > Toevoegen.
API-beheerder
Stap 2. OpenAPI 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 OpenAPI-opties in. Klik op Save (Opslaan).
OpenAPI inschakelen
Stap 3. Ontdek ISE OpenAPI.
Ga naar Beheer > Systeem > Instellingen > API-instellingen > Overzicht. Klik op OpenAPI om de link te bezoeken.
Bezoek OpenAPI
Deze API haalt informatie over de beleidssets van apparaatbeheer op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set
|
geloofsbrieven | OpenAPI-accountreferenties gebruiken. |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2. Zoek de URL die wordt gebruikt om informatie over de beleidssets voor apparaatbeheer op te halen.
API-URI
Stap 3. Dit is een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/device-admin/policy-set"
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())
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'default': True, 'id': '41ed8579-429b-42a8-879e-61861cb82bbf', 'name': 'Default', 'description': 'Tacacs Default policy set', 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': None, 'serviceName': 'Default Device Admin', 'isProxy': False, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/device-admin/policy-set/41ed8579-429b-42a8-879e-61861cb82bbf', 'type': 'application/json'}}]}
Deze API haalt de authenticatieregels van een bepaalde beleidsset op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/verificatie
|
geloofsbrieven | OpenAPI-accountreferenties gebruiken. |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2. Zoek de URL die wordt gebruikt om informatie over de verificatieregels op te halen.
API-URI
Stap 3. Dit is een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/device-admin/policy-set/41ed8579-429b-42a8-879e-61861cb82bbf/authentication"
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())
Opmerking: De ID is afkomstig van API-uitgangen in stap 3 van Apparaatbeheer - Lijst van beleidssets. 41ed8579-429b-42a8-879e-61861cb82bbf is bijvoorbeeld TACACS-standaardbeleidsset.
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'rule': {'default': True, 'id': '73461597-0133-45ce-b4cb-6511ce56f262', 'name': 'Default', 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': None}, 'identitySourceName': 'All_User_ID_Stores', 'ifAuthFail': 'REJECT', 'ifUserNotFound': 'REJECT', 'ifProcessFail': 'DROP', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/device-admin/policy-set/41ed8579-429b-42a8-879e-61861cb82bbf/authentication/73461597-0133-45ce-b4cb-6511ce56f262', 'type': 'application/json'}}]}
Deze API haalt autorisatieregels van een bepaalde beleidsset op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authorisatie
|
geloofsbrieven | OpenAPI-accountreferenties gebruiken. |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2. Zoek de URL die wordt gebruikt om de autorisatieregel-informatie op te halen.
API-URI
Stap 3. Dit is een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/device-admin/policy-set/41ed8579-429b-42a8-879e-61861cb82bbf/authorization"
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())
Opmerking: De ID is afkomstig van API-uitgangen in stap 3 van Apparaatbeheer - Lijst van beleidssets. 41ed8579-429b-42a8-879e-61861cb82bbf is bijvoorbeeld TACACS-standaardbeleidsset.
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'rule': {'default': True, 'id': '39d9f546-e58c-4f79-9856-c0a244b8a2ae', 'name': 'Default', 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': None}, 'commands': ['DenyAllCommands'], 'profile': 'Deny All Shell Profile', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/device-admin/policy-set/41ed8579-429b-42a8-879e-61861cb82bbf/authorization/39d9f546-e58c-4f79-9856-c0a244b8a2ae', 'type': 'application/json'}}]}
Deze API haalt beleidssets voor netwerktoegang van ISE-implementaties op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set
|
geloofsbrieven | OpenAPI-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 een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/network-access/policy-set"
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())
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'default': False, 'id': 'ba71a417-4a48-4411-8bc3-d5df9b115769', 'name': 'BGL_CFME02-FMC', 'description': None, 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': {'link': None, 'conditionType': 'ConditionAndBlock', 'isNegate': False, 'children': [{'link': None, 'conditionType': 'ConditionAttributes', 'isNegate': False, 'dictionaryName': 'DEVICE', 'attributeName': 'Location', 'operator': 'equals', 'dictionaryValue': None, 'attributeValue': 'All Locations#BGL_CFME02'}, {'link': None, 'conditionType': 'ConditionAttributes', 'isNegate': False, 'dictionaryName': 'DEVICE', 'attributeName': 'Device Type', 'operator': 'equals', 'dictionaryValue': None, 'attributeValue': 'All Device Types#FMCv'}]}, 'serviceName': 'Default Network Access', 'isProxy': False, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769', 'type': 'application/json'}}, {'default': False, 'id': 'f7d82b2d-1007-44f6-961b-efa721d6ebec', 'name': 'SPRT', 'description': None, 'hitCounts': 0, 'rank': 1, 'state': 'enabled', 'condition': {'link': None, 'conditionType': 'ConditionAttributes', 'isNegate': False, 'dictionaryName': 'DEVICE', 'attributeName': 'Device Type', 'operator': 'equals', 'dictionaryValue': None, 'attributeValue': 'All Device Types#SPRT'}, 'serviceName': 'Default Network Access', 'isProxy': False, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/f7d82b2d-1007-44f6-961b-efa721d6ebec', 'type': 'application/json'}}, {'default': True, 'id': '467f6a69-344d-407f-81a4-e87c5dc7e438', 'name': 'Default', 'description': 'Default policy set', 'hitCounts': 0, 'rank': 2, 'state': 'enabled', 'condition': None, 'serviceName': 'Default Network Access', 'isProxy': False, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/467f6a69-344d-407f-81a4-e87c5dc7e438', 'type': 'application/json'}}]}
Deze API haalt de authenticatieregels van een bepaalde beleidsset op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/verificatie
|
geloofsbrieven | OpenAPI-accountreferenties gebruiken. |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2. Zoek de URL die wordt gebruikt om de informatie over de verificatieregel op te halen.
API-URI
Stap 3. Dit is een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769/authentication"
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())
Opmerking: De ID is afkomstig van API-uitgangen in stap 3 van Netwerktoegang - Lijst van beleidssets. Bijvoorbeeld, ba71a417-4a48-4411-8bc3-d5df9b115769
is BGL_CFME02-FMC
onzin.
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'rule': {'default': True, 'id': '03875777-6c98-4114-a72e-a3e1651e533a', 'name': 'Default', 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': None}, 'identitySourceName': 'S.H.I.E.L.D', 'ifAuthFail': 'REJECT', 'ifUserNotFound': 'REJECT', 'ifProcessFail': 'DROP', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769/authentication/03875777-6c98-4114-a72e-a3e1651e533a', 'type': 'application/json'}}]}
Deze API haalt autorisatieregels van een bepaalde beleidsset op.
Stap 1. Vereiste informatie voor een API-oproep.
methode | KRIJGEN |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authorisatie
|
geloofsbrieven | OpenAPI-accountreferenties gebruiken. |
Koppen |
Accepteren: aanvraag/json
Content-Type: applicatie/json
|
Stap 2. Zoek de URL die wordt gebruikt om de autorisatieregel-informatie op te halen.
API-URI
Stap 3. Dit is een voorbeeld van Python code. Kopieer en plak de inhoud. Vervang de ISE IP, gebruikersnaam en 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/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769/authorization"
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())
Opmerking: De ID is afkomstig van API-uitgangen in stap 3 van Netwerktoegang - Lijst van beleidssets. Bijvoorbeeld ba71a417-4a48-4411-8bc3-d5df9b115769 is BGL_CFME02-FMC.
Dit is het voorbeeld van de verwachte output.
Return Code:
200
Expected Outputs:
{'version': '1.0.0', 'response': [{'rule': {'default': False, 'id': 'bc67a4e5-9000-4645-9d75-7c2403ca22ac', 'name': 'FMC Admin', 'hitCounts': 0, 'rank': 0, 'state': 'enabled', 'condition': {'link': None, 'conditionType': 'ConditionAttributes', 'isNegate': False, 'dictionaryName': 'S.H.I.E.L.D', 'attributeName': 'ExternalGroups', 'operator': 'equals', 'dictionaryValue': None, 'attributeValue': 'cisco.com/Cisco/Lab/Groups/FmcAdmin'}}, 'profile': ['FMC-BGL_CFME02-Admin'], 'securityGroup': None, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769/authorization/bc67a4e5-9000-4645-9d75-7c2403ca22ac', 'type': 'application/json'}}, {'rule': {'default': True, 'id': 'e9f3034c-b768-4479-b6c3-3bb64bb6722c', 'name': 'Default', 'hitCounts': 0, 'rank': 1, 'state': 'enabled', 'condition': None}, 'profile': ['DenyAccess'], 'securityGroup': None, 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/policy/network-access/policy-set/ba71a417-4a48-4411-8bc3-d5df9b115769/authorization/e9f3034c-b768-4479-b6c3-3bb64bb6722c', 'type': 'application/json'}}]}
Als u problemen wilt oplossen die verband houden met de OpenAPI's, stelt u het logniveau 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 het debug-logbestand wilt downloaden, gaat u naar Bewerkingen > Problemen oplossen > Logboeken downloaden > ISE PAN-knooppunt > Debug-logboeken.
Debuglogs downloaden
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
18-Sep-2024
|
Eerste vrijgave |