Introducción
Este documento describe cómo administrar las listas de destino mediante curl con la API de Secure Access.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Acceso seguro
- API de acceso seguro
- rizar
- Json
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Acceso seguro
- API de acceso seguro
- rizar
- Json
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.
Configurar
1.Cree su clave de API
Vaya a Panel de acceso seguro.
- Haga clic en
Admin > Api Keys > Add
Cree su API Key 1
Cree su API Key 2
- Añada los
API Key Name , Description (Optional) , Expiry Date que desee según sea necesario
Cree su clave de API 3
- En
Key Scope, seleccione Policies Expandir directivas
- Elija
Destination Lists y Destinations
- Cambie
Scope si es necesario; de lo contrario, siga el Read/Write
- Haga clic en
CREATE KEY
Creación de la clave de API 4
- Copie el
API Keyy el Key Secret y haga clic en ACCEPT AND CLOSE
Creación de la clave de API 5
Nota: solo existe una oportunidad para copiar el secreto de la API. Secure Access no guarda el secreto de la API y no puede recuperarlo después de su creación inicial.
2.Generar un token de acceso API
Para generar el token de acceso API, realice una solicitud de autorización de token:
Solicitud de autorización de token
Utilice las credenciales de la API de acceso seguro que ha creado para su organización para generar un token de acceso a la API.
- En el ejemplo de rizo, sustituya su clave API Secure Access y secret
curl --user key:secret --request POST --url https://api.sse.cisco.com/auth/v2/token -H Content-Type: application/x-www-form-urlencoded -d grant_type=client_credentials
- Copie y guarde el token de la API portadora generado
Nota: Un token de acceso de OAuth 2.0 de Secure Access caduca en una hora (3600 segundos). Se recomienda no actualizar un token de acceso hasta que el token esté a punto de caducar.
3.Gestionar listas de destino
Existen varias formas de administrar listas de destinos, entre las que se incluyen:
Obtener todas las listas de destino
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request GET --url https://api.sse.cisco.com/policies/v2/destinationlists -H "Authorization: Bearer YourAccessToken" -H "Content-Type: application/json"
Fragmento de salida de ejemplo:
{"id":23456789,"organizationId":1234567,"access":"none","isGlobal":false,"name":" Test Block list","thirdpartyCategoryId":null,"createdAt":1694070823,"modifiedAt":1702819637,"isMspDefault":false,"markedForDeletion":false,"bundleTypeId":2,"meta": {"destinationCount":2,"domainCount":2,"urlCount":0,"ipv4Count":0,"applicationCount":0}
Anote el destinationListId que aparece en el campo "id" del resultado, que se utiliza más adelante para las solicitudes GET, POST o DELETE específicas de esta lista de destino.
Obtener todos los destinos de una lista de destinos
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request GET --url https://api.sse.cisco.com/policies/v2/destinationlists/destinationListId/destinations -H "Authorization: Bearer YourAccessToken"
Ejemplo de Salida:
{"status":{"code":200,"text":"OK"},"meta":{"page":1,"limit":100,"total":3},"data": [ {"id":"415214","destination":"cisco.com","type":"domain","comment":null,"createdAt":"2024-02-20 09:15:46"},{"id":"7237895","destination":"www.cisco.com","type":"domain","comment":null,"createdAt":"2024-02-20 10:19:51"},{"id":"29275814","destination":"10.10.10.10","type":"ipv4","comment":null,"createdAt":"2024-02-20 09:15:46"},{"id":"71918495","destination":"www.subdomain.cisco.com/resoucre","type":"url","comment":null,"createdAt":"2024-02-20 10:29:02"} ]}
Crear una nueva lista de destino
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request POST --url https://api.sse.cisco.com/policies/v2/destinationlists -H "Authorization: Bearer YourAccessToken" -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"access\":\"none\",\"isGlobal\":false,\"name\":\"Destination List Name\"}"
Nota: sustituya "Nombre de la lista de destino" por el nombre que desee.
Ejemplo de Salida:
{"id":23456789,"organizationId":1234567,"access":"none","isGlobal":false,"name":"API List 1","thirdpartyCategoryId":null,"createdAt":1708417690,"modifiedAt":1708417690,"isMspDefault":false,"markedForDeletion":false,"bundleTypeId":1,"meta":{"destinationCount":0}}
Agregar destinos a una lista de destinos
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request POST --url https://api.sse.cisco.com/policies/v2/destinationlists/{destinationListId}/destinations -H "Authorization: Bearer YourAccessToken" -H "Content-Type: application/json" -d "[{\"destination":"cisco.com\"},{\"destination\":\"10.10.10.10\"},{\"destination\":\"www.subdomain.cisco.com\/resource\"}]"
Ejemplo de Salida:
{"status":{"code":200,"text":"OK"},"data":{"id":17804929,"organizationId":1234567,"access":"none","isGlobal":false,"name":"API List 1","thirdpartyCategoryId":null,"createdAt":1708417690,"modifiedAt":1708420546,"isMspDefault":false,"markedForDeletion":false,"bundleTypeId":1,"meta": {"destinationCount":3}}}
Eliminar una lista de destino
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request DELETE --url https://api.sse.cisco.com/policies/v2/destinationlists/destinationListId -H "Authorization: Bearer YourAccessToken"
Ejemplo de Salida:
{"status":{"code":200,"text":"OK"},"data":[]}
Eliminar destinos de una lista de destino
Abra el símbolo del sistema de Windows o el terminal Mac para ejecutar el comando:
curl -L --location-trusted --request DELETE --url https://api.sse.cisco.com/policies/v2/destinationlists/destinationListId/destinations/remove -H "Authorization: Bearer YourAccessToken" -H "Content-Type: application/json" -H "Accept: application/json" -d "[id1,id2]"
Ejemplo de Salida:
{"status":{"code":200,"text":"OK"},"data":{"id":17804929,"organizationId":1234567,"access":"none","isGlobal":false,"name":"API List 1","thirdpartyCategoryId":null,"createdAt":1708417690,"modifiedAt":1708525645,"isMspDefault":false,"markedForDeletion":false,"bundleTypeId":1,"meta":{"destinationCount":2}}}
Troubleshoot
Los terminales de la API de acceso seguro utilizan códigos de respuesta HTTP para indicar el éxito o el fracaso de una solicitud de la API. En general, los códigos de la gama 2xx indican éxito, los códigos de la gama 4xx indican un error derivado de la información proporcionada y los códigos de la gama 5xx indican errores del servidor. El enfoque para resolver el problema dependería del código de respuesta que se reciba:
API REST - Códigos de respuesta 1
API REST - Códigos de respuesta 2Además, mientras se solucionan los errores o problemas relacionados con API, aquí están los límites de velocidad que deben tenerse en cuenta:
Información Relacionada