Apache Airflow Kerberos 集成2025 年 6 月 9 日 | 阅读 4 分钟 引言Apache Airflow 是一个开源工作流程编排工具,用于管理复杂的工作流程、自动化任务和高效地调度作业。在企业环境中,确保安全的身份验证和访问控制至关重要,尤其是在与 Hadoop 等分布式系统交互时。 这就是 Kerberos 身份验证发挥作用的地方。 Kerberos 是一种网络身份验证协议,旨在通过使用密钥密码学为客户端-服务器应用程序提供强大的身份验证。 它在企业中广泛用于安全访问资源。 Kerberos 的局限性将 Apache Airflow 与 Kerberos 集成虽然增加了一层安全性,但也带来了一些挑战和限制
启用 Kerberos 身份验证要在 Apache Airflow 中启用 Kerberos 身份验证,请按照以下步骤操作 安装所需的依赖项确保您的 Airflow 环境已安装必要的依赖项 这将安装身份验证所需的 Kerberos 相关库。 配置 Kerber修改 Airflow 配置文件 (airflow.cfg) 以包含 Kerberos 身份验证设置 生成和配置 Keytab需要一个 key tab 文件,以允许 Airflow 自动通过 Kerberos 进行身份验证。 要为 Airflow 用户创建一个 key tab 文件 确保为安全设置正确的权限 在 Airflow 中启用 Kerberos 票证续订运行 Kerberos 票证续订守护程序以确保票证保持有效 此命令将按照 airflow.Cf 中定义的频率自动续订 Kerberos 票证。 重新启动 Airflow 服务重新启动所有 Airflow 组件以应用更改 使用 Kerberos 将 Apache Airflow 与 Hadoop 集成使用 Kerberos 保护的 Hadoop 集群需要身份验证,然后用户或服务才能访问 HDFS、YARN、Hive 或其他 Hadoop 组件。 Airflow 支持通过 Kerberos 身份验证的 Kerberos 安全 Hadoop。 配置 Airflow 以使用 Kerberos for Hadoop修改 airflow.cfg 文件以包含 Hadoop 相关的设置 将 HDFS 传感器与 Kerberos 配合使用Airflow 提供 HdfsSensor 来检查 HDFS 中文件的可用性。 使用 Kerberos 时,请包含密钥路径 确保在 Airflow 连接设置中正确配置 hdfs_conn_id。 使用 Kerberos 运行 Hive 查询要在 Kerberos 安全的 Hadoop 集群上执行 Hive 查询,请使用启用了身份验证的 HiveOperator 应在 Airflow 中预配置 hive_kerberos 连接并启用 Kerberos 身份验证。 使用 Kerberos 提交 Spark 作业要在 Kerberos 安全的环境中运行 Spark 作业,请配置 SparkSubmitOperator 确保在 Airflow 连接中正确配置 spark_kerberos。 在 Apache Airflow 中使用 Kerberos 身份验证 Airflow 支持跨不同组件的 Kerberos 身份验证
验证 Kerberos 身份验证 要检查 Kerberos 身份验证是否有效,请运行 这应该显示活动的 Kerberos 票证及其到期时间。 如果身份验证失败,请使用以下命令手动续订票证 排查 Kerberos 身份验证问题
为了进一步优化,请考虑自动执行密钥表轮换、监视票证续订以及使用 Airflow 的日志记录功能来跟踪身份验证问题。 |
我们请求您订阅我们的新闻通讯以获取最新更新。