Cloudflare Audit Logs 基于账户。所有由用户发起的操作都会在 Cloudflare API 和仪表板中自动记录。系统发起的日志也会被捕获,以反映 Cloudflare 系统自动执行的操作,例如配置更新、后台进程或内部策略执行。
当由用户发起的操作触发额外的自动化行为时,将生成相应的系统发起日志。在某些情况下,由用户发起的日志包含额外的丰富信息,提供更多关于变更内容的上下文,从而更深入地了解操作的完整生命周期。
当操作发生时,它会通过 Cloudflare 的审计日志管道进行流式传输并存储。这确保了在所有产品中都能一致地查看活动。
有关用户发起的操作如何自动记录的更多详细信息,请参阅 Cloudflare 博客 ↗。
Audit Logs(版本 2)提供了一个统一且标准化的系统,用于跟踪和记录 Cloudflare 产品中的操作。该系统通过提供对 Cloudflare 环境中由用户发起和由系统发起的活动的全面洞察,增强了透明度和问责制。
- 标准化日志记录:审计日志以一致的格式在所有 Cloudflare 服务中自动生成,确保统一性并消除不一致性。
- 扩展的产品覆盖范围:Audit Logs 覆盖约 95% 的 Cloudflare 产品,捕获来自关键端点的操作,例如
/accounts、/zones、/user和/membershipsAPI。 - 精细筛选:统一格式的日志允许按操作、执行者、方法和资源进行精确筛选,便于高效调查。
- 增强的上下文和透明度:每条日志条目都包含详细的上下文,例如使用的身份验证方法、执行操作的界面(API 或仪表板),以及与 Cloudflare Ray ID 的映射,以提高可追溯性。
- 全面的活动捕获:Audit Logs 记录所有受支持产品的创建、更新和删除操作。针对敏感读取操作的选择性
GET请求日志记录计划在未来版本中推出。
-
审计日志保留 18 个月后删除。无需额外设置。
-
在 Audit Logs v2 UI 中,出于性能原因,查询限制为最近 90 天。要访问完整的 18 个月数据,请使用 API 或 Logpush。
-
Enterprise 客户可以使用 Logpush 将审计日志存储超过 18 个月。
您可以使用 Cloudflare 仪表板、API 或 Logpush 检索审计日志。
Audit Logs 可通过 Cloudflare API 获取。要检索审计日志,请使用以下端点:
https://api.cloudflare.com/client/v4/accounts/{account_id}/logs/audit以下是一个检索特定时间段审计日志的示例请求及其相应响应。请将 URL 中的示例值替换为您的实际值:
account_id:您的 Cloudflare 账户标识符。since(必填):审计日志检索的开始日期。接受yyyy-mm-dd(解释为 UTC)或 RFC3339 时间戳(yyyy-mm-ddTHH:MM:SSZ)。before(必填):审计日志检索的结束日期。格式与since相同。
GET https://api.cloudflare.com/client/v4/accounts/1234567890abcdef/logs/audit?since=2025-03-01T00:00:00Z&before=2025-03-26T23:59:59Z{
"result": [
{
"action": "zone.settings.change",
"actor": {
"email": "user@example.com",
"id": "0987654321abcdef"
},
"ip": "192.0.2.1",
"method": "PUT",
"interface": "dashboard",
"resources": [
{
"resource_id": "zone123",
"resource_type": "zone"
}
],
"timestamp": "2025-03-15T14:25:37Z"
}
// Additional log entries
],
"success": true,
"errors": [],
"messages": []
}有关更多信息,请参阅 API 文档 ↗。
要在 Cloudflare 仪表板中访问审计日志,请前往 Manage Account(管理账户) > Audit Logs(审计日志)。
Go to Audit logs ↗要创建 Logpush 作业:
-
在 Cloudflare 仪表板中,前往 Logpush(日志推送) 页面。
Go to Logpush ↗ -
选择 Create a Logpush job(创建 Logpush 作业)。
-
在 Select a destination(选择目标) 中,选择您所需的目标并添加目标详细信息。
-
在数据集部分,选择 Audit Logs v2 数据集。Audit Logs v2 是基于账户的数据集。
-
完成 Logpush 作业配置后,选择 Submit(提交)。
Cloudflare 的审计日志通过捕获操作的来源及其发生的上下文,提供环境中活动的详细视图。这些日志按发起操作的主体(用户或系统)以及活动是在特定账户内发生还是跨同一用户配置文件下的多个账户发生进行分类。这种结构支持灵活的筛选、调查和合规监控。
审计日志可以由用户或系统发起。了解所涉及执行者的类型有助于识别操作的来源和意图。
跟踪用户通过 Cloudflare 界面(仪表板或 API)直接执行的操作。这些日志记录谁执行了操作、何时发生以及影响了哪些资源。由用户发起的操作可由三种执行者执行:
actor_type="user":操作由个人用户执行。actor_type="Cloudflare_admin":操作由 Cloudflare 执行。actor_type="account":操作使用账户 API token 执行。有关更多信息,请参阅账户 API token文档。
记录 Cloudflare 系统自动进行的更改,无需直接的用户输入。这些日志提供对内部流程、自动化任务和安全事件的可见性。某些条目可能包含关联的用户上下文以提高可追溯性(actor_type="system")。
包含限定在单个 Cloudflare 账户范围内的事件。这些日志可按 account ID 筛选,仅反映该账户内的操作。您可以使用 resource_scope 字段进一步筛选事件,该字段指定资源是与用户、账户还是 zone 关联(resource_scope ="user"、resource_scope ="accounts" 或 resource_scope ="zones")。
反映与用户登录(电子邮件)关联的跨多个账户的操作。这些日志支持跨账户跟踪,可按 user ID 或 email 筛选。它们在用户当时有权访问的任何账户上可见。用户配置文件活动日志可以使用 resource_scope ="user" 进行筛选。
GET /memberships 端点支持跨账户访问。要查询 memberships,请使用参数 resource_scope=memberships。
包含限定在特定 Cloudflare Organizations 范围内的事件。这些日志捕获 Org Admin 通过组织级 API 执行的由用户发起的操作。
您可以使用 API 或 Cloudflare 仪表板检索 Organization 审计日志。
可通过 Audit Logs v2 API 检索:
GET https://api.cloudflare.com/client/v4/organizations/{organization_id}/logs/audit要在 Cloudflare 仪表板中访问 Organization 审计日志,请前往 Organizations(组织) > (选择您的 Organization) > Manage Organization(管理组织) > Audit Logs(审计日志)。
如果您正在查看账户级审计日志,且该账户属于您担任 Organization Super Administrator 的 Organization,可以选择 View Organization Audit Logs(查看组织审计日志) 前往父 Organization 的审计日志。
使用以下示例获取 Cloudflare 账户的审计日志列表。
Required API token permissions
At least one of the following token permissions is required:Account Settings WriteAccount Settings Read
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logs/audit" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"errors": [
{
"message": "message"
}
],
"result": [
{
"account": {
"id": "4bb334f7c94c4a29a045f03944f072e5",
"name": "Example Account"
},
"action": {
"description": "Add Member",
"result": "success",
"time": "2024-04-26T17:31:07Z",
"type": "create"
},
"actor": {
"id": "f6b5de0326bb5182b8a4840ee01ec774",
"context": "dash",
"email": "alice@example.com",
"ip_address": "198.41.129.166",
"token_id": "token_id",
"token_name": "token_name",
"type": "user"
},
"raw": {
"cf_ray_id": "8e9b1c60ef9e1c9a",
"method": "POST",
"status_code": 200,
"uri": "/accounts/4bb334f7c94c4a29a045f03944f072e5/members",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Safari/605.1.15"
},
"resource": {
"id": "id",
"product": "members",
"request": {},
"response": {},
"scope": {},
"type": "type"
},
"zone": {
"id": "id",
"name": "example.com"
}
}
],
"result_info": {
"count": "1",
"cursor": "ASqdKd7dKgxh-aZ8bm0mZos1BtW4BdEqifCzNkEeGRzi_5SN_-362Y8sF-C1TRn60_6rd3z2dIajf9EAPyQ_NmIeAMkacmaJPXipqvP7PLU4t72wyqBeJfjmjdE="
},
"success": true
}Actor 表示执行操作的主体。它包括身份属性,如用户 ID、电子邮件地址、IP 地址和执行者类型(user、account、Cloudflare_admin 或 system)。它还包括用于发起操作的上下文,例如 API 或仪表板(dash)。
Action 字段捕获事件的性质以及是否成功。它包括高级类型(例如 create、update、delete)、具体描述(例如 SSO_LOGIN)、操作发生的时间戳以及结果(success 或 failure)。
view 操作对应于 GET 请求。这些在 schema 中已定义,但目前尚未在 Audit Logs 中捕获。针对敏感读取操作的选择性 GET 日志记录计划在未来版本中推出。
此字段指执行操作所在的 Cloudflare 账户。它包括唯一的账户 ID 和便于阅读的账户名称,以帮助将活动与客户环境关联。
Resource 标识受操作影响的对象。它包括资源类型、唯一资源 ID、范围(user、account 或 zone),以及可选的与变更关联的产品。
这是日志记录本身的唯一标识符。它可用于去重、关联或在调查期间引用特定操作。