この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、OpenAPIを使用して Cisco Identity Services Engine(ISE) ポリシーに該当するトラフィックを区別します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
Cisco ISE 3.1以降では、新しいAPIがOpenAPI形式で使用できます。管理ポリシーは、相互運用性の強化、自動化の効率化、セキュリティの強化、イノベーションの促進、コストの削減によって、ネットワークのセキュリティと管理を最適化します。このポリシーにより、ISEは他のシステムとシームレスに統合し、自動化された設定と管理を実現し、きめ細かなアクセス制御を提供し、サードパーティの革新を奨励し、管理プロセスを簡素化することができます。その結果、メンテナンスコストが削減され、全体的な投資回収率が向上します。
ステップ 1:anOpenAPI adminアカウントを追加します。
API管理者を追加するには、Administration > System > Admin Access > Administrators > Admin Users > Addの順に移動します。
ステップ 2:ISEでOpenAPIを有効にします。
ISEでは、オープンAPIはデフォルトで無効になっています。有効にするには、に移動します。 [管理]>[システム]>[設定]>[API設定]>[APIサービス設定].OpenAPIオプションを切り替えます。クリック 保存します。.
ステップ 3:ISE OpenAPIを確認します。
移動先: [管理]>[システム]>[設定]>[API設定]>[概要].OpenAPIをクリックしてリンクにアクセスします。
このAPIは、デバイス管理ポリシーセット情報を取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:デバイス管理者ポリシーセット情報の取得に使用されるURLを見つけます。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
次に、予想される出力例を示します。
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'}}]}
このAPIは、特定のポリシーセットの認証ルールを取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authentication
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:認証ルール情報の取得に使用するURLを探します。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
注:IDは、「デバイス管理者 – ポリシーセットのリスト」のステップ3のAPI出力からのものです。たとえば、41ed8579-429b-42a8-879e-61861cb82bbfはTACACSのデフォルトポリシーセットです。
次に、予想される出力例を示します。
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'}}]}
このAPIは、特定のポリシーセットの認可ルールを取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authorization
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:許可ルール情報の取得に使用されるURLを探します。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
注:IDは、「デバイス管理者 – ポリシーセットのリスト」のステップ3のAPI出力からのものです。たとえば、41ed8579-429b-42a8-879e-61861cb82bbfはTACACSのデフォルトポリシーセットです。
次に、予想される出力例を示します。
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'}}]}
このAPIは、ISE導入のネットワークアクセスポリシーセットを取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:特定のISEノード情報を取得するために使用されるURLを見つけます。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
次に、予想される出力例を示します。
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'}}]}
このAPIは、特定のポリシーセットの認証ルールを取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authentication
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:認証ルール情報の取得に使用するURLを探します。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
注:このIDは、「ネットワークアクセス:ポリシーセットのリスト」の手順3のAPI出力から取得されます。たとえば、ba71a417-4a48-4411-8bc3-d5df9b115769
はBGL_CFME02-FMC
です。
次に、予想される出力例を示します。
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'}}]}
このAPIは、特定のポリシーセットの認可ルールを取得します。
ステップ 1:APIコールに必要な情報。
メソッド | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authorization(許可)
|
Credentials | OpenAPIアカウントの資格情報を使用します。 |
ヘッダー |
Accept
:
application/json
Content-Type
:
application/json
|
ステップ 2:許可ルール情報の取得に使用されるURLを探します。
ステップ 3:これはPythonコードの例です。 コンテンツをコピーして貼り付けます。ISE IP、ユーザ名、およびパスワードを置き換えてください。実行するPythonファイルとして保存します。
ISEとPythonコード例を実行しているデバイスの間の接続が良好であることを確認します。
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())
注:IDは、「ネットワークアクセス:ポリシーセットのリスト」の手順3のAPI出力からのものです。たとえば、ba71a417-4a48-4411-8bc3-d5df9b115769はBGL_CFME02-FMCです。
次に、予想される出力例を示します。
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'}}]}
OpenAPIに関連する問題をトラブルシューティングするには、デバッグログ設定ウィンドウでtheapiservicecomponentのログレベルをDEBUGに設定します。
デバッグを有効にするには、Operations > Troubleshoot > Debug Wizard > Debug Log Configuration > ISE Node > apiserviceの順に移動します。
デバッグログファイルをダウンロードするには、Operations > Troubleshoot > Download Logs > ISE PAN Node > Debug Logsの順に移動します。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
18-Sep-2024 |
初版 |