Airflow 中的稽核日誌¶
概觀¶
稽核日誌是任何需要維持高度安全性和合規性的系統的關鍵組件。它們提供了一種追蹤使用者操作和系統事件的方法,可用於排除問題、偵測安全漏洞並確保法規遵循。
在 Airflow 中,稽核日誌用於追蹤在 DAG 和任務執行期間發生的使用者操作和系統事件。它們儲存在資料庫中,並且可以透過 Airflow UI 存取。
為了能夠查看稽核日誌,使用者需要具有 Audit Logs.can_read
權限。此類使用者將能夠查看所有稽核日誌,而與套用的 DAG 權限無關。
稽核日誌的層級¶
稽核日誌存在於任務層級和使用者層級。
任務層級:在任務層級,稽核日誌擷取與任務執行相關的資訊,例如任務的開始時間、結束時間和狀態。
使用者層級:在使用者層級,稽核日誌擷取與使用者操作相關的資訊,例如建立、修改或刪除 DAG 或任務。
稽核日誌的位置¶
稽核日誌可以透過 Airflow UI 存取。它們位於「Browse」標籤下,可以透過從下拉式選單中選擇「Audit Logs」來查看。
事件類型¶
Airflow 提供了一組預定義的事件,可以在稽核日誌中追蹤。這些事件包括但不限於:
trigger
:觸發 DAG[variable,connection].create
:使用者建立了一個連線或變數[variable,connection].edit
:使用者修改了一個連線或變數[variable,connection].delete
:使用者刪除了一個連線或變數delete
:使用者刪除了一個 DAG 或任務failed
:Airflow 或使用者將任務設定為失敗success
:Airflow 或使用者將任務設定為成功retry
:Airflow 或使用者重新嘗試執行任務執行個體clear
:使用者清除了任務的狀態cli_task_run
:Airflow 觸發了一個任務執行個體
除了這些預定義的事件之外,Airflow 還允許您定義可以在稽核日誌中追蹤的自訂事件。這可以透過呼叫 TaskInstance
物件的 log
方法來完成。