From e0f1b118b7f5c39196c7ecc35ac0bfa8b2415c24 Mon Sep 17 00:00:00 2001 From: Hussein Awala Date: Mon, 4 Sep 2023 23:53:10 +0200 Subject: [PATCH 1/2] Add missing audit logs for default flask action: add, edit and delete --- airflow/www/views.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/airflow/www/views.py b/airflow/www/views.py index 4c2d3d99aa5d1..81f46de14afaf 100644 --- a/airflow/www/views.py +++ b/airflow/www/views.py @@ -4215,6 +4215,24 @@ def __getattribute__(self, attr): return action_logging(event=f"{self.route_base.strip('/')}.{permission_str}")(attribute) return attribute + @expose("/add", methods=["GET", "POST"]) + @has_access + @action_logging + def add(self): + return super().add() + + @expose("/edit/", methods=["GET", "POST"]) + @has_access + @action_logging + def edit(self, pk): + return super().edit(pk) + + @expose("/delete/", methods=["GET", "POST"]) + @has_access + @action_logging + def delete(self, pk): + return super().delete(pk) + class AirflowPrivilegeVerifierModelView(AirflowModelView): """ From b09435c5b8bec60cfd95bbdc6676db473b1dbf9f Mon Sep 17 00:00:00 2001 From: Hussein Awala Date: Tue, 5 Sep 2023 00:07:30 +0200 Subject: [PATCH 2/2] Update the solution --- airflow/www/views.py | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/airflow/www/views.py b/airflow/www/views.py index 81f46de14afaf..a1c4865a3cab2 100644 --- a/airflow/www/views.py +++ b/airflow/www/views.py @@ -4215,24 +4215,6 @@ def __getattribute__(self, attr): return action_logging(event=f"{self.route_base.strip('/')}.{permission_str}")(attribute) return attribute - @expose("/add", methods=["GET", "POST"]) - @has_access - @action_logging - def add(self): - return super().add() - - @expose("/edit/", methods=["GET", "POST"]) - @has_access - @action_logging - def edit(self, pk): - return super().edit(pk) - - @expose("/delete/", methods=["GET", "POST"]) - @has_access - @action_logging - def delete(self, pk): - return super().delete(pk) - class AirflowPrivilegeVerifierModelView(AirflowModelView): """ @@ -5265,6 +5247,8 @@ class DagRunModelView(AirflowPrivilegeVerifierModelView): class_permission_name = permissions.RESOURCE_DAG_RUN method_permission_name = { + "delete": "delete", + "edit": "edit", "list": "read", "action_clear": "edit", "action_muldelete": "delete", @@ -5643,6 +5627,7 @@ class TaskInstanceModelView(AirflowPrivilegeVerifierModelView): class_permission_name = permissions.RESOURCE_TASK_INSTANCE method_permission_name = { "list": "read", + "delete": "delete", "action_clear": "edit", "action_muldelete": "delete", "action_set_running": "edit",