gpt4 book ai didi

Airflow 审计日志

转载 作者:行者123 更新时间:2023-12-03 14:33:45 24 4
gpt4 key购买 nike

我想知道 Airflow 在审计日志的意义上提供了什么。我的 Airflow 环境正在运行 Airflow 1.10 版并使用 [ldap] airflow.cfg的部分文件以使用我公司的 Active Dicrectory (AD) 进行身份验证。我看到当有人通过 Web UI 登录 Airflow 时,它会将用户名写入网络服务器的日志(如下所示)。我想知道是否可以修改 Airflow 以在用户打开/关闭 DAG、创建新的 Airflow 变量或池、清除任务、将任务标记为成功以及用户可以执行的任何其他操作时进行记录.

我需要能够对用户的事件进行某种处理,因为为了在我的工作中使用 Airflow,我必须让它通过架构师的安全审查,而他需要能够跟踪用户的事件。

这种能力是否由 Airflow 提供开箱即用?我明白,如果我要使用名为 Cloud Composer 的 Google Cloud 的 Airflow 服务然后我会得到 Audit Logs通过他们的服务,但不幸的是,我与 Amazon Web Services (AWS) 生态系统相关联,并且我自己维护 Airflow(不通过服务提供)。

我在airflow webserver上看到的记录当我遍历 Airflow Web UI 时它正在发送休息调用

161.179.215.170 - - [17/Sep/2018:16:39:26 -0400] "GET /admin/ HTTP/1.1" 200 71942 "http://1.2.3.4:8080/admin/airflow/graph?dag_id=ARL_OnDemand" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

当我登录时,我看到它告诉我用户名(登录在 login 函数中 https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/auth/backends/ldap_auth.py )
[2018-09-17 16:27:15,493] {ldap_auth.py:287} INFO - User foobaruser successfully authenticated
161.179.215.170 - - [17/Sep/2018:16:27:16 -0400] "POST /admin/airflow/login HTTP/1.1" 302 221 "http://1.2.3.4:8080/admin/airflow/login?next=%2Fadmin%2F" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

所以我想知道是否有办法更新网络服务器日志,以便每次记录 GET 或 POST 请求时,它也会记录发送请求的客户端。这将满足我的审计日志需求,因为我总是知道用户在 UI 上的 Airflow 中做了什么。

更新:

在本文中

https://wecode.wepay.com/posts/improving-airflow-ui-security

显然 Airflow 1.10 引入了一个全新的网站安全架构,他们将在 future 弃用原始的 Flask UI。

我发现与这篇文章相关的这篇文章很有趣,尽管她谈到 Action 日志是被动的而不是抢先的,我想知道这是否与审计日志有关?

During this time, several improvements were made on security, including adding an action logging feature and creating a hard-coded naive RBAC implementation. However, the action logging was passive rather than preemptive, and the native RBAC implementation still allowed read and write access to DAGs for all roles, so they didn’t address our security concerns.



工作解决方案:

尽管我说我使用的是 Airflow 1.10 版,但实际上我使用的是 Airflow 1.9 版 :) 在 Airflow 1.9 版 Owner日志上的列对我来说总是空白,除非它说 Airflow 。但是在升级到 Airflow 1.10 版并连接到我的 LDAP 之后,我看到我的 LDAP 用户名 (kbridenstine) 记录在 Owner 下每次我做一个修改命令!

enter image description here

锦上添花的是,当服务器上的某人运行 Airflow 命令时,Airflow 也会记录日志(因为您也可以通过他们的 CLI 命令修改 Airflow)。您可以通过我在运行 Airflow 的 ec2-instance 服务器上用于 Airflow 的 root 和 ec2-users 看到这一点。

最佳答案

我认为 AIRFLOW_WEB_SERVER_URL:PORT/admin/log/ 下的日志应该为您提供足够的信息,即是否有人使用 UI 或 cli 清除了 dag,如下面的屏幕截图所示。

其中一些元数据是从 MetaDB 中检索的。

enter image description here

关于 Airflow 审计日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52374258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com