Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Usa el control de acceso basado en funciones de Airflow en la interfaz web

El acceso general a la IU web de Airflow en Cloud Composer se controla mediante IAM. Los usuarios primero deben autenticarse en Cloud Identity-Aware Proxy (IAP) y tener los permisos de IAM adecuados antes de que puedan acceder a la IU web.

Sin embargo, una vez que los usuarios acceden a la IU web de Airflow, IAM no proporciona ningún control de permisos detallado en la IU web de Airflow. Con esta característica, puedes habilitar el control de acceso basado en funciones (RBAC) basado en Airflow, dentro de la IU web de Airflow.

Ten en cuenta que la IU de RBAC es una característica de Airflow, con su propio modelo de usuarios, funciones, permisos, distinto de IAM.

Habilita la IU de RBAC

Para habilitar la IU de RBAC, anula la siguiente propiedad de configuración de Airflow:

Sección Clave Valor
webserver rbac True

Puedes hacerlo en un entorno existente o cuando creas uno nuevo. Con esta configuración, tu entorno ejecuta la IU de RBAC de Airflow en lugar de la IU clásica de Airflow.

Usa la IU de RBAC

Desde la IU de RBAC, puedes establecer la configuración del control de acceso con los vínculos del menú Seguridad. Consulta la documentación de la IU de RBAC de Airflow para obtener más información sobre el modelo de RBAC, los permisos disponibles y las funciones predeterminadas.

Airflow trata la función de usuario como la plantilla para todas las funciones personalizadas. Esto significa que Airflow copiará continuamente los permisos de la función del usuario a todas las funciones personalizadas, excepto los permisos de all_dags.

Airflow RBAC mantiene su propia lista de usuarios, lo que significa que los usuarios con la función de administrador (o equivalente) pueden ver la lista de usuarios que abrieron esta instancia de la IU de Airflow y que se registraron para Airflow RBAC.

Registra usuarios en la IU de RBAC

Los usuarios nuevos se registran automáticamente cuando abren la IU de RBAC de Airflow asociada a un entorno determinado de Cloud Composer por primera vez.

En el registro, los usuarios tienen la función especificada en la anulación de la configuración de Airflow [webserver]rbac_user_registration_role. Puedes controlar la función de los usuarios recién registrados si actualizas el entorno y cambias esta configuración. Si no se especifica, la función de registro predeterminada es Administrador.

Los pasos siguientes se recomiendan a fin de crear una configuración de función básica para la IU de RBAC de Airflow:

  1. Los administradores del entorno que no tendrían experiencia deben visitar la IU RBAC de Airflow para el entorno recién creado, en el que se registrarán automáticamente con la función de administrador.
  2. El propietario del entorno debe actualizarlo con la configuración de Airflow anulada [webserver]rbac_user_registration_role establecida en la función deseada para usuarios nuevos. Por ejemplo: [webserver]rbac_user_registration_role = User (o cualquier otra función que no sea administrador)
  3. Los administradores pueden configurar el control de acceso para usuarios nuevos, incluida la función de Administrador para otros usuarios.

Quita usuarios

Aunque borres a un usuario de RBAC, no se revocará el acceso para ese usuario, ya que se volverá a registrar de forma automática la próxima vez que visite la IU de Airflow. Para revocar el acceso a toda la IU de Airflow, quita el permiso composer.environments.get de la política de acceso en Cloud IAM para tu proyecto. También puedes cambiar la función del usuario en la IU de RBAC a pública, lo que mantendrá el registro del usuario, pero quitará todos los permisos para la IU de Airflow.

Configura permisos a nivel de DAG

Puedes configurar permisos de nivel de DAG para las funciones personalizadas a fin de especificar qué DAG son visibles por qué grupos de usuarios.

Para configurar la separación del DAG en la IU RBAC de Airflow, sigue estos pasos:

  1. El administrador crea funciones vacías para agrupar DAG.
  2. El administrador asigna a los usuarios las funciones adecuadas
  3. El administrador o los usuarios asignan DAG a las funciones
  4. Los usuarios solo pueden ver los DAG en la IU cuyos permisos se asignaron a un grupo al que pertenece ese usuario.

Los DAG se pueden asignar a funciones, ya sea a través de propiedades del DAG o desde la IU de RBAC.

Asigna DAG a las funciones en propiedades de DAG

El desarrollador del DAG puede configurar el parámetro de DAG access_control en los DAG que sube, especificando las funciones de agrupación de DAG a las que se asignará:

dag = DAG(
  access_control={
    'DagGroup': {'can_dag_edit', 'can_dag_read'},
  },
  ...
  )

Luego, el desarrollador, el desarrollador de DAG o un proceso automatizado deben ejecutar el comando de Airflow sync_perm para aplicar la nueva configuración de control de acceso.

Asigna DAG a las funciones en la IU de RBAC

Un administrador también puede asignar los permisos deseados a nivel de DAG a las funciones adecuadas en la IU de Airflow.