如何捕获触发了气流DAG的用户

时间:2020-02-10 11:16:45

标签: airflow rbac

我已在docker-compose文件中启用RBAC作为环境变量。

- AIRFLOW__WEBSERVER__RBAC=True

我想捕获在我的dag文件中启动dag的用户。

我尝试使用from flask_login import current_user。但是,我得到current_user的值为None。

我可以知道如何使用RBAC捕获用户详细信息吗?

1 个答案:

答案 0 :(得分:0)

根据Airflow文档,它是由{em> Flask AppBuilder(FAB)处理的RBAC安全模型的一部分:

Airflow使用flask_login并在 airflow.default_login模块。您可以更改内容并使其 PYTHONPATH的一部分,并将其配置为后端 airflow.cfg

Flask-login模块提供用户管理操作,因此您可以在专用属性flask_login.current_user中获取当前用户,添加 如#3438拉取请求所述的一些额外字段:

if current_user and hasattr(current_user, 'user'):
    user = current_user.user.username
elif current_user and hasattr(current_user, 'username'):

我想您可以使用current_user.user.username来获取用户登录信息。