Secret 後端¶
這是透過社群管理的提供者公開的所有 Apache Airflow 社群提供的 Secret 後端實現的總結。
Airflow 能夠從 Secret 後端讀取連線、變數和配置,而不是從其自身的資料庫讀取。雖然將這些資訊儲存在 Airflow 的資料庫中是可能的,但許多企業客戶已經有 Secret 管理器來儲存 Secret,Airflow 可以透過實現與 Airflow 整合的服務的 Secret 後端的提供者來利用這些管理器。
注意
Secret 後端整合不允許寫入 Secret 後端。這是一個設計選擇,因為 Secret 儲存通常需要提升的許可權才能寫入,因為它是受保護的資源。這意味著即使您使用 Secret 後端,Variable.set(...) 也將寫入 Airflow 的元資料儲存。如果您需要更新儲存在 Secret 後端中的 Secret 值,則必須顯式地執行此操作。這可以透過使用一個寫入您選擇的 Secret 後端的 operator 來完成。
警告
如果您的 Secret 後端中存在鍵 foo,並且您執行 Variable.set(key='foo',...),這將在 Airflow 元資料儲存中建立一個鍵為 foo 的 Airflow 變數。這意味著您將擁有 2 個鍵為 foo 的 Secret。雖然這種情況是可能發生的,但 Airflow 會檢測到這種情況可能不正確,並在任務日誌中輸出一條警告,解釋寫入請求雖然被接受,但在下次讀取時將被忽略。其原因在於,執行 Variable.get('foo') 時,它將從 Secret 後端讀取值。由於 Secret 後端被賦予更高的優先順序,儲存在 Airflow 元資料儲存中的值將被忽略。
您還可以在核心 Airflow 中檢視可用的 Secret 後端(位於 Secret 後端),此處您將看到由社群管理的提供者提供的 Secret 後端