SHIELDEX 정책 연동 API 명세서
※ 최종 업데이트 : 2026-03-24
문서 정보
| 항목 | 내용 |
|---|---|
| 문서 버전 | 6.2026.0324.01 |
| 작성 | 소프트캠프 |
| Content-Type | application/json |
환경 설정 (필수)
IP 허용 사전 협의 필요
본 API는 IP 기반 접근 제어가 적용됩니다.
API를 사용하시려면 고객사의 접근 출발지 IP 주소를 사전에 소프트캠프에 전달해야 합니다.
고객사 측 준비 사항
API를 호출할 서버/시스템의 아래 정보를 전달해 주세요.
전달 정보
- 접근 출발지 IP 주소 (예:
192.168.1.50,10.10.12.100) - 용도 (예: 보안 포탈 서버, 배치 작업 서버)
소프트캠프 엔지니어 설정 방법
SHIELDEX 서버의 WebConsoleApi.properties 파일에 허용 IP를 등록합니다.
설정 파일 위치
{SHIELDEX 설치 경로}/config/WebConsoleApi.properties
IP 허용 설정
| 설정 키 | 설명 | 예시 |
|---|---|---|
security.ip.allowed | 무토큰 호출 허용 IP 화이트리스트 (콤마 구분) | 10.10.12.43,10.10.12.44 |
중요
허용 목록(security.ip.allowed)에 없는 IP에서 요청하면 차단되며, 아래와 같이 응답됩니다.
{
"timestamp": "2026-02-11T06:12:33.739+0000",
"status": 403,
"error": "Forbidden",
"message": "IP_ACCESS_DENIED",
"path": "/WebConsoleApi/policy/targets"
}
status:403error:Forbiddenmessage:IP_ACCESS_DENIED
설정 변경 후에는 반드시 SHIELDEX WebConsole 서비스 재시작이 필요합니다.
Base URL
http://{serverIp}:{serverPort}/WebConsoleApi
모든 API 경로는 위 Base URL 뒤에 붙여서 호출합니다.
예 시 — 서버 IP가 10.10.12.100, 포트가 9000인 경우:
http://10.10.12.100:9000/WebConsoleApi/policy/targets/merged/preview/user001
API 리소스 맵
본 문서에서 제공하는 API 목록입니다.
Base URL: http://{serverIp}:{serverPort}/WebConsoleApi
/policy/targets
├── GET /policy/targets/merged/preview/{targetId} # 정책 통합 조회
├── POST /policy/targets # 정책 부분 업데이트
└── DELETE /policy/targets # 정책 선택 삭제
| Method | URI | 설명 |
|---|---|---|
| GET | /policy/targets/merged/preview/{targetId} | 전사+개별 정책을 병합한 전체 조회 |
| POST | /policy/targets | 요청한 정책만 추가/수정 (기존 유지) |
| DELETE | /policy/targets | 요청한 정책만 해제 (상위 정책으로 복원) |
1. 공통 규칙
1.1 응답 구조
모든 API 응답은 아래 형식을 따릅니다.
{
"code": 0,
"codeMessage": "SUCCESS",
"data": { }
}
| 필드 | 타입 | 설명 |
|---|---|---|
code | Integer | 처리 결과 코드 |
codeMessage | String | 처리 결과 메시지 |
data | Object | 응답 데이터 (GET 조회 시 반환, POST/DELETE 시 생략 가능) |
1.2 응답 코드 정의
| code | codeMessage | 설명 | HTTP Status |
|---|---|---|---|
0 | SUCCESS | 정상 처리 완료 | 200 |
1 | FAIL | 처리하지 못함 | 200 |
4000 | INVALID_REQUEST | 잘못된 요청 (필수값 누락, 유효성 위반, 본문 형식/Content-Type 오류 등) | 400 |
4404 | VALUE_NOT_FOUND | 존재하지 않는 대상 (targetId, policyId 등) | 404 |
5000 | INTERNAL_ERROR | 서버 내부 오류 | 500 |