cloudflare-audit-logs-v2
Cloudflare 계정 감사 로그 v2 API에서 계정 단위의 관리자 작업 이력을 조회합니다.
문법
cloudflare-audit-logs-v2 (from=DATETIME | duration=STRING) [profile=STRING] [to=DATETIME] [order=STRING] [actor-email=STRING] [actor-ip=STRING] [action-type=STRING] [resource-type=STRING]
옵션
- profile=STRING
- 선택 옵션. Cloudflare 접속 프로파일 식별자입니다. 생략하면 사용 가능한 모든 Cloudflare 프로파일을 순회하며 조회합니다. 쉼표로 여러 프로파일을 지정할 수 있습니다.
- from=DATETIME
- 선택 옵션(단, from 또는 duration 중 하나는 필수). yyyyMMddHHmmss 포맷으로 조회 범위의 시작 시각을 지정합니다. 뒷자리를 생략하면 0으로 채워집니다.
- duration=STRING
- 선택 옵션(단, from 또는 duration 중 하나는 필수). 현재 시각으로부터 일정 시간 범위 이내로 한정합니다. s(초), m(분), h(시), d(일), mon(월) 단위를 사용합니다. 예:
10s는 현재 시각으로부터 10초 이전까지의 범위입니다. - to=DATETIME
- 선택 옵션. yyyyMMddHHmmss 포맷으로 조회 범위의 끝 시각을 지정합니다. 뒷자리를 생략하면 0으로 채워집니다. 생략하면 현재 시각으로 채워집니다.
- order=STRING
- 선택 옵션. 시간 정렬 순서입니다.
asc또는desc를 지정합니다. (기본값 desc) - actor-email=STRING
- 선택 옵션. 작업 수행자(actor)의 이메일과 일치하는 로그만 조회합니다.
- actor-ip=STRING
- 선택 옵션. 작업 수행자(actor)의 IP와 일치하는 로그만 조회합니다. 올바른 IP 형식이어야 합니다.
- action-type=STRING
- 선택 옵션. 작업(action)의 유형과 일치하는 로그만 조회합니다. (create/delete/view/update)
- resource-type=STRING
- 선택 옵션. 리소스(resource)의 유형과 일치하는 로그만 조회합니다.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| profile | 문자열 | 접속 프로파일 | Cloudflare 접속 프로파일 식별자 |
| _time | 날짜 | 이벤트 시간 | 이벤트 발생 시간 |
| actor_email | 문자열 | 수행자 이메일 | 작업 수행자의 이메일 주소 |
| actor_ip | IP 주소 | 수행자 IP | 작업 수행자의 IP 주소 |
| actor_type | 문자열 | 수행자 유형 | 작업 수행자의 유형 |
| actor_id | 문자열 | 수행자 ID | 작업 수행자의 식별자 |
| actor_context | 문자열 | 수행자 컨텍스트 | 작업 수행자의 인증 컨텍스트 |
| actor_token_id | 문자열 | 수행자 토큰 ID | 작업 수행자가 사용한 API 토큰 식별자 |
| actor_token_name | 문자열 | 수행자 토큰 이름 | 작업 수행자가 사용한 API 토큰 이름 |
| action_type | 문자열 | 작업 유형 | 수행된 작업의 유형 |
| action_result | 불리언 | 작업 결과 | 작업 성공 여부 |
| action_info | 문자열 | 작업 정보 | 작업 설명 |
| resource_type | 문자열 | 리소스 유형 | 영향을 받은 리소스의 유형 |
| resource_id | 문자열 | 리소스 ID | 영향을 받은 리소스의 식별자 |
| resource_product | 문자열 | 리소스 제품 | 영향을 받은 리소스의 제품 |
| resource_scope | 문자열 | 리소스 범위 | 영향을 받은 리소스의 범위 |
| account_id | 문자열 | 계정 ID | 계정의 식별자 |
| account_name | 문자열 | 계정 이름 | 계정의 이름 |
| zone_id | 문자열 | 존 ID | 존의 식별자 |
| zone_name | 문자열 | 존 이름 | 존의 이름 |
| raw_method | 문자열 | HTTP 메서드 | API 요청의 HTTP 메서드 |
| raw_uri | 문자열 | URI | API 요청의 URI |
| raw_status_code | 정수 | 상태 코드 | API 응답의 HTTP 상태 코드 |
| raw_cf_ray_id | 문자열 | CF Ray ID | 요청의 Cloudflare Ray ID |
| user_agent | 문자열 | 유저 에이전트 | 요청의 유저 에이전트 |
| id | 문자열 | ID | 감사 로그 항목의 고유 식별자 |
설명
cloudflare-audit-logs-v2는 Cloudflare 감사 로그 v2 API(/accounts/{account_id}/logs/audit)를 호출합니다.
profile을 생략하면 모든 프로파일을 순회하며, 각 행에는 수집 출처가 profile 필드로 기록됩니다.
actor-email, actor-ip, action-type, resource-type 필터는 서버 측에서 단순 일치(equals)로 적용됩니다.
Note
조회 범위는 from 또는 duration 중 하나로 반드시 지정해야 합니다. v2 API는 종료 시각(before)이 필수이므로, to를 생략하면 현재 시각으로 자동 설정됩니다.
사용 예
예시: 최근 1일 리소스 삭제 작업 조회
상황: 최근 24시간 동안 발생한 삭제(delete) 작업을 최신순으로 확인합니다.
예상 결과:
| _time | actor_email | action_type | resource_type | resource_product |
|---|---|---|---|---|
| 2026-07-14 10:05:22 | user@example.com | delete | firewall_rule | waf |
| 2026-07-14 07:33:48 | user@example.com | delete | dns_record | dns |
결과 해석: 최근 하루 동안 수행된 삭제 작업이 최신순으로 표시됩니다. resource_type과 resource_product로 어떤 리소스가 삭제되었는지, actor_email로 수행자를 파악할 수 있습니다.
예시: API 토큰별 작업 건수 집계
상황: 최근 7일간 어떤 API 토큰이 얼마나 많은 변경 작업을 수행했는지 집계합니다.
cloudflare-audit-logs-v2 profile=my_profile duration=7d
| stats count by actor_token_name, action_type
| sort -count
예상 결과:
| actor_token_name | action_type | count |
|---|---|---|
| ci-deploy-token | update | 34 |
| ci-deploy-token | create | 9 |
| dashboard | view | 120 |
결과 해석: API 토큰 이름과 작업 유형별로 건수가 집계되어 자동화 스크립트(토큰)와 사람이 대시보드에서 수행한 작업을 구분해 감사할 수 있습니다.