代码之家  ›  专栏  ›  技术社区  ›  Kyle Bridenstine

气流审核日志

  •  1
  • Kyle Bridenstine  · 技术社区  · 6 年前

    我想知道气流提供了什么意义上的审计日志。我的气流环境运行的是气流版本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)登录在下面 所有者 每次我做修改命令!

    enter image description here

    另外,当服务器上有人运行airfold命令时,airfold也会被记录下来(因为你也可以通过他们的CLI命令修改airfold)。你可以看到这个 ec2用户 我在运行Airflow的ec2实例服务器上使用Airflow。

    1 回复  |  直到 6 年前
        1
  •  4
  •   kaxil    6 年前

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

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

    enter image description here