DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Work in progress. Feedback welcome.
Introduction
JIRA: AIRFLOW-85 - Getting issue details... STATUS
Several Airflow users have a need for more rigorous security in Airflow. Part of this involves authentication (authn) and authorization (authz) in Airflow's UI. The current security problems with Airflow's UI are:
- Everything is under /admin
- There is very limited authorization (authz) functionality
- There is no auditing about who is triggering an action via the UI
The goal of this document is to address these issues.
Design
UI
The idea is to add a new endpoint called /dags, which is parallel to the /admin UI. This UI will use the same template as the existing DAGs UI in /admin. It will not, however, have any other tabs (Data Profiling, Browse, Admin).
The pages that are exposed would be:
- /admin
- /admin/airflow/refresh
- /admin/airflow/tree
- /admin/airflow/graph
- /admin/airflow/duration
- /admin/airflow/landing_times
- /admin/airflow/gantt
- /admin/airflow/code
- /admin/airflow/task
- /admin/airflow/rendered
- /admin/airflow/log
Roles
We will introduce two levels of access:
- dag_viewer: Can see everything associated with a given DAG.
- dag_editor: Can edit the status of tasks in a DAG.
- dag_executor: Can click the 'Run' button on a task to have it triggered immediately. Only works for CeleryExecutor.
