我有一个 apache 气流分支,我想在代理服务器后面运行。所有身份验证都将在气流外部处理,因此我不希望客户再次使用另一组凭据登录。有没有办法从气流中完全删除/禁用身份验证。
基本上,我想摆脱这个初始登录屏幕,并允许任何到达气流的人都拥有用户(而不是管理员)访问权限。[最坏情况下的管理员访问也可以。]
我有一个 apache 气流分支,我想在代理服务器后面运行。所有身份验证都将在气流外部处理,因此我不希望客户再次使用另一组凭据登录。有没有办法从气流中完全删除/禁用身份验证。
基本上,我想摆脱这个初始登录屏幕,并允许任何到达气流的人都拥有用户(而不是管理员)访问权限。[最坏情况下的管理员访问也可以。]
如果有人在使用 docker,这对我有用(气流 2.0.1):
AUTH_ROLE_PUBLIC = 'Admin'
[webserver] rbac = False authenticate = False
ADD airflow/webserver_config.py /home/airflow
启动 pod 后,应将配置文件附加到禁用身份验证的目录中。
在气流配置文件 (airflow.cfg) 中将身份验证值更改为 false 并重新启动气流,
# Set to true to turn on authentication:
# https://airflow.apache.org/security.html#web-authentication
authenticate = False
红细胞、
rbac = False
对于气流 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
一种方法是通过环境变量禁用 RBAC。确保在启动网络服务器之前设置以下内容:
export AIRFLOW__WEBSERVER__RBAC=False
有关更多详细信息,请参见此处。这里的其他答案也都可以!
我使用以下命令创建了一个具有“Admin”角色的新用户“Admin”,它适用于我:
$ airflow users create \
--username Admin \
--firstname FIRST_NAME \
--lastname LAST_NAME \
--role Admin \
--email admin@example.org