El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe el procedimiento para utilizar OpenAPI para administrar la política de Cisco Identity Services Engine (ISE).
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
A partir de Cisco ISE 3.1, las API más recientes están disponibles en el formato OpenAPI. La política de gestión optimiza la seguridad y la gestión de la red al mejorar la interoperabilidad, mejorar la eficacia de la automatización, reforzar la seguridad, fomentar la innovación y reducir los costes. Esta política permite que ISE se integre sin problemas con otros sistemas, logre una configuración y gestión automatizadas, proporcione un control de acceso granular, fomente la innovación por parte de terceros y simplifique los procesos de gestión, reduciendo así los costes de mantenimiento y aumentando el retorno de la inversión general.
Topología
Paso 1. Agregue una cuenta de administrador OpenAPI.
Para agregar un administrador de API, vaya aAdministración > Sistema > Acceso de administrador > Administradores > Usuarios de administración > Agregar.
Administrador de API
Paso 2. Habilitar OpenAPI en ISE.
API abierta está desactivada de forma predeterminada en ISE. Para habilitarlo, navegue hasta Administration > System > Settings > API Settings > API Service Settings. Active o desactive las opciones de OpenAPI. Click Save.
Habilitar OpenAPI
Paso 3. Explore ISE OpenAPI.
Vaya a Administration > System > Settings > API Settings > Overview. Haga clic en OpenAPI para visitar el enlace.
Visite OpenAPI
Esta API recupera información de conjuntos de políticas de administración de dispositivos.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Localice la URL que se utiliza para recuperar la información de los conjuntos de políticas de administración de dispositivos.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Este es el ejemplo de resultados esperados.
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'}}]}
Esta API recupera las reglas de autenticación de un conjunto de políticas determinado.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authentication
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Localice la URL que se utiliza para recuperar la información de la regla de autenticación.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Nota: El ID proviene de las salidas de la API en el paso 3 de Device Admin - List Of Policy Sets. Por ejemplo, 41ed8579-429b-42a8-879e-61861cb82bbf es un conjunto de políticas TACACS predeterminado.
Este es el ejemplo de resultados esperados.
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'}}]}
Esta API recupera las reglas de autorización de un conjunto de políticas determinado.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authorization
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de regla de autorización.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Nota: El ID proviene de las salidas de la API en el paso 3 de Device Admin - List Of Policy Sets. Por ejemplo, 41ed8579-429b-42a8-879e-61861cb82bbf es un conjunto de políticas TACACS predeterminado.
Este es el ejemplo de resultados esperados.
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'}}]}
Esta API recupera conjuntos de políticas de acceso a la red de implementaciones de ISE.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Localice la URL que se utiliza para recuperar la información específica del nodo de ISE.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Este es el ejemplo de resultados esperados.
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'}}]}
Esta API recupera las reglas de autenticación de un conjunto de políticas determinado.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authentication
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Localice la URL que se utiliza para recuperar la información de la regla de autenticación.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Nota: El ID proviene de las salidas de la API en el paso 3 de Network Access - List Of Policy Sets. Por ejemplo, ba71a417-4a48-4411-8bc3-d5df9b115769
es BGL_CFME02-FMC
.
Este es el ejemplo de resultados esperados.
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'}}]}
Esta API recupera las reglas de autorización de un conjunto de políticas determinado.
Paso 1. Información necesaria para una llamada API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authorization
|
Credenciales | Utilice las credenciales de la cuenta OpenAPI. |
Encabezados |
Aceptar: application/json
Tipo de contenido: application/json
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de regla de autorización.
URI DE API
Paso 3. Este es un ejemplo de código Python. Copie y pegue el contenido. Reemplace la IP de ISE, el nombre de usuario y la contraseña. Guardar como archivo python para ejecutar.
Garantizar una buena conectividad entre ISE y el dispositivo que ejecuta el ejemplo de código de 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())
Nota: El ID proviene de las salidas de la API en el paso 3 de Network Access - List Of Policy Sets (Acceso a red - Lista de conjuntos de políticas). Por ejemplo, ba71a417-4a48-441-8bc3-d5df9b115769 es BGL_CFME02-FMC.
Este es el ejemplo de resultados esperados.
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'}}]}
Para resolver problemas relacionados con las API abiertas, establezca elNivel de registro para elcomponente de servicio enDEBUGen la ventanaConfiguración del registro de depuración.
Para habilitar la depuración, vaya aOperaciones > Solución de problemas > Asistente de depuración > Configuración del registro de depuración > Nodo ISE > apiservice.
Depuración del servicio API
Para descargar el archivo de registro de depuración, navegue hasta Operaciones > Solución de problemas > Descargar registros > ISE PAN Node > Registros de depuración.
Descargar registros de depuración
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
18-Sep-2024
|
Versión inicial |