我想知道气流提供了什么意义上的审计日志。我的气流环境运行的是气流版本1.10,并使用
[ldap]
剖面图
airflow.cfg
文件以使用我的公司活动目录(AD)进行身份验证。我看到当有人通过Web UI登录到Airflow时,它会将用户名写入Web服务器的日志(如下所示)。我想知道当用户打开/关闭DAG、创建新的Airflow变量或池、清除任务、将任务标记为成功以及用户可以执行的任何其他操作时,Airflow是否也可以修改为日志。
我需要能够对用户的活动进行某种处理,因为为了在我的工作中使用气流,我必须让它通过架构师的安全审查,他需要跟踪用户活动的能力。
这种能力是由气流提供的吗?我知道如果我使用googlecloud的气流服务
Cloud Composer
然后我就会
Audit Logs
但不幸的是,我与amazonwebservices(AWS)生态系统联系在一起,我自己也在维护气流(不是通过服务提供的)。
airflow webserver
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"
所以我想知道是否有一种方法可以让我更新webserver日志,这样每次记录GET或POST请求时,它都会记录发送请求的客户机。这将满足我的审核日志需要,因为我总是知道用户在UI上做了什么。
在本文中
https://wecode.wepay.com/posts/improving-airflow-ui-security
显然,Airflow 1.10引入了一个全新的网站安全体系结构,他们将在未来否决原来的FlaskUI。
朴素的RBAC实现。但是,操作日志是被动的
而不是先发制人,本机RBAC实现仍然
允许对所有角色的DAG进行读写访问,所以它们没有
工作方案:
Owner
日志上的一栏对我来说总是空白的,除非上面写着
. 但是在升级到Airflow版本1.10并连接到我的LDAP之后,现在我看到我的LDAP用户名(kbridenstine)登录在下面
所有者
每次我做修改命令!
另外,当服务器上有人运行airfold命令时,airfold也会被记录下来(因为你也可以通过他们的CLI命令修改airfold)。你可以看到这个
根
和
ec2用户
我在运行Airflow的ec2实例服务器上使用Airflow。