Introduction
Este documento descreve como um administrador de API (Application Programming Interface, interface de programação de aplicativos) pode se autenticar no Firepower Management Center (FMC), gerar tokens e usá-los para quaisquer outras interações de API.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
Componentes Utilizados
- Firepower Management Center que suporta APIs REST (versão 6.1 ou superior) com API REST ativada.
- Clientes REST como Postman, scripts Python, CURL etc.
Informações de Apoio
As APIs REST são cada vez mais populares devido à abordagem programável leve que os gerentes de rede podem usar para configurar e gerenciar suas redes. O FMC suporta configuração e gerenciamento usando qualquer cliente REST e também usando o explorador de API interno.
Configurar
Ativação da API REST no FMC
Etapa 1. Navegue até System > Configuration > REST API Preferences > Enable REST API.
Etapa 2. Marque a caixa de seleção Habilitar API REST.
Etapa 3. Clique em Salvar, uma caixa de diálogo Salvar com Êxito será exibida quando a API REST estiver habilitada, como mostrado na imagem:
Criando um usuário no FMC
Como prática recomendada para usar a infraestrutura de API no FMC é manter os usuários de interface de usuário e usuários de script separados. Consulte o Guia de Contas de Usuário do FMC para obter informações sobre várias funções de usuário e as diretrizes para a criação de um novo usuário.
Etapas para solicitar um token de autenticação
Etapa 1. Abra seu REST API Client.
Etapa 2. Defina o cliente para fazer um comando POST, URL: https://<management_center_IP_or_name>/api/fmc_platform/v1/auth/geneatetoken.
Etapa 3. Inclua o nome de usuário e a senha como um cabeçalho de autenticação básica. O corpo do POST deve estar em branco.
Por exemplo, uma solicitação de autenticação usando Python:
import requests
url = "https://10.10.10.1//api/fmc_platform/v1/auth/generatetoken"
payload = {}
headers = {
'Authorization': 'Basic Y2lzY291c2VyOmNpc2NwYXBpdXNlcg=='
}
response = requests.request("POST", url, headers=headers, data = payload, verify=False)
print(response.headers)
Outro exemplo de uma solicitação de autenticação usando CURL:
$ curl --request POST 'https://10.10.10.1/api/fmc_platform/v1/auth/generatetoken' --header 'Authorization: Basic Y2lzY291c2VyOmNpc2NwYXBpdXNlcg==' -k -i
HTTP/1.1 204 204
Date: Tue, 11 Aug 2020 02:54:06 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000; includeSubDomains
Cache-Control: no-store
Accept-Ranges: bytes
Vary: Accept-Charset,Accept-Encoding,Accept-Language,Accept
X-auth-access-token: aa6f8326-0a0c-4f48-9d85-7a920c0fdca5
X-auth-refresh-token: 674e87d1-1572-4cd1-b86d-3abec04ca59d
USER_UUID: fc47b914-8121-11ea-ac18-f0428d0155cd
DOMAIN_ID: 111
DOMAIN_UUID: e276abec-e0f2-11e3-8169-6d9ed49b625f
global: e276abec-e0f2-11e3-8169-6d9ed49b625f
DOMAINS: [{"name":"Global","uuid":"e276abec-e0f2-11e3-8169-6d9ed49b625f"}]
X-Frame-Options: SAMEORIGIN
X-UA-Compatible: IE=edge
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 1; mode=block
Referrer-Policy: same-origin
Content-Security-Policy: base-uri 'self'
X-Content-Type-Options: nosniff
Exemplo de um cliente baseado em GUI como o Postman, como mostrado na imagem:
Enviando solicitações de API subsequentes
Note: O que você vê na saída são os cabeçalhos de resposta e não o corpo de resposta. O corpo da resposta real está em branco. As informações importantes do cabeçalho que precisam ser extraídas são X-auth-access-token, X-auth-refresh-token e DOMAIN_UUID.
Depois de ter autenticado com êxito o FMC e extraído os tokens, para obter mais solicitações de API, você precisa aproveitar as informações abaixo:
- Adicione o cabeçalho X-auth-access-token <authentication token value> como parte da solicitação.
- Adicione os cabeçalhos X-auth-access-token <authentication token value> e X-auth-refresh-token <refresh token value> em solicitações para atualizar o token.
- Use o Domain_UUID do token de autenticação em todas as solicitações REST para o servidor.
Com essas informações de cabeçalho, você pode interagir com o FMC usando APIs REST.
Solucionar problemas comuns
- O corpo da solicitação e da resposta do POST enviado para a autenticação está em branco. Você precisa passar os parâmetros básicos de autenticação no cabeçalho da solicitação. Todas as informações do token são retornadas através dos cabeçalhos de resposta.
- Ao usar o cliente REST, você pode ver erros relacionados ao problema de certificado SSL devido a um certificado autoassinado. Você pode desativar essa validação dependendo do cliente que está usando.
- As credenciais do usuário não podem ser usadas para interfaces REST API e GUI simultaneamente, e o usuário será desconectado sem aviso se for usado para ambos.
- Os tokens de autenticação da API REST do FMC são válidos por 30 minutos e podem ser atualizados até três vezes.