概要
このドキュメントでは、RESTクライアントとしてPostManを使用して、ERS API経由でISE上にネットワークアクセスデバイス(NAD)を作成するプロセスについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ISE(Identity Services Engine)
- ERS(外部RESTfulサービス)
- RESTクライアントには、Postman、REREST、Insomniaなどがあります。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Cisco ISE(Identity Services Engine)3.1パッチ6
- Postman RESTクライアントv10.17.4
注:この手順は、他のISEバージョンとRESTクライアントで類似または同一です。これらの手順は、特に明記されていない限り、すべての2.xおよび3.x ISEソフトウェアリリースで使用できます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ERSの有効化(ポート9060)
ERS APIは、ポート443およびポート9060で動作するHTTPS専用のREST APIです。ポート9060はデフォルトで閉じられているため、最初に開く必要があります。 このポートにアクセスしようとしているクライアントが最初にERSをイネーブルにしなかった場合、サーバからのタイムアウトが表示されます。したがって、最初の要件は、Cisco ISE管理UIからERSを有効にすることです。
Administration > Settings > API Settingsの順に移動し、ERS(読み取り/書き込み)トグルボタンを有効にします。
注:ERS APIはTLS 1.1とTLS 1.2をサポートしています。ERS APIは、Cisco ISE GUIのSecurity Settingsウィンドウ(Administration > System > Settings > Security Settings)でTLS 1.0を有効にしても、TLS 1.0をサポートしません。Security SettingsウィンドウでTLS 1.0を有効にすることは、EAPプロトコルだけに関連し、ERS APIには影響しません。
ERS管理者の作成
Cisco ISE管理者を作成し、パスワードを割り当て、ERS Adminとしてユーザをadminグループに追加します。残りの設定は空のままにしておくことができます。
Postmanの設定
Postmanのオンライン版をダウンロードまたは使用してください。
- ユーザを作成し、ワークスペースを作成するには、[ワークスペース] タブの下にある[ワークスペースの作成] をクリックします。
2. 「空白の作業領域」を選択し、作業領域に名前を割り当てます。説明を追加して公開することができます。 この例では、Personalisが選択されています。
ワークスペースを作成したら、API呼び出しを設定できます。
ISE SDKおよび基本ポストマン認証
コールを設定するには、最初にISE ERS SDK(Software Developer Kit)にアクセスします。このツールは、ISEが実行できるAPIコールのリスト全体をコンパイルします。
- https://{ise-ip}/ers/sdkに移動します。
- ISE管理者クレデンシャルを使用してログインします。
- API Documentationを展開します。
- Network Deviceが表示されるまで下にスクロールし、それをクリックします。
- このオプションでは、ISE上のネットワークデバイスに対して実行できるすべての操作を検索できます。Createを選択します。
6. RestクライアントでXMLまたはJSONを使用してAPI呼び出しを実行するために必要な設定と、想定される応答例を確認できます。
7.Postmanに戻り、ISEへの基本認証を設定します。Authorizationタブで、認証タイプとしてBasic Authを選択し、ISEで以前に作成したISE ERSユーザクレデンシャルを追加します。
注:Postmanで変数が設定されていない限り、パスワードはクリアテキストで表示されます。
XMLを使用したNADの作成
XMLを使用して、RADIUS TACACS、SNMP、およびTrustSec設定でTESTNAD1を作成します。
1. SDKのCreateの下に、コールの実行に必要なヘッダーとテンプレート、および予想される応答が表示されます。
2. Headersタブに移動し、SDKに表示されるAPIコールに必要なヘッダーを設定します。ヘッダー設定は次のようになります。
3. Bodyヘッダーに移動し、rawを選択します。これにより、NADの作成に必要なXMLテンプレートを貼り付けることができます。
4. XMLテンプレートは次のようになります(必要に応じて値を変更します)。
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">
true
true
1234567890123456
ASCII
12345678901234567890
cisco123
1700
Domain
NAD IP Address
32
Location#All Locations#
LAB
Device Type#All Device Types#
Access-Layer
Cisco
true
true
Auto
3600
aaa
ONE
ON_LEGACY
cisco123
TESTNAD1
cisco123
cisco123
cisco123
Admin
true
false
ise3-1test
86400
86400
86400
false
86400
false
ENABLE_USING_COA
注:次の行は、<enableKeyWrap>{false|true}</enableKeyWrap>がtrueに設定されている場合にのみ必要であることに注意してください。それ以外の場合は、XMLテンプレートから同じものを削除できます。
1234567890123456
ASCII
12345678901234567890
不要な設定をテンプレートから削除し、NADの作成時に実際に追加する必要があるデータだけを残すことができます。例として、TACACS設定のみを使用した同じテンプレートを次に示します。必要な構成に関係なく、テンプレートが</ns0:networkdevice>で終わっていることを確認します。
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">
NAD IP Address
32
Location#All Locations#
LAB
Device Type#All Device Types#
Access-Layer
Cisco
ON_LEGACY
cisco123
5. raw用のXMLテンプレートをBodyヘッダーの下に貼り付けます。
6.方法としてPOSTを選択し、https://{ISE-ip}/ers/config/networkdeviceを貼り付けて、Sendをクリックします。 すべてが正しく設定されていれば、「201 Created」というメッセージが表示され、結果が空になります。
7. NADのGETコールを実行するか、ISE NADリストを確認して、NADが作成されたかどうかを確認します。
JSONを使用したNADの作成
JSONを使用して、RADIUS TACACS、SNMP、およびTrustSec設定でTESTNAD2を作成します。
1. SDKのCreateの下に、コールの実行に必要なヘッダーとテンプレート、および予想される応答が表示されます。
2. Headersタブに移動し、SDKに表示されるAPIコールに必要なヘッダーを設定します。ヘッダー設定は次のようになります。
3. Bodyヘッダーに移動し、rawを選択します。これにより、NADの作成に必要なJSONテンプレートを貼り付けることができます。
4. JSONテンプレートは次のようになります(必要に応じて値を変更します)。
{ "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" ] } }
注:次の行が必要になるのは、enableKeyWrap":{false|true}がtrueに設定されている場合だけであることに注意してください。それ以外の場合は、JSONテンプレートから同じものを削除できます。
"keyEncryptionKey": "1234567890123456", "messageAuthenticatorCodeKey": "12345678901234567890", "keyInputFormat": "ASCII"
また、不要な設定をテンプレートから削除し、NADの作成中に実際に追加する必要があるデータを残しておくこともできます。
5. raw用のJSONテンプレートをBodyヘッダーの下に貼り付けます。
6.方法としてPOSTを選択し、https://{ISE-ip}/ers/config/networkdeviceを貼り付けて、Sendをクリックします。 すべてが正しく設定されていれば、「201 Created」というメッセージが表示され、結果が空になります。
7. NADに対してGETコールを実行するか、ISE NADリストを確認して、NADが作成されたかどうかを確認します。
確認
APIサービスのGUIページ(https://{iseip}:{port}/api/swagger-ui/index.htmlやhttps://{iseip}:9060/ers/sdkなど)にアクセスできる場合は、APIサービスが期待どおりに動作していることを意味します。
トラブルシュート
- すべてのREST操作が監査され、ログがシステムログに記録されます。
- Open APIに関連する問題をトラブルシューティングするには、Debug Log ConfigurationウィンドウでapiserviceコンポーネントのログレベルをDEBUGに設定します。
- ERS APIに関連する問題をトラブルシューティングするには、Debug Log ConfigurationウィンドウでersコンポーネントのログレベルをDEBUGに設定します。このウィンドウを表示するには、Cisco ISE GUIに移動し、メニューアイコンをクリックして、Operations > Troubleshoot > Debug Wizard > Debug Log Configurationの順に選択します。
- ログはDownload Logsウィンドウからダウンロードできます。このウィンドウを表示するには、Cisco ISE GUIに移動し、Menuアイコンをクリックして、Operations > Troubleshoot > Download Logsの順に選択します。
- Support Bundleタブの下のDownloadボタンをクリックしてSupport Bundleタブからサポートバンドルをダウンロードするか、api-serviceデバッグログのLog Fileの値をクリックしてDebug Logsタブからapi-serviceデバッグログをダウンロードするかを選択できます。