Tengo una bifurcación de Apache Airflow que quiero ejecutar detrás de un servidor proxy. Toda la autenticación ya se manejará fuera del flujo de aire, por lo que no quiero que los clientes vuelvan a iniciar sesión con otro conjunto de credenciales. ¿Hay alguna forma de eliminar o deshabilitar por completo la autenticación del flujo de aire?
Básicamente, quiero deshacerme de esta pantalla de inicio de sesión inicial y permitir que cualquiera que llegue al flujo de aire tenga acceso de usuario (no de administrador). [El acceso de administrador en el peor de los casos también está bien.]
Cambie el valor de autenticación a falso en el archivo de configuración de flujo de aire (airflow.cfg) y reinicie el flujo de aire,
# Set to true to turn on authentication: # https://airflow.apache.org/security.html#web-authentication authenticate = FalseRBAC,
rbac = FalseSi alguien está usando la ventana acoplable, esto funcionó para mí (flujo de aire 2.0.1):
AUTH_ROLE_PUBLIC = 'Admin'
[webserver] rbac = False authenticate = False
ADD airflow/webserver_config.py /home/airflow
Una vez que haga girar el pod, el archivo de configuración debe agregarse al directorio para deshabilitar la autenticación.
Creé un nuevo usuario "Administrador" con el rol "Administrador" usando el siguiente comando, y funciona para mí:
$ airflow users create \ --username Admin \ --firstname FIRST_NAME \ --lastname LAST_NAME \ --role Admin \ --email admin@example.orgPara airflow 2.0.1 y versiones posteriores:
En el archivo: $AIRFLOW_HOME/webserver_config.py
agregue/edite esta línea (tenga en cuenta que de forma predeterminada dice = 'Público' y ¡debe cambiarlo!)
AUTH_ROLE_PUBLIC = 'Admin'Documentación sobre este argumento: https://airflow.apache.org/docs/apache-airflow/stable/security/webserver.html#web-authentication
La función se agregó en este PR/cambio: https://github.com/apache/airflow/pull/13191 que se fusionó con airflow 2.0.1