如何禁用 Airflow 登录以进行身份​​验证和授权?

Ank*_*kar 11 flask python-3.x airflow flask-appbuilder

我有一个 apache 气流分支,我想在代理服务器后面运行它。所有身份验证都将在气流之外处理,因此我不希望客户再次使用另一组凭据登录。有什么方法可以从气流中完全删除/禁用身份验证。

基本上,我想摆脱这个初始登录屏幕,并允许任何到达气流的人都拥有用户(非管理员)访问权限。[最坏的情况是管理员访问也可以。]

在此处输入图片说明

小智 5

如果有人在使用 docker,这对我有用(气流 2.0.1):

  1. 在项目中的某处添加webserver_config.py的副本。
  2. 取消注释AUTH_ROLE_PUBLIC并将“Admin”设置为值。
AUTH_ROLE_PUBLIC = 'Admin'
Run Code Online (Sandbox Code Playgroud)
  1. 将这些设置添加到您的.cfg文件中。
[webserver]
rbac = False
authenticate = False
Run Code Online (Sandbox Code Playgroud)
  1. 在您的Dockerfile 中,添加命令以将webserver_config.py复制到/home/ airflow目录中。例如:
ADD airflow/webserver_config.py /home/airflow
Run Code Online (Sandbox Code Playgroud)

启动 pod 后,配置文件应附加到禁用身份验证的目录中。

  • 我设法[在这里]找到一些关于它的官方文档(https://airflow.apache.org/docs/apache-airflow/stable/upgrading-to-2.html#step-5-upgrade-airflow-dags)。这是最后一点,就在步骤 6 之前。rbac 现在是唯一的身份验证,因此步骤 3 中的设置已完全删除/禁用。 (3认同)

Anu*_*nup 4

将气流配置文件 (airflow.cfg) 中的验证值更改为 false 并重新启动气流,

# Set to true to turn on authentication:
# https://airflow.apache.org/security.html#web-authentication
authenticate = False
Run Code Online (Sandbox Code Playgroud)

角色访问控制,

rbac = False
Run Code Online (Sandbox Code Playgroud)