Airflow 用户访问管理

标签 airflow airflow-scheduler

我正在评估 Airflow 作为作业调度工具。 1) 能不能创建admin、developer、readonly user 等少数用户? 2)能否实现对Airflow UI的访问控制 3) 我们可以控制对 dags 文件夹的访问吗?有没有dag部署机制

最佳答案

取自Airflow read the docs.

如果您的 Airflow 版本为 1.10 或更高版本,这一切都可以正常使用。您必须在 airflow.cfg 文件中设置 rbac= True。我相信如果您正在更新 Airflow 而不是安装新的,您还必须运行 airflow create_user 来创建管理员用户。

  1. Can we create few users like admin, developer and readonly user?

是的。 Airflow 默认创建了五个角色:Public、Admin、Viewer、User、Op。

  • Public 没有任何权限。
  • 管理员拥有全套权限

  • 查看者:适用于没有 DAG 所有权的用户。他们对 DAG 具有读取权限,但不能执行任何可能更改数据库状态的操作。

  • 用户:这适用于拥有 DAG 所有权的用户。他们对 DAG 具有读写权限,因此可以执行诸如启动/停止计划的 DAG、临时运行 DAG、清除历史 DagRun 或将 DagRun 标记为成功/失败等操作。
  • Op:这适用于处理 Airflow 部署并维持其正常运行时间的开发运营。他们可以通过 UI 访问 Airflow 配置文件,并且可以修改变量和连接等共享对象。

    1. Can we implement access control to the Airflow UI?

您可以限制使用 Airflow 托管的服务器,通过 SSH 身份验证限制访问。然后,用户必须通过隧道进入服务器才能查看 UI。

  1. Can we control access to the dags folder?

是的,通过 Airflow 服务器上的用户组。

  1. Is there any dag Deployment mechanism

不,据我所知,但这相对容易实现。将更新后的 DAGS 提交到 SVN/Git 等在线存储库。使用 bash 脚本检查新更新并拉下更新的更新以进行部署。

查看 airflow security section获取更多信息。

关于Airflow 用户访问管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56363408/

相关文章:

etl - Airflow 保留相同的数据库连接吗?

Airflow dags 生命周期事件

python - 我们如何使用 BigQueryCreateEmptyTableOperator 创建包含 "Clustered by"列的表?

Airflow 1.10.1 - 更改时区

Airflow 错误 - ValueError : Unable to configure handler 'file.processor'

docker - 删除 Airflow Scheduler 日志

airflow - 如何将参数从 pythonoperator 任务传递到 airflow dag 中的 simplehttpoperator 任务?

python - 在 Airflow 上使用 DataprocOperator 的组件网关

Airflow 身份验证设置失败, "AttributeError: can' t set 属性”

python - Web UI中的Apache Airflow“不允许过早的日期时间”