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 Cisco Identity Services Engine (ISE) Política.
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.
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.
Etapa 2. Ative o OpenAPI no ISE.
A API aberta é desabilitada por padrão no ISE. Para ativá-lo, navegue até Administração > Sistema > Configurações > Configurações de API > Configurações de Serviço de API. Alterne as opções de OpenAPI. Clique em Save.
Etapa 3. Explore o ISE OpenAPI.
Navegue até Administração > Sistema > Configurações > Configurações de API > Visão geral. Clique no link OpenAPI para visitar.
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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL usada para recuperar informações de conjuntos de políticas do administrador do dispositivo.
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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL utilizada para recuperar informações de regra de autenticação.
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())
Observação: a ID é de saídas de 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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL utilizada para recuperar as informações da regra de autorização.
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())
Observação: a ID é de saídas de 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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL utilizada para recuperar as informações específicas do nó do ISE.
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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL utilizada para recuperar as informações da regra de autenticação.
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())
Observação: 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': 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
:
aplicativo/json
Tipo de conteúdo
:
aplicativo/json
|
Etapa 2. Localize a URL utilizada para recuperar as informações da regra de autorização.
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())
Observação: 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.
Para baixar o arquivo de log de depuração, navegue para Operações > Solução de problemas > Download Logs > ISE PAN Node > Debug Logs.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
18-Sep-2024 |
Versão inicial |