Apache Airflow - 用户管理和多租户

seb*_*ian 5 airflow

我正在尝试创建一个可以托管多个用户的 Apache Airflow 实例,并且不会对彼此产生负面影响。这包括但不限于:

  • 维护自己的python环境
  • 管理自己的变量
  • 管理自己的连接
  • 管理自己的DAG

查看官方气流文档。我看到一些可能有帮助的事情。

1) 创建用户的能力和 2) 多租户的能力。

1)如果我遵循用户创建过程https://airflow.apache.org/security.html#web-authentication。创建的所有用户似乎都是管理员,但如何创建非管理员用户并控制他们可以做什么/不能做什么?我似乎无法找到更多文档。

2)链接https://airflow.apache.org/security.html#multi-tenancy说“当通过设置打开身份验证时,您可以按所有者名称过滤网络服务器中的 dags 列表”,但我不知道不知道如何将 dags 分配给特定用户。

谢谢您的帮助。

tob*_*bi6 3

认为用户管理不像 Airflow 那样工作,但还没有深入研究。

To 1:据我了解,Airflow 中没有内置角色。用户管理首先是关于身份验证和对 Airflow 的访问。如果需要,您可能需要实现一些 Flask 挂钩,如下所述: https: //airflow.apache.org/security.html#roll-your-own

2:创建 DAG 时,您可以使用

default_args = {
     owner: 'my_owner_name',
     ...
Run Code Online (Sandbox Code Playgroud)

字符串参数。这似乎是将 DAG 与用户身份验证绑定的部分。因此,拥有该句柄的用户my_owner_name可以列出上述 DAG。