13 Securing Airflow
This chapter covers:
- Examining and configuring the RBAC interface for controlling access
- Granting access to a central set of users by connecting with an LDAP service
- Configuring a Fernet key to encrypt secrets in the database
- Securing traffic between your browser and the webserver
- Fetching secrets from a central secret management system
Given the nature of Airflow, a spider in the web orchestrating series of tasks, it must connect with many systems and is therefore a desirable target to gain access to. To avoid unwanted access, we discuss the security of Airflow in this chapter. We cover various security-related use cases and elaborate on these with practical examples. Security is often deemed a topic of black magic, with a wide plethora of technologies, abbreviations, and intricate details to know. While this is not untrue, we wrote this chapter for a reader with little security knowledge in mind, and hence highlight various key points to avoid unwanted actions on your Airflow installation, which should serve as a starting point.
NOTE Airflow 1.* comes with two interfaces:
- The “original” interface, developed on top of Flask-Admin
- The “RBAC” interface, developed on top of Flask-AppBuilder (FAB)