패턴 목록 조회
지정한 패턴 그룹에 속한 패턴 목록을 조회합니다. 새 패턴은 패턴 추가 API로 등록할 수 있습니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/pattern-groups/:guid/patterns
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/pattern-groups/28ad21b2-585c-4b68-9fad-b78711078496/patterns?offset=0&limit=20"
요청 매개변수
경로 매개변수
| 키 | 타입 | 설명 | 비고 |
|---|---|---|---|
| guid | 문자열 | 패턴 그룹 GUID | 36자 |
쿼리 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| offset | X | 32비트 정수 | 건너뛸 갯수 | 0 이상. 기본값: 0 |
| limit | X | 32비트 정수 | 최대 갯수 | 0 이상. 미지정 시 20 |
| keywords | X | 문자열 | 검색 키워드 | 패턴의 rule, expr, expr2 값을 대상으로 검색 |
정상 응답
{
"total_count": 2,
"patterns": [
{
"id": 112,
"expr": "\"passwd\"",
"expr2": "path == \"*passwd\"",
"rule": "/etc/passwd",
"app_code": null,
"app_built_in": null,
"created": "2022-09-01 00:31:14+0900",
"updated": "2022-09-01 00:31:14+0900"
},
{
"id": 113,
"expr": "\"authorized_keys\"",
"expr2": "path == \"*authorized_keys\"",
"rule": "/.ssh/authorized_keys",
"app_code": null,
"app_built_in": null,
"created": "2022-09-01 00:31:14+0900",
"updated": "2022-09-01 00:31:14+0900"
}
]
}
- total_count (32비트 정수): 검색 조건과 일치하는 전체 패턴 개수
- patterns (배열): 검색 조건과 일치하는 패턴 목록
- id (32비트 정수): 패턴 ID
- expr (문자열): 키워드 검색 표현식
- expr2 (문자열): 필터 표현식. 키워드가 매치된 결과에 대하여 추가 필터링을 수행합니다.
- rule (문자열): 패턴명
- app_code (문자열): 패턴을 제공한 앱의 코드. 앱에서 제공된 패턴이 아니면 null입니다.
- app_built_in (불리언): 앱 기본 제공 여부. 앱에서 제공된 패턴이 아니면 null입니다.
- created (문자열): 생성 일시 (
yyyy-MM-dd HH:mm:ssZ형식) - updated (문자열): 수정 일시 (
yyyy-MM-dd HH:mm:ssZ형식)
오류 응답
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
offset, limit 값이 음수인 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' must be greater than or equal to 0."
}
패턴 그룹이 존재하지 않는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "subnet group not found: 28ad21b2-585c-4b68-9fad-b78711078496"
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}