Airflow支持与Kerberos进行身份验证和授权。Kerberos是一种网络身份验证协议,它基于'票证”系统来允许客户端在不直接向服务器发送凭据的情况下进行身份验证。以下是一些与Kerberos集成的步骤:
安装Kerberos客户端和服务器。
在Airflow的配置文件中添加以下配置项,使其与Kerberos集成:
[auth]
auth_backend = airflow.contrib.auth.backends.kerberos_auth
[kerberos]
ccache = /tmp/airflow_krb5_ccache
principal = airflow@EXAMPLE.COM
keytab = /path/to/airflow.keytab
其中,auth_backend
指定身份验证后端为Kerberos;ccache
指定Kerberos凭据缓存文件的位置;principal
指定Airflow用于身份验证的Kerberos主体;keytab
指定保存Kerberos密钥的文件路径。
kadmin.local -q "addprinc airflow"
kadmin.local -q "ktadd -k /path/to/airflow.keytab airflow"
需要注意的是,如果您使用的是Kerberos 5,而且您的系统不支持Kerberos DNS解析,则必须单独配置主机名和IP地址的映射关系,以便Kerberos正常工作。
参考链接:https://airflow.apache.org/docs/apache-airflow/1.10.15/security/kerberos.html