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 (vista previa)

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 tienen permisos de IAM adecuados para 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 más detallado en la IU web de Airflow. Con esta característica, puedes habilitar el control detallado 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 y distintos de IAM.

Habilita la IU de RBAC

Para habilitar la IU de RBAC, crea o actualiza un entorno con la anulación de configuración de Airflow: [webserver]rbac = True. Con esta configuración, su entorno ejecutará 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 configurar los controles 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 de usuario a todas las funciones personalizadas, excepto los permisos para all_dags.

El RBAC de Airflow 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 se registraron en el RBAC de Airflow.

Registra usuarios en la IU de RBAC

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

En el registro, los usuarios reciben la función especificada en la anulación de configuración de [webserver]rbac_user_registration_role de Airflow. Para controlar la función de los usuarios registrados recientemente, actualiza el entorno y cambia la configuración. Si no se especifica, la función de registro predeterminada es Administrador.

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

  1. Los administradores de entornos necesarios deberían visitar la IU del RBAC de Airflow para el entorno recién creado, en el que se registrarán de forma automática con la función de administrador.
  2. El propietario del entorno debe actualizarlo con la anulación de la configuración de Airflow [webserver]rbac_user_registration_role configurada en la función deseada para usuarios nuevos. Por ejemplo: [webserver]rbac_user_registration_role = User (u otra función que no sea de administrador).
  3. Los administradores pueden configurar el control de acceso de los usuarios nuevos, incluida la asignación de la función de administrador a otros usuarios.

Quita usuarios

La eliminación de un usuario de RBAC no revocará el acceso de ese usuario, ya que se volverá a registrar automáticamente 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 su política de acceso en Cloud IAM para tu proyecto. También puede cambiar la función del usuario en la IU de RBAC a Público, lo que mantendrá el registro del usuario, pero quitará todos los permisos de la IU de Airflow.

Configura permisos a nivel del DAG

Puedes configurar los permisos a nivel del DAG para las funciones personalizadas a fin de especificar qué DAG son visibles para cada grupo de usuarios.

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

  1. El administrador crea funciones vacías para agrupar los DAG
  2. El administrador asigna usuarios a 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 a través de las propiedades del DAG o a través de la IU de RBAC.

Asigna DAG a las funciones en las propiedades del DAG

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

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

Luego, el administrador del DAG, 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 RBAC

Un administrador también puede asignar los permisos en el nivel del DAG deseado a las funciones correspondientes en la IU de Airflow.