Airflow 中的审计日志¶
概览¶
审计日志是任何需要保持高水平安全性和合规性的系统的关键组件。它们提供了一种跟踪用户行为和系统事件的方式,可用于故障排除、检测安全漏洞和确保法规遵从。
在 Airflow 中,审计日志用于跟踪 DAG 和任务执行期间发生的用户行为和系统事件。它们存储在数据库中,可通过 Airflow UI 访问。
要查看审计日志,用户需要拥有 Audit Logs.can_read
权限。拥有此权限的用户将能够查看所有审计日志,无论适用的 DAG 权限如何。
审计日志级别¶
审计日志存在于任务级别和用户级别。
任务级别:在任务级别,审计日志捕获与任务执行相关的信息,例如任务的开始时间、结束时间和状态。
用户级别:在用户级别,审计日志捕获与用户行为相关的信息,例如创建、修改或删除 DAG 或任务。
审计日志位置¶
审计日志可通过 Airflow UI 访问。它们位于“浏览”选项卡下,可以通过从下拉菜单中选择“审计日志”来查看。
事件类型¶
Airflow 提供了一组预定义事件,可以在审计日志中进行跟踪。这些事件包括但不限于:
trigger
:触发一个 DAG[variable,connection].create
:用户创建了一个连接 (Connection) 或变量 (Variable)[variable,connection].edit
:用户修改了一个连接 (Connection) 或变量 (Variable)[variable,connection].delete
:用户删除了一个连接 (Connection) 或变量 (Variable)delete
:用户删除了一个 DAG 或任务failed
:Airflow 或用户将任务设置为失败success
:Airflow 或用户将任务设置为成功retry
:Airflow 或用户重试了任务实例clear
:用户清除了任务的状态cli_task_run
:Airflow 触发了一个任务实例
除了这些预定义事件之外,Airflow 还允许您定义可在审计日志中跟踪的自定义事件。这可以通过调用 TaskInstance
对象的 log
方法来完成。