devpi ldap:devpi服务器的ldap身份验证
devpi-ldap的Python项目详细描述
devpi ldap:devpi服务器的ldap身份验证
用于devpi server>;=2.1.0。
安装
devpi-ldap需要与devpi-server一起安装。
您可以使用以下命令安装它:
pip install devpi-ldap
对于devpi-server,不需要配置来激活插件,因为它将使用setuptools入口点机制通过调用钩子自动发现插件。但是,您需要通过--ldap-config命令行选项将带有yaml配置文件的路径传递给devpi-server。
下面是LDAP配置的详细信息。
配置
名为devpi-ldap的脚本可用于测试LDAP配置。
要配置LDAP,请在devpi-ldap键下使用包含另一个字典的字典创建一个YAML文件,选项如下:
- url
- LDAP服务器的URL。 使用ldaps://启用ssl。 目前不执行证书验证。
- user_template
- 为用户生成可分辨名称的模板。 如果结构是固定的,这比指定{TT11} $更快,但是^ {TT2}$不能知道用户是否存在。
- user_search
- 如果不能或不想使用user_template,则这些是用户可分辨名称的搜索设置。 您可以在搜索筛选器中使用username。 请参阅下面的详细信息。
- group_search
- 用户组对象的搜索设置。 您可以在搜索筛选器中使用username和userdn(可分辨名称)。 请参阅下面的详细信息。
- referrals
- 是否跟踪转诊。 在许多情况下,通过windows上的active directory使用ldap时,这需要设置为false。 默认值是true。
- reject_as_unknown
- 将所有失败的身份验证尝试报告为unknown,而不是 reject。这很有用,例如,如果使用提供的凭据绑定 到LDAP,在这种情况下,我们无法区分身份验证失败和 未知用户。unknown需要让其他身份验证挂钩尝试 对用户进行身份验证。
- tls
- 的ldap3.Tls object参数 传输层安全,用于LDAPS连接。
user_search和group_search设置是具有以下选项的词典:
- base
- 要搜索的基本位置。
- filter
- 搜索筛选器。 要使用替代品,请将它们放在大括号中。 示例:(&(objectClass=group)(member={userdn}))
- scope
- 搜索范围。 有效值是base-object、single-level和whole-subtree。 默认值是whole-subtree。
- attribute_name
- 应该从搜索结果中提取的属性的名称。
- userdn
- 应用于搜索操作的用户的可分辨名称。 对于user_search,如果您没有匿名用户搜索,或者对于group_search如果用户无法搜索自己的组,则需要将其设置为具有必要权限的用户。
- password
- 用户在userdn中的密码。
然后,yaml文件应该类似于此:
---devpi-ldap:url:ldap://example.comuser_template:CN={username},CN=Partition1,DC=Example,DC=COMgroup_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=group)(member={userdn}))attribute_name:CN
用户搜索和活动目录的示例如下:
---devpi-ldap:url:ldap://example.comuser_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=user)(sAMAccountName={username}))attribute_name:distinguishedNamegroup_search:base:CN=Partition1,DC=Example,DC=COMfilter:(&(objectClass=group)(member={userdn}))attribute_name:CN
更改日志
1.2.2-2018年5月28日
- 更多ldap3 2.x修复。 [fschulze]
1.2.1-2018年5月25日
- 修复与ldap3 2.x的兼容性。 [fschulze,磨料(james laird wah)]
- 已停止使用Python2.6进行测试,但未进行任何破坏兼容性的更改。
1.2.0-2016年3月25日
- 在配置中添加对tls参数的支持。 [贾拉科(Jason R.Coombs)]
- 允许通过python -mdevpi-ldap调用并修复python 3的cli。 [贾拉科]
- 在身份验证失败时将退出代码添加到测试脚本。 [贾拉科]
1.1.1-2016-01-28
- 设置最小值ldap3库的版本,它在调试中添加了密码隐藏 登录中。 [卡纳塔格(乔瓦尼卡纳塔)、罗德克鲁蒂埃(罗德里格克鲁蒂埃)、弗斯丘尔泽]
- 更改已重命名的LDAP库的依赖项。 [库米]
- 修复问题5:DN和DistinguishedName可能显示为顶级响应 属性而不是属性列表。 [凯恩斯(布莱恩·罗奇)]
- 修复问题24:忽略其他搜索结果数据。 [邦萨尼(帕特里西奥·邦萨尼),弗斯丘尔泽]
1.1.0-2014年11月10日
- 添加reject_as_unknown选项 [大卫佐顿(大卫佐顿)]
1.0.1-2014年10月10日
- 修复插件挂钩 [fschulze]
1.0.0-2014年9月22日
- 初次发行 [弗斯丘尔泽(弗洛里安·舒尔泽)]