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

问题描述 投票:0回答:1

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

- AIRFLOW__WEBSERVER__RBAC=True

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

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

我是否知道如何使用RBAC捕获用户详细信息?

airflow rbac
1个回答
0
投票

根据Airflow安全模型一部分的RBAC文档,该文档由Flask AppBuilder(FAB)]处理:]

[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来获取用户登录名。

© www.soinside.com 2019 - 2024. All rights reserved.