### Apache Airflow version

2.3.3 (latest released)

### What happened

I change my DAG from 
```python
with DAG(
   'test',
    access_control={'team':{'can_edit','can_read'}},
) as dag:
   ...
```

to

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

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

If we write code like this,

```python
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?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

dagbag_import_timeout = settings.get_dagbag_import_timeout(filepath)
        if not isinstance(dagbag_import_timeout, (int, float)):
            raise TypeError(
                f"Value ({dagbag_import_timeout}) from get_dagbag_import_timeout must be int or float"
            )
        if dagbag_import_timeout <= 0:  
            return parse(mod_name, filepath)
        timeout_msg = (
            f"DagBag import timeout for {filepath} after {dagbag_import_timeout}s.\n"
            "Please take a look at these docs to improve your DAG import time:\n"
            f"* {get_docs_url('best-practices.html#top-level-python-code')}\n"
            f"* {get_docs_url('best-practices.html#reducing-dag-complexity')}"
        )
        with timeout(dagbag_import_timeout, error_message=timeout_msg):
            return parse(mod_name, filepath)
    def _load_modules_from_zip(self, filepath, safe_mode):
        from airflow.models.dag import DagContext
        mods = []
        with zipfile.ZipFile(filepath) as current_zip_file:
            for zip_info in current_zip_file.infolist():
                head, _ = os.path.split(zip_info.filename)
                mod_name, ext = os.path.splitext(zip_info.filename)
                if ext not in [".py", ".pyc"]:
                    continue
                if head:
                    continue
                if mod_name == "__init__":
                    self.log.warning("Found __init__.%s at root of %s", ext, filepath)
                self.log.debug("Reading %s from %s", zip_info.filename, filepath)
                if not might_contain_dag(zip_info.filename, safe_mode, current_zip_file):