Secret backends

以下是所有 Apache Airflow 社群提供的 secret backends 實作摘要,這些實作透過社群管理的供應商公開。

Airflow 具有從 Secret Backends 而非其自身資料庫讀取連線、變數和組態的功能。雖然可以將此類資訊儲存在 Airflow 的資料庫中,但許多企業客戶已經擁有某些 secret managers 來儲存 secrets,而 Airflow 可以透過為 Airflow 整合的服務實作 secrets backends 的供應商來利用這些 secret managers。

注意

Secret Backend 整合不允許寫入 secret backend。這是一個設計選擇,因為通常 secret 儲存需要提升的權限才能寫入,因為它是一個受保護的資源。這表示即使您使用 secret backend,Variable.set(...) 也會寫入 Airflow 元數據儲存庫。如果您需要更新儲存在 secret backend 中的 secret 值,您必須明確地執行此操作。這可以使用寫入您選擇的 secret backend 的運算子來完成。

警告

如果您在 secret backend 中有金鑰 foo,並且您將執行 Variable.set(key='foo',...),它將在 Airflow 元數據儲存庫中建立金鑰為 foo 的 Airflow 變數。這表示您將有 2 個金鑰為 foo 的 secrets。雖然這是可能的,但 Airflow 偵測到這種情況可能不正確,並在任務日誌中輸出警告,解釋說雖然寫入請求已獲准,但在下次讀取時將被忽略。原因是當執行 Variable.get('foo') 時,它將從 secret backend 讀取值。由於給予 secret backend 的優先順序,儲存在 Airflow 元數據儲存庫中的值將被忽略。

您也可以查看核心 Airflow 中可用的 Secret backends,請參閱 Secrets Backend,在此處您可以查看社群管理的供應商提供的 secret backends

Hashicorp

Microsoft Azure

這篇文章是否有幫助?