Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit la procédure d'utilisation d'OpenAPI pour gérer Cisco Identity Services Engine (ISE) Policy (politique) .
Cisco vous recommande de prendre connaissance des rubriques suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
À partir de Cisco ISE 3.1, de nouvelles API sont disponibles au format OpenAPI. La politique de gestion optimise la sécurité et la gestion du réseau en améliorant l'interopérabilité, l'automatisation, l'efficacité, la sécurité, l'innovation et la réduction des coûts. Cette politique permet à ISE de s'intégrer en toute transparence à d'autres systèmes, d'automatiser la configuration et la gestion, de fournir un contrôle d'accès granulaire, d'encourager l'innovation tierce et de simplifier les processus de gestion, réduisant ainsi les coûts de maintenance et augmentant le retour sur investissement global.
Étape 1. Ajoutez un compte admin OpenAPI.
Pour ajouter un administrateur d'API, accédez à Administration > System > Admin Access > Administrators > Admin Users > Add.
Étape 2. Activez OpenAPI sur ISE.
L'API ouverte est désactivée par défaut sur ISE. Pour l'activer, accédez à Administration > System > Settings > API Settings > API Service Settings. Activez les options OpenAPI. Cliquer Enregistrer.
Étape 3. Explorez ISE OpenAPI.
Naviguez jusqu'à Administration > System > Settings > API Settings > Overview. Cliquez sur OpenAPI pour visiter le lien.
Cette API récupère les informations des ensembles de stratégies d'administration de périphériques.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations des ensembles de stratégies d'administration de périphériques.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Voici l'exemple des résultats attendus.
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'}}]}
Cette API récupère les règles d'authentification d'un ensemble de stratégies particulier.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authentication
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations de règle d'authentification.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Remarque : l'ID provient des résultats de l'API à l'étape 3 de Device Admin - List Of Policy Sets. Par exemple, 41ed8579-429b-42a8-879e-61861cb82bbf est un jeu de stratégies TACACS par défaut.
Voici l'exemple des résultats attendus.
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'}}]}
Cette API récupère les règles d'autorisation d'un ensemble de stratégies particulier.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authorization
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations de règle d'autorisation.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Remarque : l'ID provient des résultats de l'API à l'étape 3 de Device Admin - List Of Policy Sets. Par exemple, 41ed8579-429b-42a8-879e-61861cb82bbf est un jeu de stratégies TACACS par défaut.
Voici l'exemple des résultats attendus.
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'}}]}
Cette API récupère les ensembles de politiques d'accès réseau des déploiements ISE.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations de noeud ISE spécifiques.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Voici l'exemple des résultats attendus.
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'}}]}
Cette API récupère les règles d'authentification d'un ensemble de stratégies particulier.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authentication
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations de la règle d'authentification.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Remarque : l'ID provient des résultats de l'API à l'étape 3 de Accès réseau - Liste des ensembles de politiques. Par exemple, ba71a417-4a48-4411-8bc3-d5df9b115769
est BGL_CFME02-FMC
.
Voici l'exemple des résultats attendus.
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'}}]}
Cette API récupère les règles d'autorisation d'un ensemble de stratégies particulier.
Étape 1. Informations requises pour un appel API.
Méthode | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authorization
|
Identifiants | Utilisez les informations d'identification du compte OpenAPI. |
Header (En-tête) |
Accept (accepter)
:
application/json
Content-Type (Type de contenu)
:
application/json
|
Étape 2. Localisez l'URL utilisée pour récupérer les informations de règle d'autorisation.
Étape 3. Ceci est un exemple de code Python. Copiez et collez le contenu. Remplacez l'adresse IP ISE, le nom d'utilisateur et le mot de passe. Enregistrer en tant que fichier python à exécuter.
Assurez-vous d'une bonne connectivité entre ISE et le périphérique exécutant l'exemple de code 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())
Remarque : l'ID provient des résultats de l'API à l'étape 3 de Accès réseau - Liste des ensembles de politiques. Par exemple, ba71a417-4a48-4411-8bc3-d5df9b115769 est BGL_CFME02-FMC.
Voici l'exemple des résultats attendus.
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'}}]}
Pour résoudre les problèmes liés aux API ouvertes, définissez le niveau de consignation pour le composant apiservicecomponent sur DEBUG dans la fenêtre Configuration du journal de débogage.
Pour activer le débogage, accédez à Opérations > Dépannage > Assistant de débogage > Configuration du journal de débogage > Noeud ISE > apiservice.
Pour télécharger le fichier journal de débogage, accédez à Operations > Troubleshoot > Download Logs > ISE PAN Node > Debug Logs.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
18-Sep-2024 |
Première publication |