You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow 2.5.3:如何限制用户仅查看自身子文件夹内的DAG

实现Airflow按文件夹隔离用户DAG查看权限(2.5.3版本)

你的需求完全可行,Airflow 2.x的RBAC系统支持通过DAG标签+自定义角色权限的方式,实现用户仅查看对应文件夹内的DAG,具体步骤如下:

1. 为对应文件夹的DAG统一添加标签

在每个用户子文件夹下的DAG代码中,统一添加专属标签,比如dag-user1下的所有DAG都添加user1_dags标签:

from airflow import DAG
from datetime import datetime

with DAG(
    dag_id="dag_a",
    start_date=datetime(2023, 1, 1),
    schedule_interval="@daily",
    tags=["user1_dags"],  # 统一添加用户专属标签
) as dag:
    # 任务定义代码

同理,dag-user2下的DAG添加user2_dags标签,dag-user3添加user3_dags标签。

2. 创建对应用户的自定义角色

进入Airflow GUI的Security -> Roles页面,创建专属角色:

  • 点击Create,角色名设为User1DAGViewer(对应user1)
  • 在Permissions区域,添加权限:
    • 权限类型选择can read
    • 资源类型选择DAG
    • 资源名称填写tag:user1_dags(格式为tag:你的标签名)
  • 重复此步骤,分别创建User2DAGViewer、User3DAGViewer角色,对应各自标签的权限。

3. 绑定用户到自定义角色

进入Security -> Users页面,编辑目标用户:

  • 在Roles列表中,添加对应的自定义角色(比如给user1添加User1DAGViewer)
  • 保留用户的User基础角色(确保用户能正常登录GUI),移除Viewer等会授予全局DAG查看权限的角色。

验证效果

完成配置后,user1登录Airflow GUI,将只能看到带有user1_dags标签的DAG(即dag-user1文件夹下的所有DAG),无法查看其他用户的DAG。

内容的提问来源于stack exchange,提问作者Krengifo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:37:55