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

這個條目有幫助嗎?