在 Airflow 中限制用户角色可以 运行 的任务类型

Restrict the type of Tasks a User Role can run in Airflow

我目前正在研究气流以允许一组用户定义和运行一些基本流程。但是,我想限制允许这些用户执行的任务类型 运行。例如,我不希望他们能够使用 BashOperator。

我看过访问控制文档,但它似乎只显示了在 DAG 中执行的任务实例的访问权限。有谁知道我该如何实现这个?

https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html

目前无法将操作员限制为选定的用户角色,但您可以使用任务策略限制所有用户的操作员:https://airflow.apache.org/docs/apache-airflow/stable/concepts/cluster-policies.html?highlight=cluster%20policy#task-policies:

def task_policy(task: BaseOperator):
    if task.task_type == 'BashOperator':
        raise AirflowClusterPolicyViolation("BashOperator not permitted")