gpt4 book ai didi

ldap - 具有 RBAC 功能的 Airflow LDAP 身份验证

转载 作者:行者123 更新时间:2023-12-03 17:25:50 25 4
gpt4 key购买 nike

我正在尝试使用 RBAC 功能启用 Airflow LDAP 身份验证,并进行了以下更改:

  • 从airflow.cfg 中删除了LDAP 部分
  • 修改了airflow.cfg:添加了rbac = true并删除 authentication = True在 [网络服务器] 部分下
  • AIRFLOW_HOME 中创建 webserver_config.py 文件目录

  • 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_LDAP_SERVER = ‘ldaps://ldap.xxx.yyy.net:636‘

    AUTH_LDAP_SEARCH = “ou=Users,o=corp”

    AUTH_LDAP_BIND_USER = ‘cn=ldap-proxy,ou=Users,o=corp’

    AUTH_LDAP_BIND_PASSWORD = ‘YOUR_PASSWORD’

    AUTH_LDAP_UID_FIELD = ‘uid’

    AUTH_LDAP_USE_TLS = False

    AUTH_LDAP_ALLOW_SELF_SIGNED = False

    AUTH_LDAP_TLS_CACERTFILE = ‘/etc/ssl/certs/ldap.crt’

    完成上述更改后,我们就可以使用 LDAP 凭据登录 Airflow。但问题是所有用户都有 Admin自我注册后的角色,
    因为我们在 AUTH_USER_REGISTRATION_ROLE = “Admin” 中给出了这个值.

    我们如何动态分配 AUTH_USER_REGISTRATION_ROLE基于用户 LDAP 角色?
    我们有不同的用户,如测试人员、开发人员和操作用户,但使用上述 web 服务器配置文件,所有用户都会自动分配 Admin角色通过 Flask_appbuilder.security 在 manager.py 文件下。

    有什么方法可以创建自定义管理器文件,登录时引用此自定义文件而不是 Flask_appbuilder.security.manager.py 文件。

    最佳答案

    您可以尝试使用 AUTH_LDAP_SEARCH_FILTER

    Filter or limit allowable users from the LDAP server, e.g., only the people on your team. AUTH_LDAP_SEARCH_FILTER = "(memberOf=cn=group name,OU=type,dc=ex ,cn=com)"


    从:
    https://github.com/dpgaspar/Flask-AppBuilder/blob/master/docs/config.rst
    Airflow >= 1.10 使用 FlaskAppBuilder 进行 RBAC 身份验证
    虽然还没有测试过

    关于ldap - 具有 RBAC 功能的 Airflow LDAP 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61074188/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com