工作负载¶
本主题介绍如何配置 Airflow 以保护您的工作负载。
模拟¶
Airflow 能够根据任务的 run_as_user
参数(该参数接受用户名)在运行任务实例时模拟 Unix 用户。
注意:为了使模拟正常工作,Airflow 需要 sudo
,因为子任务会使用 sudo -u
运行,并且会更改文件的权限。此外,该 Unix 用户需要存在于 worker 上。以下是一个简单的 sudoers 文件条目,可以实现此目的,假设 airflow 用户正在运行 Airflow。这意味着 airflow 用户必须是受信任的,并与 root 用户享有同等待遇。
airflow ALL=(ALL) NOPASSWD: ALL
进行模拟的子任务仍将日志记录到同一文件夹中,不同之处在于,日志文件的权限会更改,以便只有该 Unix 用户才能写入。
默认模拟¶
为了防止不使用模拟的任务以 sudo
权限运行,您可以设置 core:default_impersonation
配置,该配置会在未设置 run_as_user
时设置一个默认的用户进行模拟。
[core]
default_impersonation = airflow