cloudflare-audit-logs
Cloudflare 계정의 감사 로그(관리자 작업 이력)를 조회합니다.
문법
cloudflare-audit-logs (from=DATETIME | duration=STRING) [profile=STRING] [to=DATETIME] [order=STRING] [actor-email=STRING] [actor-ip=STRING] [action-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)의 유형과 일치하는 로그만 조회합니다.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| profile | 문자열 | 접속 프로파일 | Cloudflare 접속 프로파일 식별자 |
| _time | 날짜 | 이벤트 시간 | 이벤트 발생 시간 |
| actor_email | 문자열 | 수행자 이메일 | 작업 수행자의 이메일 주소 |
| actor_ip | IP 주소 | 수행자 IP | 작업 수행자의 IP 주소 |
| actor_type | 문자열 | 수행자 유형 | 작업 수행자의 유형 |
| actor_id | 문자열 | 수행자 ID | 작업을 수행한 사용자의 식별자 |
| action_type | 문자열 | 작업 유형 | 수행된 작업의 유형 |
| action_result | 불리언 | 작업 결과 | 수행된 작업의 결과 |
| action_info | 문자열 | 작업 정보 | 작업에 대한 추가 정보 |
| resource_type | 문자열 | 리소스 유형 | 영향을 받은 리소스의 유형 |
| resource_id | 문자열 | 리소스 ID | 영향을 받은 리소스의 식별자 |
| owner_type | 문자열 | 소유자 유형 | 리소스 소유자의 유형 |
| owner_id | 문자열 | 소유자 ID | 리소스 소유자의 식별자 |
| old_value | 문자열 | 이전 값 | 변경 전 값 |
| new_value | 문자열 | 새 값 | 변경 후 값 |
| old_value_json | 맵 | 이전 값 JSON | JSON 형식의 이전 값 |
| new_value_json | 맵 | 새 값 JSON | JSON 형식의 새 값 |
| iface | 문자열 | 인터페이스 | 작업이 발생한 인터페이스 |
| metadata | 맵 | 메타데이터 | 이벤트에 대한 추가 메타데이터 |
| id | 문자열 | ID | 감사 로그 항목의 고유 식별자 |
설명
cloudflare-audit-logs는 Cloudflare 감사 로그 v1 API(/accounts/{account_id}/audit_logs)를 호출해 계정 단위의 관리자 작업 이력을 조회합니다. 계정 ID가 필요하므로, 조회 대상 프로파일에 Account ID가 설정되어 있어야 합니다.
profile 옵션을 생략하면 등록된 모든 Cloudflare 프로파일을 차례로 순회하며 조회하고, 각 결과 행에는 어느 프로파일에서 수집되었는지 profile 필드로 표시됩니다.
조회는 페이지네이션 방식으로 동작합니다. 페이지당 최대 1,000건을 받아오며, 빈 페이지가 반환될 때까지 페이지 번호를 증가시키며 반복합니다.
Note
조회 범위는 from 또는 duration 중 하나로 반드시 지정해야 합니다. duration을 지정하면 내부적으로 from으로 환산됩니다. to를 생략하면 상한을 두지 않습니다.
Caution
감사 로그 v1 API는 Cloudflare에서 점진적으로 v2로 대체되고 있습니다. 계정에 따라 v1 API가 제공되지 않거나 항목이 제한될 수 있으며, 이 경우 cloudflare-audit-logs-v2 명령어를 사용하십시오.
사용 예
예시: 최근 1일 감사 로그 조회
상황: 특정 프로파일에서 최근 24시간 동안의 계정 감사 로그를 최신순으로 확인합니다.
예상 결과:
| _time | actor_email | action_type | action_result | resource_type |
|---|---|---|---|---|
| 2026-07-14 09:12:30 | user@example.com | firewall_update | true | firewall_rule |
| 2026-07-14 08:40:11 | user@example.com | login | true | user |
결과 해석: 지정한 프로파일 계정에서 최근 하루 동안 수행된 관리 작업이 최신순으로 표시됩니다. actor_email로 누가, action_type으로 어떤 작업을, action_result로 성공 여부를 파악할 수 있습니다.
예시: 특정 관리자 IP의 작업 이력 집계
상황: 특정 IP에서 수행된 작업 유형별 건수를 최근 7일 범위로 집계합니다.
cloudflare-audit-logs profile=my_profile duration=7d actor-ip=192.0.2.1
| stats count by action_type
| sort -count
예상 결과:
| action_type | count |
|---|---|
| firewall_update | 12 |
| dns_record_update | 5 |
| login | 2 |
결과 해석: 지정한 IP(192.0.2.1)에서 발생한 작업이 유형별로 집계되어 건수가 많은 순으로 정렬됩니다. 특정 관리자 단말의 활동량과 주로 수행한 작업을 확인할 수 있습니다.