시나리오 예외 규칙 조회
지정한 예외 규칙의 상세 정보를 조회합니다. 시나리오에 등록된 전체 예외 규칙 목록은 시나리오 예외 규칙 목록 조회 API로 확인할 수 있습니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/exception-rules/:guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/exception-rules/b2c3d4e5-f6a7-8901-bcde-f12345678901?type=stream&scenario_guid=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
요청 매개변수
경로 매개변수
| 키 | 타입 | 설명 | 비고 |
|---|---|---|---|
| guid | 문자열 | 예외 규칙 GUID | 36자 |
쿼리 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| type | O | 문자열 | 시나리오 유형 | stream(실시간) 또는 batch(배치) 중 하나. 대소문자 구분 없음 |
| scenario_guid | O | 문자열 | 시나리오 GUID | 36자 |
정상 응답
{
"rule": {
"guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"type": "STREAM",
"description": "사내 관리자 IP 제외",
"exprs": {
"field": "src_ip",
"type": "IP",
"operator": "EQ",
"value": "203.0.113.10"
},
"valid_from": "2026-06-01 00:00:00+0900",
"valid_until": "2026-12-31 23:59:59+0900",
"created_at": "2026-06-18 10:00:00+0900",
"user_guid": "66666666-7777-8888-9999-000000000000",
"user_name": "admin",
"scenario_guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"scenario_name": "웹 취약점 스캔"
}
}
- rule (맵): 지정한 예외 규칙. 존재하지 않으면
null입니다- guid (문자열): 예외 규칙 GUID
- type (문자열): 시나리오 유형(
STREAM또는BATCH) - description (문자열, 선택적): 메모
- exprs (맵, 선택적): 조건 트리. 정확한 구조는 시나리오 예외 규칙 생성 API를 참고하세요
- valid_from (문자열): 유효 시작 일자(
yyyy-MM-dd HH:mm:ssZ형식) - valid_until (문자열): 유효 종료 일자(
yyyy-MM-dd HH:mm:ssZ형식) - created_at (문자열): 생성 일시(
yyyy-MM-dd HH:mm:ssZ형식) - user_guid (문자열): 생성한 계정의 GUID
- user_name (문자열): 생성한 계정의 이름
- scenario_guid (문자열): 대상 시나리오 GUID
- scenario_name (문자열): 대상 시나리오 이름
지정한 예외 규칙이 존재하지 않는 경우
HTTP 상태 코드 200 응답
{
"rule": null
}
오류 응답
필수 매개변수가 누락된 경우
HTTP 상태 코드 400 응답
{
"error_code": "null-argument",
"error_msg": "scenario_guid should be not null"
}
guid, scenario_guid가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}
type 값이 stream, batch가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "No enum constant com.logpresso.sonar.api.exceptionrule.ExceptionRuleType.FOO"
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}