我正在评估 Airflow 作为作业调度工具。 1) 能不能创建admin、developer、readonly user 等少数用户? 2)能否实现对Airflow UI的访问控制 3) 我们可以控制对 dags 文件夹的访问吗?有没有dag部署机制
最佳答案
如果您的 Airflow 版本为 1.10 或更高版本,这一切都可以正常使用。您必须在 airflow.cfg
文件中设置 rbac= True
。我相信如果您正在更新 Airflow 而不是安装新的,您还必须运行 airflow create_user
来创建管理员用户。
-
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 配置文件,并且可以修改变量和连接等共享对象。
-
Can we implement access control to the Airflow UI?
-
您可以限制使用 Airflow 托管的服务器,通过 SSH 身份验证限制访问。然后,用户必须通过隧道进入服务器才能查看 UI。
-
Can we control access to the dags folder?
是的,通过 Airflow 服务器上的用户组。
-
Is there any dag Deployment mechanism
不,据我所知,但这相对容易实现。将更新后的 DAGS 提交到 SVN/Git 等在线存储库。使用 bash 脚本检查新更新并拉下更新的更新以进行部署。
查看 airflow security section获取更多信息。
关于Airflow 用户访问管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56363408/