password

Airflow默认不使用用户认证,可以通过配置airflow.cfg进行相关配置,最简单的认证方式自然是密码认证

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

若要airflow使用简单密码认证,airflow需要安装相应的password组件。

$ pip install apache-airflow[password]

此时airflow的数据库中并没有任何用户存在,因此需要添加用户,添加用户的代码如下所示:

import airflow
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'new_user_name'
user.email = '[email protected]'
user.password = 'set_the_password'
session = settings.Session()
session.add(user)
session.commit()
session.close()

通过上面代码添加的用户都是superuser,因为password组件中默认is_super返回值是true,可以在contrib/backend/auth目录修改password的文件,进行自定义的设置。

results matching ""

    No results matching ""