Airflow - DAG 级访问控制

Airflow - DAG level access control

我正在努力在 Airflow 2.1.0 中设置 DAG 级访问控制。目的是让用户查看和控制单个 DAG 及其运行,但仅此而已。尝试遵循 docs on access control and barely documented access_control parameter of DAG 我正在设置一个最小的场景:

这部分有效。我可以以 my_user 身份登录,但在 DAG 列表中只能看到 my_dag。但是,我无法查看 DAG 单击它、触发它或查看它的运行。我尝试添加额外的全局权限,如 read on DAG Runs / Task Instances,但没有帮助。唯一可行的是能够使用全局 create on DAG Runs 权限触发 DAG(我不确定我现在是否能够通过发出适当的命令来触发 any DAG请求,没有检查)。

那么这有可能实现吗?我是不是漏掉了什么?

您缺少以下权限 can read on DAG Runs, can read on Task Instances, can edit on DAG Runs, can read on DAG Code, can read on Task Logs 添加到 my_role

另请注意,DAG 中的 access_control 属性已过时且不再需要,因为您可以在具有权限的角色级别设置它 can xxx on DAG:dag_id 其中 xxx 被读取或编辑并且 dag_id是您在 DAG 定义中设置的 ID