Introdução
Este documento descreve como gerenciar listas de destino via curl com a API de Acesso Seguro.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Acesso seguro
- API de acesso seguro
- curva
- Json
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Acesso seguro
- APIs de acesso seguro
- curva
- Json
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.
Configurar
1.Crie sua chave de API
Navegue até Painel de controle de acesso seguro.
- Clique em
Admin > Api Keys > Add
Criar Chave de API 1
Criar Chave de API 2
- Adicione o
API Key Name , Description (Optional) , Expiry Date desejado conforme necessário
Crie sua chave de API 3
- Em
Key Scope, escolha Policies Expandir políticas
- Escolha
Destination Lists e Destinations
- Alterar
Scope se necessário, caso contrário, manter como Read/Write
- Clique em
CREATE KEY
Crie sua chave de API 4
- Copie o e
API Keyo Key Secret e clique em ACCEPT AND CLOSE
Crie sua chave de API 5
Observação: há apenas uma oportunidade para copiar o segredo da API. O Secure Access não salva o segredo da API e você não pode recuperá-lo após sua criação inicial.
2. Gerar um token de acesso à API
Para gerar o token de acesso à API, faça uma solicitação de autorização de token:
Solicitação de Autorização de Token
Use as credenciais de API de Acesso Seguro que você criou para sua organização para gerar um token de acesso à API.
- No exemplo de curl, substitua a chave e o segredo da API do Secure Access
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 e salve o token da API do portador gerado
Observação: um token de acesso OAuth 2.0 de acesso seguro expira em uma hora (3600 segundos). É recomendável que você não atualize um token de acesso até que ele esteja quase expirado.
3.Gerenciar listas de destinos
Há várias maneiras de gerenciar listas de destinos, que incluem:
Obter todas as listas de destino
Abra o prompt de comando do Windows ou o terminal Mac para executar o 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"
Trecho da saída de exemplo:
{"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 a destinationListId que está listada no campo "id" da saída que é usada posteriormente para solicitações GET, POST ou DELETE específicas para essa lista de destinos.
Obter todos os destinos em uma lista de destinos
Abra o prompt de comando do Windows ou o terminal Mac para executar o comando:
curl -L --location-trusted --request GET --url https://api.sse.cisco.com/policies/v2/destinationlists/destinationListId/destinations -H "Authorization: Bearer YourAccessToken"
Saída de exemplo:
{"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"} ]}
Criar uma nova lista de destinos
Abra o prompt de comando do Windows ou o terminal Mac para executar o 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\"}"
Observação: substitua 'Nome da lista de destino' pelo nome desejado.
Saída de exemplo:
{"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}}
Adicionar destinos a uma lista de destinos
Abra o prompt de comando do Windows ou o terminal Mac para executar o 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\"}]"
Saída de exemplo:
{"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}}}
Excluir uma lista de destinos
Abra o prompt de comando do Windows ou o terminal Mac para executar o comando:
curl -L --location-trusted --request DELETE --url https://api.sse.cisco.com/policies/v2/destinationlists/destinationListId -H "Authorization: Bearer YourAccessToken"
Saída de exemplo:
{"status":{"code":200,"text":"OK"},"data":[]}
Excluir destinos de uma lista de destinos
Abra o prompt de comando do Windows ou o terminal Mac para executar o 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]"
Saída de exemplo:
{"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}}}
Troubleshooting
Os pontos de extremidade da API Secure Access usam códigos de resposta HTTP para indicar o sucesso ou a falha de uma solicitação da API. Em geral, os códigos no intervalo 2xx indicam êxito, os códigos no intervalo 4xx indicam um erro resultante das informações fornecidas e os códigos no intervalo 5xx indicam erros de servidor. A abordagem para resolver o problema dependeria do código de resposta recebido:
API REST - Códigos de resposta 1
REST API - Códigos de resposta 2Além disso, ao solucionar erros ou problemas relacionados à API, aqui estão os Limites de taxa a serem observados:
Informações Relacionadas