【问题标题】:How to restrict access to airflow.models?如何限制对airflow.models的访问?
【发布时间】:2021-09-30 21:02:15
【问题描述】:

我有一个气流实例,其中有许多拥有 DAG 的租户。他们想在他们的 dagrun 上提取元数据,例如 DagRun.end_date。但是我想限制每个租户,以便他们只能访问与自己的 dagruns 相关的数据,而无法访问其他人的 dagruns 的数据。如何做到这一点?

这就是我想象的 DAG 的样子

# custom macro function
def get_last_dag_run(dag):
    last_dag_run = dag.get_last_dagrun()
    return last_dag_run.end_date

我发现这些资源解释了如何提取数据,而不是如何限制数据。

【问题讨论】:

标签: airflow-scheduler airflow


【解决方案1】:

注意:我是 Airflow 的贡献者。

这在当前的 Airflow 架构中是不可能的。

我们正在慢慢努力使 Airflow 支持多租户,但目前我们已经完成了一半,我相信这将是几个主要版本。

目前隔离租户的唯一方法是给每个租户单独的 Airflow 实例,这并不像您最初想象的那么糟糕。如果您在同一个自动扩展 Kubernetes 集群上的不同命名空间中运行它们并添加 KEDA 自动扩展,并使用相同的数据库服务器(但给每个租户一个单独的模式),这可能会相当有效(特别是如果您使用 Terraform 来设置/拆卸例如这样的气流实例)。

【讨论】:

  • 我如何跟踪 Airflow 何时支持多租户。
  • 观察公告。 devlist,关注 twitter,airflow.apache.org/announcements - 我相信你有自己的方法来跟踪事情,所以选择一个适合你的
猜你喜欢
  • 1970-01-01
  • 2011-04-10
  • 2021-12-06
  • 2020-01-15
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多