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 Cisco Identity Services Engine (ISE) Política.
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.
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.
Paso 2. Habilite OpenAPI en ISE.
API abierta está desactivada de forma predeterminada en ISE. Para activarlo, vaya a Administration > System > Settings > API Settings > API Service Settings. Active o desactive las opciones de OpenAPI. Haga clic en Guardar.
Paso 3. Explore ISE OpenAPI.
Vaya a Administration > System > Settings > API Settings > Overview. Haga clic en OpenAPI para visitar el enlace.
Esta API recupera información de conjuntos de políticas de administración de dispositivos.
Paso 1. Información necesaria para una llamada de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/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.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/JSON
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de la regla de autenticación.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/JSON
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de la regla de autorización.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/JSON
|
Paso 2. Localice la URL que se utiliza para recuperar la información específica del nodo de ISE.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/JSON
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de la regla de autenticación.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 (Acceso a red - Lista de conjuntos de políticas). 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 de 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
:
Aplicación/JSON
Tipo de contenido
:
Aplicación/JSON
|
Paso 2. Busque la dirección URL que se utiliza para recuperar la información de la regla de autorización.
Paso 3. Este es un ejemplo de código Python. Copiar y pegar 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 el componente apiservicecomponent 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.
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.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
18-Sep-2024 |
Versión inicial |