Skip to content

DAG.access_control can't sync when clean access_control #25149

@AndrewTsao

Description

@AndrewTsao

Apache Airflow version

2.3.3 (latest released)

What happened

I change my DAG from

with DAG(
   'test',
    access_control={'team':{'can_edit','can_read'}},
) as dag:
   ...

to

with DAG(
   'test',
) as dag:
   ...

Remove access_control arguments, Scheduler can't sync permissions to db.

If we write code like this,

with DAG(
   'test',
   access_control = {'team': {}}
) as dag:
   ...

It works.

What you think should happen instead

It should clear permissions to test DAG on Role team.

I think we should give a consistent behaviour of permissions sync. If we give access_control argument, permissions assigned in Web will clear when we update DAG file.

How to reproduce

No response

Operating System

CentOS Linux release 7.9.2009 (Core)

Versions of Apache Airflow Providers

airflow-code-editor==5.2.2
apache-airflow==2.3.3
apache-airflow-providers-celery==3.0.0
apache-airflow-providers-ftp==3.0.0
apache-airflow-providers-http==3.0.0
apache-airflow-providers-imap==3.0.0
apache-airflow-providers-microsoft-psrp==2.0.0
apache-airflow-providers-microsoft-winrm==3.0.0
apache-airflow-providers-mysql==3.0.0
apache-airflow-providers-redis==3.0.0
apache-airflow-providers-samba==4.0.0
apache-airflow-providers-sftp==3.0.0
apache-airflow-providers-sqlite==3.0.0
apache-airflow-providers-ssh==3.0.0

Deployment

Virtualenv installation

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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions