소개
이 문서에서는 방화벽 관리 센터 API 탐색기를 사용하는 Cisco Secure Firewall에 대한 REST API 컨피그레이션 소개에 대해 설명합니다.
추가 정보
REST API는 RESTful 원칙을 기반으로 통신할 수 있는 애플리케이션 프로그래밍 인터페이스입니다. REST API는 HTTP 요청을 통해 통신하며 리소스 내에서 CRUD(Create, Read, Update, Delete) 작업을 수행합니다. REST API를 통한 컨피그레이션은 보안 방화벽 디바이스 구성 방식을 자동화하고 간소화할 수 있는 다양한 가능성을 제공합니다.
REST API를 사용하는 주요 장점은 다음과 같습니다.
- 확장성 - 운영을 여러 리소스로 확장할 수 있으므로
- 유연성 - 다양한 소프트웨어 개발 환경에서 쉽게 구현할 수 있습니다. 대부분의 API와 마찬가지로 XML, JSON 및 HTTP를 사용합니다.
- 자동화 - 컨피그레이션 변경을 대량으로 수행하여 시간 소모적인 반복적인 컨피그레이션 작업을 줄임으로써 한 번에 여러 디바이스의 컨피그레이션 프로세스를 간소화할 수 있습니다.
REST API는 FMC/FDM과 동일한 인증을 사용하며 OAUTH2.0을 사용합니다. REST API의 각 함수는 FMC 및 FDM의 동일한 권한에 매핑됩니다.
설정
API 탐색기 워크스루
REST API는 FMC 내에서 기본적으로 활성화되어 있습니다. 다음 사이트로 이동하여 활성화되었는지 확인할 수 있습니다. System > Configuration > REST API Preferences
.
Rest API 활성화
FMC와 FDM에는 API Explorer라는 내장 인터페이스가 있으며, 이는 REST API의 기능과 기능을 검토하는 데 유용한 도구입니다. FMC의 경우 이 URL을 사용하여 API Explorer에 액세스할 수 있습니다. https://
/api/api-explorer
.
FMC GUI 자격 증명을 사용하여 로그인합니다.
FMC GUI 자격 증명을 사용하여 로그인
API 탐색기에 액세스하면 홈 페이지가 표시됩니다. 여기서는 상단 리본, 도메인 및 구성 섹션을 찾을 수 있습니다. 오른쪽 상단 모서리에서는 버전 정보와 유용한 리소스를 확인할 수 있습니다.
상단 리본
다음으로, Domains(도메인)부터 시작하여 모든 컨피그레이션 섹션을 찾습니다. 이 드롭다운을 선택하면 모든 기존 FMC 도메인이 표시됩니다.
도메인
FMC에서 지원하는 기능을 포함하여 구성 섹션 및 기능이 다음에 표시됩니다.
구성 섹션
마지막으로, 페이지 하단에서 스키마 섹션을 찾을 수 있습니다. 여기서 JSON의 일부 컨피그레이션을 살펴보고, 이러한 기능에 대한 HTTP 요청을 작성하기 위한 참조로 사용할 수 있는 추가 지원 기능을 확인할 수 있습니다.
스키마
API 탐색기 사용
이제 컨피그레이션 섹션으로 돌아가 Devices(디바이스)로 이동합니다.
디바이스 컨피그레이션
FMC용 REST API는 다음 HTTP 메서드를 지원합니다. 각 CRUD는 다음과 같이 CRUD 작업을 수행합니다.
-
GET - 읽기
-
POST - 생성
-
PUT - 업데이트/교체
-
삭제 - 삭제
URI(Unified Resource Identifier)는 각 객체에 대한 해당 경로와 함께 다음 각 메서드와 함께 제공됩니다.
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords
다음 방법 중 하나를 선택하면 GET HTTP 요청에 포함된 매개변수를 확장하여 볼 수 있습니다.
- 필터
- Offset
- 제한
- 확장됨
- 도메인 UUID(Universal Unique Identifier)
디바이스/디바이스 레코드 가져오기
참고: 도메인 UUID는 HTTP 요청을 생성할 때 매우 중요합니다. 각 개체에 고유 식별자가 할당되어 있고 작업을 수행하는 데 필요합니다.
디바이스 레코드 도메인 UUID
도메인 UUID를 복사합니다.
e276abec-e0f2-11e3-8169-6d9ed49b625f
다음으로 Responses 섹션을 볼 수 있습니다. 이 섹션에서는 이 방법에 대한 기본 Server Response(서버 응답) 및 일부 서버 응답 예와 함께 Curl 및 Request URL을 찾을 수 있습니다.
응답 섹션.
FMC API 탐색기 GET 메서드 테스트
이제 API 탐색기 기능을 테스트할 준비가 되었습니다. Try it out
:
Try it out을 선택합니다.
이 특정 HTTP GET 요청(디바이스, 디바이스 레코드)의 경우 다른 UUID 또는 추가 매개변수를 포함할 필요가 없으며 Execute를 선택할 수 있습니다.
실행 선택
HTTP GET 요청이 성공하고 응답 본문에 FMC에 등록된 모든 디바이스에 대한 디바이스 정보가 포함된 경우 FMC는 서버 응답 200을 반환합니다.
200 GET 응답 출력
이 출력에서 이 FMC에서 관리하는 FTD(FTDv-703)가 하나 있습니다.
디바이스 레코드 도메인 UUID 가져오기
특히 이 FTD를 대상으로 하는 API 요청에 액세스하기 위해 사용되는 ID 값을 기록할 수 있습니다. ID를 복사합니다.
"name": "FTDv-703"
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
마지막 예로, 이 방법의 (이전 응답에서 얻은) 디바이스의 UUID를 사용하여 특정 관리되는 디바이스(FTDv-703)의 모든 인터페이스 컨피그레이션을 검색할 수 있습니다.
"id": "6bad6bbc-0b05-11ee-9a47-84ecf73b3ccf"
탐색 GET
- Devices > Device records > physicalinterfaces
.
/api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/physicalinterfaces
FMC가 응답하면(Server Response(서버 응답) 출력 포함) 이 디바이스(FTD)에 2개의 데이터 인터페이스가 있고 해당 UUID 및 컨피그레이션으로 구성된 진단 인터페이스가 있음을 확인할 수 있습니다.
GET Device Records 물리적 인터페이스 응답
From Response body:
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967553",
"name": "GigabitEthernet0/0"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967554",
"name": "GigabitEthernet0/1"
"type": "PhysicalInterface",
"id": "005056B3-9582-0ed3-0000-004294967555",
"name": "Diagnostic0/0"
이전의 트리형 구조와 HTTP 메서드에 액세스하는 논리는 모든 개체에 적용할 수 있습니다. 일반에서 특정 UUID로 진행하면서 FMC 및 특정 관리되는 디바이스에 대한 컨피그레이션 변경 사항을 읽고 수정하거나 추가할 수 있습니다.
URI 구조
FMC API 탐색기는 지원되는 기능 및 컨피그레이션 메서드를 보기 위한 가이드 또는 참조용으로 사용할 수 있으므로 컨피그레이션 구축을 위한 코드를 디자인하고 사용자 지정할 수 있습니다.
또한 Postman과 같은 여러 API 플랫폼을 사용하거나 Python 또는 Perl 스크립트를 통해 로컬 호스트에서 FMC API와 상호 작용할 수 있습니다.