Skip to content

Issue with DAG Visibility and Access Control in Airflow 3.0.2 #51881

@carlos54

Description

@carlos54

Apache Airflow version

3.0.2

If "Other Airflow 2 version" selected, which one?

3.0.2

What happened?

In Airflow 3.0.2, we are encountering an issue where users are unable to view only their own DAGs without receiving a 403 error on the DAG listing screen. To avoid this error, the permission "can read on DAGs" must be enabled. However, enabling this permission causes the user to see all DAGs, not just the ones they are authorized to access.

What you think should happen instead?

Expected Behavior: Users should only see DAGs for which they have explicit permissions (e.g., can_read on specific DAGs), without needing global can read on DAGs permission that exposes all DAGs.

Actual Behavior: Without can read on DAGs, users get a 403 error on the DAG listing page. With it, they see all DAGs, violating the intended access control.

Request: Please advise if this is a known issue or if there is a recommended workaround to restrict DAG visibility per user while avoiding the 403 error.

How to reproduce

We tested this with a custom role that includes the following permissions:

[can read on My Profile, can read on DAG Runs, menu access on DAG Dependencies, can read on DAG Code, can read on Website, can read on Jobs, menu access on Jobs, can read on Task Instances, menu access on Task Instances, can read on DAG:sandbox1_dags_01, can edit on DAG:sandbox1_dags_01, can read on View Menus, can create on DAG Runs, menu access on DAG Runs, can read on SLA Misses, menu access on SLA Misses, menu access on DAGs, menu access on Datasets, can read on ImportError, menu access on Actions, can create on Task Instances, can read on Task Reschedules, menu access on Task Reschedules, can edit on DAG Runs, can delete on DAG Runs, can edit on Task Instances, can delete on Task Instances, menu access on Documentation, menu access on Docs, can read on DAG Dependencies, menu access on DAG Run:sandbox1_dags_01, can read on DAG Warnings, can read on Task Logs, can read on XComs]
and the acces control on the DAG :

access_control={
    'sandbox1': {'can_read', 'can_edit', 'menu_access'}
}

Operating System

debian

Versions of Apache Airflow Providers

Native package only :

apache-airflow 3.0.2
apache-airflow-core 3.0.2
apache-airflow-providers-amazon 9.8.0
apache-airflow-providers-celery 3.11.0
apache-airflow-providers-cncf-kubernetes 10.5.0
apache-airflow-providers-common-compat 1.7.0
apache-airflow-providers-common-io 1.6.0
apache-airflow-providers-common-messaging 1.0.2
apache-airflow-providers-common-sql 1.27.1
apache-airflow-providers-docker 4.4.0
apache-airflow-providers-elasticsearch 6.3.0
apache-airflow-providers-fab 2.2.0
apache-airflow-providers-ftp 3.13.0
apache-airflow-providers-git 0.0.2
apache-airflow-providers-google 15.1.0
apache-airflow-providers-grpc 3.8.0
apache-airflow-providers-hashicorp 4.2.0
apache-airflow-providers-http 5.3.0
apache-airflow-providers-microsoft-azure 12.4.0
apache-airflow-providers-mysql 6.3.0
apache-airflow-providers-odbc 4.10.0
apache-airflow-providers-openlineage 2.3.0
apache-airflow-providers-postgres 6.2.0
apache-airflow-providers-redis 4.1.0
apache-airflow-providers-sendgrid 4.1.0
apache-airflow-providers-sftp 5.3.0
apache-airflow-providers-slack 9.1.0
apache-airflow-providers-smtp 2.1.0
apache-airflow-providers-snowflake 6.3.1
apache-airflow-providers-ssh 4.1.0
apache-airflow-providers-standard 1.2.0
apache-airflow-task-sdk 1.0.2

Deployment

Official Apache Airflow Helm Chart

Deployment details

No response

Anything else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    affected_version:3.0Issues Reported for 3.0area:autharea:corekind:bugThis is a clearly a bugpriority:highHigh priority bug that should be patched quickly but does not require immediate new release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions