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 方法來完成。