Inleiding
Dit document beschrijft het proces voor het maken van netwerktoegangsapparaten (NAD's) op ISE via ERS API met PostMan als de REST-client.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- ISE (Identity Services Engine)
- ERS (Externe RUSTful Services)
- REST klanten zoals Postman, RESTED, Insomnia, enzovoort.
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende softwareversies:
- Cisco ISE (Identity Services Engine) 3.1 patch 6
- Postman REST client v10.17.4
Opmerking: de procedure is vergelijkbaar of identiek voor andere ISE-versies en REST-clients. U kunt deze stappen gebruiken op alle 2.x en 3.x ISE-softwarereleases, tenzij anders vermeld.
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
ERS inschakelen (poort 9060)
ERS API's zijn HTTPS-only REST API's die werken via poort 443 en poort 9060. Port 9060 is standaard gesloten, dus het moet eerst geopend worden. Er wordt een time-out van de server weergegeven als clients die proberen toegang te krijgen tot deze poort niet eerst ERS inschakelen. Daarom is de eerste vereiste dat ERS vanuit de Cisco ISE-beheerder UI mogelijk wordt gemaakt.
Navigeer naar Beheer > Instellingen > API-instellingen en schakel de knop ERS (Lezen/schrijven) in.
Opmerking: de ERS API's ondersteunen TLS 1.1 en TLS 1.2. ERS API's ondersteunen TLS 1.0 niet, ongeacht het inschakelen van TLS 1.0 in het venster Beveiligingsinstellingen van Cisco ISE GUI (Beheer > Systeem > Instellingen > Beveiligingsinstellingen). TLS 1.0 inschakelen in het venster Beveiligingsinstellingen heeft alleen betrekking op het EAP-protocol en heeft geen invloed op ERS API's.
ERS-beheerder maken
Maak een Cisco ISE-beheerder, wijs een wachtwoord toe en voeg de gebruiker aan de beheergroep toe als ERS-beheerder. U kunt de rest van de configuratie leeg laten.
Postman instellen
Download of gebruik de online versie van Postman.
- Maak een gebruiker en maak een werkruimte door te klikken op Create Workspace onder het tabblad Workspace.
2. Selecteer Lege werkruimte en wijs een naam toe aan de werkruimte. U kunt een beschrijving toevoegen en deze openbaar maken. Bijvoorbeeld, Personalis geselecteerd.
Zodra u de werkruimte hebt gemaakt, kunt u nu API-oproepen configureren.
ISE SDK en Basic Postman autorisatie
Om een gesprek te configureren hebt u eerst toegang tot de ISE ERS SDK (Software Developer Kit). Dit hulpmiddel compileert de gehele lijst van API vraag ISE kan uitvoeren:
- Navigeer naar https://{ise-ip}/ers/sdk.
- Log in met uw ISE-beheerreferenties.
- Breid de API-documentatie uit.
- Blader naar beneden tot u het netwerkapparaat vindt en klik op het apparaat.
- Onder deze optie, kunt u alle beschikbare handelingen nu vinden u voor Netwerkapparaten op ISE kunt uitvoeren. Selecteer Aanmaken.
6. U kunt nu de configuratie zien die nodig is om de API-oproep uit te voeren met behulp van XML of JSON op een Rest-client, evenals een verwacht responsvoorbeeld.
7.Back to Postman configureren basisauthenticatie naar ISE. Selecteer in het tabblad Autorisatie Basis autorisatie als het verificatietype en voeg de eerder op ISE gemaakte ISE ERS-gebruikersreferenties toe.
Opmerking: Het wachtwoord wordt weergegeven als duidelijke tekst tenzij variabelen zijn geconfigureerd op Postman.
Creëer en gebruik XML
Maak TESNAD1 met RADIUS TACACS-, SNMP- en TrustSec-instellingen met behulp van XML.
1. Op de SDK, onder Create, zijn de kopregels en de sjablonen vereist om de oproep en de verwachte reactie uit te voeren.
2. Ga naar het tabblad Koppen en configureer de gewenste kopregels voor de API-aanroep zoals weergegeven in de SDK. De headerconfiguratie moet er als volgt uitzien:
3. Verplaats naar de kop Tekst en selecteer rauw. Hiermee kunt u de XML-sjabloon plakken die nodig is voor het maken van de NAD.
4. De XML-sjabloon ziet er zo uit (wijzig de waarden zoals vereist):
<?xml version="1.0" encoding="UTF-8"?> <ns0:networkdevice xmlns:ns0="network.ers.ise.cisco.com" xmlns:xs="Schema XML File" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="This NAD was added via ERS API" name="TESTNAD1"> <authenticationSettings> <dtlsRequired>true</dtlsRequired> <enableKeyWrap>true</enableKeyWrap> <keyEncryptionKey>1234567890123456</keyEncryptionKey> <keyInputFormat>ASCII</keyInputFormat> <messageAuthenticatorCodeKey>12345678901234567890</messageAuthenticatorCodeKey> <radiusSharedSecret>cisco123</radiusSharedSecret> </authenticationSettings> <coaPort>1700</coaPort> <dtlsDnsName>Domain</dtlsDnsName> <NetworkDeviceIPList> <NetworkDeviceIP> <ipaddress>NAD IP Address</ipaddress> <mask>32</mask> </NetworkDeviceIP> </NetworkDeviceIPList> <NetworkDeviceGroupList> <NetworkDeviceGroup>Location#All Locations#LAB</NetworkDeviceGroup> <NetworkDeviceGroup>Device Type#All Device Types#Access-Layer</NetworkDeviceGroup> </NetworkDeviceGroupList> <profileName>Cisco</profileName> <snmpsettings> <linkTrapQuery>true</linkTrapQuery> <macTrapQuery>true</macTrapQuery> <originatingPolicyServicesNode>Auto</originatingPolicyServicesNode> <pollingInterval>3600</pollingInterval> <roCommunity>aaa</roCommunity> <version>ONE</version> </snmpsettings> <tacacsSettings> <connectModeOptions>ON_LEGACY</connectModeOptions> <sharedSecret>cisco123</sharedSecret> </tacacsSettings> <trustsecsettings> <deviceAuthenticationSettings> <sgaDeviceId>TESTNAD1</sgaDeviceId> <sgaDevicePassword>cisco123</sgaDevicePassword> </deviceAuthenticationSettings> <deviceConfigurationDeployment> <enableModePassword>cisco123</enableModePassword> <execModePassword>cisco123</execModePassword> <execModeUsername>Admin</execModeUsername> <includeWhenDeployingSGTUpdates>true</includeWhenDeployingSGTUpdates> </deviceConfigurationDeployment> <pushIdSupport>false</pushIdSupport> <sgaNotificationAndUpdates> <coaSourceHost>ise3-1test</coaSourceHost> <downlaodEnvironmentDataEveryXSeconds>86400</downlaodEnvironmentDataEveryXSeconds> <downlaodPeerAuthorizationPolicyEveryXSeconds>86400</downlaodPeerAuthorizationPolicyEveryXSeconds> <downloadSGACLListsEveryXSeconds>86400</downloadSGACLListsEveryXSeconds> <otherSGADevicesToTrustThisDevice>false</otherSGADevicesToTrustThisDevice> <reAuthenticationEveryXSeconds>86400</reAuthenticationEveryXSeconds> <sendConfigurationToDevice>false</sendConfigurationToDevice> <sendConfigurationToDeviceUsing>ENABLE_USING_COA</sendConfigurationToDeviceUsing> </sgaNotificationAndUpdates> </trustsecsettings> </ns0:networkdevice>
Opmerking: het is belangrijk om op te merken dat de volgende regels alleen vereist zijn als <enableKeyWrap>{false|true}</enableKeyWrap> op true is ingesteld. Anders kan hetzelfde worden verwijderd uit de XML-sjabloon:
<keyEncryptionKey>1234567890123456</keyEncryptionKey> <keyInputFormat>ASCII</keyInputFormat> <messageAuthenticatorCodeKey>12345678901234567890</messageAuthenticatorCodeKey>
U kunt de configuratie die u niet nodig hebt uit de sjabloon verwijderen en gewoon de gegevens achterlaten die u daadwerkelijk moet worden toegevoegd tijdens het maken van de NAD. Hier is bijvoorbeeld hetzelfde sjabloon, maar alleen met de TACACS-configuratie. Zorg ervoor dat de sjabloon eindigt met </ns0:netwerkapparaat>, ongeacht de gewenste configuratie.
<?xml version="1.0" encoding="UTF-8"?> <ns0:networkdevice xmlns:ns0="network.ers.ise.cisco.com" xmlns:xs="Schema XML File" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="This NAD was added via ERS API" name="TESTNAD1"> <NetworkDeviceIPList> <NetworkDeviceIP> <ipaddress>NAD IP Address</ipaddress> <mask>32</mask> </NetworkDeviceIP> </NetworkDeviceIPList> <NetworkDeviceGroupList> <NetworkDeviceGroup>Location#All Locations#LAB</NetworkDeviceGroup> <NetworkDeviceGroup>Device Type#All Device Types#Access-Layer</NetworkDeviceGroup> </NetworkDeviceGroupList> <profileName>Cisco</profileName> <tacacsSettings> <connectModeOptions>ON_LEGACY</connectModeOptions> <sharedSecret>cisco123</sharedSecret> </tacacsSettings> </ns0:networkdevice>
5. Plakt de XML-sjabloon voor rauw onder de kop Tekst.
6. Selecteer POST als de methode, plak https://{ISE-ip}/ers/config/network device en klik op Verzenden. Als alles goed is geconfigureerd, moet u een 201 Created bericht zien en het resultaat leeg.
7. Bevestig of het NAD is gemaakt door een GET-oproep voor het NAD uit te voeren of door de ISE- en NAD-lijst te controleren.
Maak en gebruik van JSON
Maak TESNAD2met RADIUS-instellingen voor TACACS, SNMP en TrustSec met behulp van JSON.
1. Op de SDK, onder Create, zijn de kopregels en de sjablonen vereist om de oproep en de verwachte reactie uit te voeren.
2. Ga naar het tabblad Koppen en configureer de gewenste kopregels voor de API-aanroep zoals weergegeven in de SDK. De headerconfiguratie moet er als volgt uitzien:
3. Verplaats naar de kop Tekst en selecteer rauw. Hierdoor kunt u de JSON-sjabloon plakken die nodig is voor het maken van de NAD.
4. De JSON-sjabloon moet er zo uitzien (de waarden wijzigen zoals vereist):
{ "NetworkDevice": { "name": "TESTNAD2", "description": "This NAD was added via ERS API", "authenticationSettings": { "radiusSharedSecret": "cisco123", "enableKeyWrap": true, "dtlsRequired": true, "keyEncryptionKey": "1234567890123456", "messageAuthenticatorCodeKey": "12345678901234567890", "keyInputFormat": "ASCII" }, "snmpsettings": { "version": "ONE", "roCommunity": "aaa", "pollingInterval": 3600, "linkTrapQuery": true, "macTrapQuery": true, "originatingPolicyServicesNode": "Auto" }, "trustsecsettings": { "deviceAuthenticationSettings": { "sgaDeviceId": "TESTNAD2", "sgaDevicePassword": "cisco123" }, "sgaNotificationAndUpdates": { "downlaodEnvironmentDataEveryXSeconds": 86400, "downlaodPeerAuthorizationPolicyEveryXSeconds": 86400, "reAuthenticationEveryXSeconds": 86400, "downloadSGACLListsEveryXSeconds": 86400, "otherSGADevicesToTrustThisDevice": false, "sendConfigurationToDevice": false, "sendConfigurationToDeviceUsing": "ENABLE_USING_COA", "coaSourceHost": "ise3-1test" }, "deviceConfigurationDeployment": { "includeWhenDeployingSGTUpdates": true, "enableModePassword": "cisco123", "execModePassword": "cisco123", "execModeUsername": "Admin" }, "pushIdSupport": "false" }, "tacacsSettings": { "sharedSecret": "cisco123", "connectModeOptions": "ON_LEGACY" }, "profileName": "Cisco", "coaPort": 1700, "dtlsDnsName": "Domain", "NetworkDeviceIPList": [ { "ipaddress": "NAD IP Adress", "mask": 32 } ], "NetworkDeviceGroupList": [ "Location#All Locations", "Device Type#All Device Types" ] } }
Opmerking: Het is belangrijk om op te merken dat de volgende regels alleen vereist zijn als enableKeyWrap":{false|true}, is ingesteld op true. Anders kan hetzelfde worden verwijderd uit de JSON-sjabloon:
"keyEncryptionKey": "1234567890123456", "messageAuthenticatorCodeKey": "12345678901234567890", "keyInputFormat": "ASCII" U kunt ook de configuratie verwijderen die u niet nodig hebt uit de sjabloon, en gewoon de gegevens laten die u daadwerkelijk moet worden toegevoegd tijdens het maken van de NAD.
5. Plakt de JSON-sjabloon voor rauw onder de kop Body.
6. Selecteer POST als de methode, plak https://{ISE-ip}/ers/config/network device en klik op Verzenden. Als alles goed is geconfigureerd, moet u een 201 Created bericht zien en het resultaat leeg.
7. Bevestig of het NAD is gemaakt door een GET-oproep voor het NAD uit te voeren of door de ISE-NAD-lijst te controleren.
Verifiëren
Als u tot de API dienst GUI pagina kunt toegang hebben, bijvoorbeeld, https://{iseip}:{port}/api/swagger-ui/index.html of https://{iseip}:9060/ers/sdk, betekent het dat de API-service werkt zoals verwacht.
Problemen oplossen
- Alle REST-bewerkingen worden gecontroleerd en de logbestanden worden ingelogd in de systeemlogbestanden.
- Om problemen op te lossen die betrekking hebben op de Open API's, stelt u het niveau van het logboek voor de apisservice-component in om te DEBUGGEN in het venster van de Debug Log Configuration.
- Om problemen met betrekking tot de ERS API's op te lossen, stelt u het Logniveau voor de ers-component in om DEBUG te maken in het venster Debug Log Configuration. Als u dit venster wilt weergeven, navigeert u naar de Cisco ISE GUI, klikt u op het pictogram Menu en kiest u Operations > Probleemoplossing > Wizard Debug > Log Configuration.
- U kunt de logbestanden downloaden vanuit het venster Download Logs. Als u dit venster wilt weergeven, navigeert u naar de Cisco ISE GUI, klikt u op het pictogram Menu en kiest u Operations > Probleemoplossing > Logbestanden downloaden.
- U kunt ervoor kiezen om een ondersteuningsbundel van het tabblad Support te downloaden door op de knop Downloaden onder het tabblad te klikken, of om de api-service debug logs te downloaden van het tabblad Debug Logs door op de waarde Log File voor het debug-log te klikken.