如何在 Airflow 中设置 LDAP (RBAC)?

How to setup LDAP (RBAC) in Airflow?

我目前遇到的问题是 LDAP 设置似乎不适用于 Airflow。我当前的代码没有生成登录屏幕,docker 容器中也没有日志显示它正在尝试连接到 LDAP 服务器。我试图按照这些教程进行操作,但它们似乎什么也没做(即未使用 webserver_config.pyTutorialOne TutorialTwo

如能提供有关连接工作原理的任何信息,我们将不胜感激!

webserver_config.py:

import os
from airflow import configuration as conf
from flask_appbuilder.security.manager import AUTH_LDAP
basedir = os.path.abspath(os.path.dirname(__file__))

SQLALCHEMY_DATABASE_URI = conf.get('core', 'SQL_ALCHEMY_CONN')

CSRF_ENABLED = True

AUTH_TYPE = AUTH_LDAP

AUTH_ROLE_ADMIN = 'Admin'
AUTH_USER_REGISTRATION = True

AUTH_USER_REGISTRATION_ROLE = "Admin"
#AUTH_USER_REGISTRATION_ROLE = "Viewer"

AUTH_LDAP_SERVER = 'ldapserveraddressherebutIwon'tshowyousorry'
AUTH_LDAP_SEARCH =  "DC=ms,DC=ds,DC=uhc,DC=com"
AUTH_LDAP_BIND_USER = 'CN=Users,DC=ms,DC=ds,DC=uhc,DC=com'
AUTH_LDAP_BIND_PASSWORD ="*******************"
AUTH_LDAP_UID_FIELD = 'sAMAccountName'
AUTH_LDAP_USE_TLS = False
AUTH_LDAP_ALLOW_SELF_SIGNED = False
# Get relative path for CA certificate file
script_dir = os.path.dirname(__file__)
AUTH_LDAP_TLS_CACERTFILE = script_dir + "ca.cer"

我已经从 airflow.cfg 中删除了 authenticate = Trueauth_backend = airflow.contrib.auth.backends.ldap_auth,我的 webserver_config.py 在同一个文件夹中使用。

这可以通过airflow.cfg来实现。

请阅读下面的 LDAP 部分并告诉我。

https://airflow.apache.org/docs/stable/security.html