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 后端