如何在Apache Airflow中激活身份验证

时间:2018-08-28 11:31:31

标签: authentication webserver airflow

气流版本-1.9.0

我已经安装了Apache气流并进行了后期配置,我能够使用顺序执行器运行示例DAG。

此外,创建了一个新的示例用户,该用户可以在“管理员”>“用户”下看到。

但是,当我们访问网址为:8080的Web服务器地址时,无法获取登录窗口/屏幕,它将直接使用管理员用户打开Airflow Web服务器。 如果任何人都可以提供有关如何激活登录屏幕/页面的信息,以便可以将用户凭据用于登录Web服务器,将是非常有帮助的。

遵循的步骤以启用网络用户身份验证https://airflow.apache.org/security.html?highlight=authentication

3 个答案:

答案 0 :(得分:5)

  1. 编辑airflow.cfg
    [webserver]部分

    • 更改authenticate = True。默认情况下,它设置为False。
    • 添加auth_backend = airflow.contrib.auth.backends.password_auth
    • 为基于角色的访问控制– RBAC更改rbac = True
  2. airflow initdb

  3. 重新启动气流网络服务器

答案 1 :(得分:3)

airflow.cfg文件中检查以下内容:

[webserver]
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

还要记住重新启动Airflow Web服务器,如果仍然无法运行,请运行airflow initdb并重新启动Web服务器。

还要在airflow.cfg文件中再次检查其不包含authenticateauth_backend的多个配置。如果发生不止一次,则可能导致该问题

答案 2 :(得分:1)

只需将rbac = True添加到airflow.cfg,就可以了。 现在,您所需要做的就是重新启动气流Web服务器。 并且如果您要添加新用户。您可以使用此命令,

 airflow create_user -r Admin -u admin -f Ashish -l malgawa -p test123 -e ashishmalgawa@gmail.com

“-r”是我们想要给用户的角色 “ -u”是用户名 “ -f”是名字 “ -l”是姓氏 “ -e”是电子邮件ID “ -p”是密码

有关更多详细信息,您可以关注本文 https://www.cloudwalker.io/2020/03/01/airflow-rbac-role-based-access-control/#:~:text=RBAC%20is%20the%20quickest%20way,access%20to%20DAGs%20as%20well