代码清单二:在keystone.conf中配置自定义LDAP后端
配置LDAP后端:
url = ldap://ldap.your.com
user = ou=Users,dc=your,dc=com
suffix = dc=your,dc=com
query_scope = sub
user_tree_dn = ou=Users,dc=your,dc=com
user_objectclass = inetOrgPerson
user_domain_id_attribute = businessCategory
user_id_attribute = cn
user_name_attribute = sn
user_mail_attribute = email
user_pass_attribute = userPassword
user_allow_create = False
user_allow_update = False
user_allow_delete = False
tenant_tree_dn = ou=Groups,dc=example,dc=com
tenant_objectclass = groupOfNames
tenant_domain_id_attribute = businessCategory
tenant_id_attribute = cn
tenant_name_attribute = ou
tenant_domain_id_attribute = co
tenant_id_attribute = dept
tenant_name_attribute = dept
tenant_allow_create = False
tenant_allow_update = False
tenant_allow_delete = False
代码清单三:在keystone.conf中配置原LDAP后端
同步LDAP用户帐号
由于本示例自定义后端没有自定义user、tenant等的创建、修改、删除等方法,因此需要手工同步已有LDAP中的用户帐号。
同步帐号有多种方法,比如利用自定义后端中保留的本地admin帐号,可以通过keystone的Rest API利用脚本自动同步,或直接通过admin帐号手工创建。
测试及结果
本示例,目的仅是验证该自定义LDAP后端的可行性,因此仅通过admin帐号手工同步少数LDAP进行验证。
下图为LDAP帐号liuclbj@cn.ibm.com创建本地记录。
注意:密码处可随意填写,在自定义后端中,仅需要MySQL中有该用户存在,并且配置有相应的项目及角色,实际验证时则是通过LDAP验证。因此该处的密码无效。
帐号创建成功以后,可以退出当前的admin帐号,测试以LDAP帐号登陆。
下图为成功登录后:
总结
通过上面的简单示例,我们可以验证自定义keystone验证后端的可行性,以此展现OpenStack的灵活性及或扩展性。当然,本文仅是一个简化的可行性验证,在实际企业组织中,根据组织自身的需求不同,可以自定义一个功能丰富并且完整的验证后端,以实现和满足企业内部自身的需求。
通过本文,仅希望能够以细微的需求来展现OpenStack作为一个云计算平台的开放性、灵活性以及易扩展性。以期能起到抛砖引玉的效果。
作者简介:
刘成龙
IT工程师
任职于某大型外资IT企业,参与企业私有云基础架构设计、私有云部署,具有丰富的IT基础架构、虚拟化及孕计算经验,熟悉主流的虚拟化技术,熟悉IBM的x86架构服务器、刀片服务器和磁盘存储产品。
