8

我正在尝试弄清楚 Airflow 如何在多租户环境中工作。具体来说,要求应如下所示:

  1. 两个团队 TeamA 和 TeamB 正在使用一个 Airflow 实例。
  2. 团队的 A 和 B 每个都有自己的服务用户帐户:serviceUserA 和 ServiceUserB,他们应该在其下运行他们的工作。
  3. 出于安全原因,团队 A 不应创建在 ServiceUserB 下运行的作业,反之亦然。

在这一点上,我不清楚要求 3. 是否可以通过 Airflow 来满足,除非给每个团队一个单独的 Airflow 实例。有什么方法可以实现吗?

4

2 回答 2

2

这取决于您对Airflow Instance的意思。

您可以通过 systemctl 启动 2 组 Airflow 服务(webserver、scheduler、worker),每组都依赖于不同的 airflow.cfg。

然后,在airflow.cfg 中,您将分离2 组。

于 2017-11-16T11:57:03.627 回答
1

直到 Airflow 版本 1.9.0

用户仍然能够访问所有 dag 的原因是它是superuser默认的。除非您使用 LDAP 进行身份验证,否则创建的所有用户都是超级用户,并且 Airflow 没有其他角色。

但是,如果您使用 LDAP,您可以拥有超级用户和数据分析器角色。

这应该会在即将发布的 Airflow 版本中改变。

正如此处的文档所述:webserver:filter_by_owner仅当您使用 LDAP 身份验证时才能使用。因此,要实现多租户,您可以使用 LDAP 并superuser仅将权限授予管理员,而其他用户则拥有其中一个userdata_profiler角色。

于 2018-07-04T11:06:14.023 回答