14

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

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

在此处输入图像描述

4

5 回答 5

5

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

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

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

于 2021-03-09T17:32:39.883 回答
4

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

# Set to true to turn on authentication:
# https://airflow.apache.org/security.html#web-authentication
authenticate = False

红细胞、

rbac = False
于 2019-08-27T18:45:47.723 回答
1

对于气流 2.0.1 及更高版本:

在文件中:$AIRFLOW_HOME/webserver_config.py

添加/编辑此行(请注意,默认情况下它显示 = 'Public' 并且您需要更改它!)

AUTH_ROLE_PUBLIC = 'Admin'

关于这个论点的文档: https ://airflow.apache.org/docs/apache-airflow/stable/security/webserver.html#web-authentication

此 PR/更改中添加了该功能:https ://github.com/apache/airflow/pull/13191已合并到气流 2.0.1

于 2021-11-29T21:34:39.480 回答
0

一种方法是通过环境变量禁用 RBAC。确保在启动网络服务器之前设置以下内容:

export AIRFLOW__WEBSERVER__RBAC=False

有关更多详细信息,请参见此处。这里的其他答案也都可以!

于 2021-04-14T11:28:37.310 回答
-1

我使用以下命令创建了一个具有“Admin”角色的新用户“Admin”,它适用于我:

$ airflow users create \
      --username Admin \
      --firstname FIRST_NAME \
      --lastname LAST_NAME \
      --role Admin \
      --email admin@example.org
于 2021-03-15T00:04:52.887 回答