Airflow LDAP Mapping 不同 group 为不同权限
说明
由于工作需要搭建Airflow,需求是为Airflow 建立LDAP认证,并且不同的LDAP group 分别给予不同的Airflow 权限
比如:
- 已存在LDAP group -> test_users , test_admins
- Airflow 启用LDAP认证
- 使test_users 组用户登陆Airflow为user 权限
- 使test_admin 组用户登陆Airflow为admin 权限
分析:
Airflow 是采用Flask AppBuilder 作为认证模块的,查了Flask 的官方文档给的demo,所推荐配置的内容如下:
#身份验证:LDAP
#此方法将根据LDAP服务器验证用户的凭据。
#警告:要使用LDAP,您需要安装python-ldap。
#对于典型的Microsoft AD设置(所有用户可以预制LDAP搜索):
AUTH_TYPE = AUTH_LDAP
AUTH_LDAP_SERVER = "ldap://ldap.example.com"
AUTH_LDAP_USE_TLS = False
# registration configs
AUTH_USER_REGISTRATION = True # allow users who are not already in the FAB DB
AUTH_USER_REGISTRATION_ROLE = "Public" # this role will be given in addition to any AUTH_ROLES_MAPPING
AUTH_LDAP_FIRSTNAME_FIELD = "givenName"
AUTH_LDAP_LASTNAME_FIELD = "sn"
AUTH_LDAP_EMAIL_FIELD = "mail" # if null in LDAP, email is set to: "{username}@email.notfound"
# bind username (for password validation)
AUTH_LDAP_USERNAME_FORMAT

本文介绍了如何配置Airflow以使用LDAP进行认证,并根据不同的LDAP group赋予用户不同的权限,如将test_users组设置为user权限,test_admins组设置为admin权限。实现这一目标涉及对Flask AppBuilder的深入理解和配置。
最低0.47元/天 解锁文章
5181





