O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o procedimento para utilizar o OpenAPI para gerenciar a política do Cisco Identity Services Engine (ISE).
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
A partir do Cisco ISE 3.1, as APIs mais novas estão disponíveis no formato OpenAPI. A política de gerenciamento otimiza a segurança e o gerenciamento da rede melhorando a interoperabilidade, melhorando a eficiência da automação, fortalecendo a segurança, promovendo a inovação e reduzindo custos. Essa política permite que o ISE se integre perfeitamente a outros sistemas, obtenha configuração e gerenciamento automatizados, forneça controle de acesso granular, incentive a inovação de terceiros e simplifique os processos de gerenciamento, reduzindo assim os custos de manutenção e aumentando o retorno sobre o investimento geral.
Topologia
Etapa 1. Adicione uma conta de administrador OpenAPI.
Para adicionar um administrador de API, navegue até Administração > Sistema > Acesso de administrador > Administradores > Usuários de administrador > Adicionar.
Administrador de API
Etapa 2. Ativar o OpenAPI no ISE.
A API aberta é desabilitada por padrão no ISE. Para habilitá-la, navegue até Administração > Sistema > Configurações > Configurações de API > Configurações de serviço de API. Alterne as opções de OpenAPI. Click Save.
Habilitar OpenAPI
Etapa 3. Explorar o ISE OpenAPI.
Navegue até Administração > Sistema > Configurações > Configurações de API > Visão geral. Clique no link OpenAPI para visitar.
Visite o OpenAPI
Esta API recupera informações de conjuntos de políticas do administrador de dispositivos.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize a URL usada para recuperar informações dos conjuntos de políticas do administrador do dispositivo.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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 é o exemplo das saídas esperadas.
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 regras de autenticação de um conjunto de políticas específico.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authentication
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize o URL que é utilizado para recuperar informações de regra de autenticação.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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())
Note: A ID é das saídas da API na etapa 3 de Device Admin - List Of Policy Sets. Por exemplo, 41ed8579-429b-42a8-879e-61861cb82bbf é o conjunto de políticas padrão TACACS.
Este é o exemplo das saídas esperadas.
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 regras de autorização de um conjunto de políticas específico.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/device-admin/policy-set/<ID-Of-Policy-Set>/authorization
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize o URL utilizado para recuperar as informações da regra de autorização.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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())
Note: A ID é das saídas da API na etapa 3 de Device Admin - List Of Policy Sets. Por exemplo, 41ed8579-429b-42a8-879e-61861cb82bbf é o conjunto de políticas padrão TACACS.
Este é o exemplo das saídas esperadas.
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'}}]}
Essa API recupera conjuntos de políticas de acesso à rede de implantações do ISE.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize o URL utilizado para recuperar as informações específicas do nó do ISE.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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 é o exemplo das saídas esperadas.
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 regras de autenticação de um conjunto de políticas específico.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authentication
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize o URL utilizado para recuperar as informações da regra de autenticação.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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())
Note: A ID é das saídas da API na etapa 3 de Acesso à rede - Lista de conjuntos de políticas. Por exemplo, ba71a417-4a48-4411-8bc3-d5df9b115769
é BGL_CFME02-FMC
.
Este é o exemplo das saídas esperadas.
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 regras de autorização de um conjunto de políticas específico.
Etapa 1. Informações necessárias para uma chamada à API.
Método | GET |
URL |
https://<ISE-PAN-IP>/api/v1/policy/network-access/policy-set/<ID-Of-Policy-Set>/authorization
|
Credenciais | Usar credenciais de conta OpenAPI. |
Cabeçalhos |
Aceitar: application/json
Tipo de conteúdo: application/json
|
Etapa 2. Localize o URL utilizado para recuperar as informações da regra de autorização.
URI de API
Etapa 3. Este é um exemplo de código Python. Copie e cole o conteúdo. Substitua o IP do ISE, o nome de usuário e a senha. Salve como um arquivo python para executar.
Garanta uma boa conectividade entre o ISE e o dispositivo que executa o exemplo de código 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())
Note: A ID é de saídas de API na etapa 3 de Acesso à rede - Lista de conjuntos de políticas. Por exemplo, ba71a417-4a48-4411-8bc3-d5df9b115769 é BGL_CFME02-FMC.
Este é o exemplo das saídas esperadas.
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 solucionar problemas relacionados às OpenAPIs, defina o Nível de log para theapiservicecomponent paraDEBUGin theDebug Log Configuration window.
Para habilitar a depuração, navegue atéOperações > Solução de problemas > Assistente de depuração > Configuração do log de depuração > Nó ISE > apiservice.
Depuração do Serviço de API
Para baixar o arquivo de log de depuração, navegue para Operações > Solução de problemas > Download Logs > ISE PAN Node > Debug Logs.
Logs de depuração de download
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
18-Sep-2024
|
Versão inicial |