Atom feed of this document
  

 集成LDAP为分配的后端

当你配置OpenStack身份服务来使用LDAP服务器时,你可以使用assignment这个特性将认证和授权分离。集成LDAP作为分配的后端允许管理在LDAP中去使用项目(租户),角色,域和角色分配。

[注意]注意

不建议使用LDAP作为分配的后端。

[注意]注意

OpenStack身份服务不支持指定域的分配后端。

[重要]重要

对于OpenStack身份分配访问LDAP服务器,你必须在 keystone.conf文件中定义目标LDAP服务器。更多信息,请参考“集成LDAP身份认证”一节

 

集成LDAP为分配的后端

  1. 启用分配驱动,在[assignment]一节,设置driver的配置键为keystone.assignment.backends.sql.Assignment:

    [assignment]
    #driver = keystone.assignment.backends.sql.Assignment
    driver = keystone.assignment.backends.ldap.Assignment
  2. 在LDAP目录中创建组织单元(OU),然后在keystone.conf文件中定义它们相应的位置:

    [ldap]
    role_tree_dn =
    role_objectclass = inetOrgPerson
    
    project_tree_dn = ou=Groups,dc=example,dc=org
    project_objectclass = groupOfNames
    [注意]注意

    这些模式属性均是可扩展的,用来兼容多种模式。举例来说,此实体映射到活动目录中的 groupOfNames属性:

    project_objectclass = groupOfNames
  3. 强烈建议LDAP的集成为只读。这些权限可应用到对象类型均在keystone.conf文件中:

    [ldap]
    role_allow_create = False
    role_allow_update = False
    role_allow_delete = False
    
    project_allow_create = False
    project_allow_update = False
    project_allow_delete = False
  4. 重启OpenStack身份服务:

    # service keystone restart
    [警告]警告

    在服务重启期间,认证和授权不可用。

外挂LDAP集成设置. /etc/keystone/keystone.conf设置这些属性,用于单个的LDAP服务器,或者是在/etc/keystone/domains/keystone. DOMAIN_NAME.conf中设置,用于多后端。

过滤器

使用过滤器通过LDAP来控制数据表现的范围。

[ldap]
project_filter = (member=cn=openstack-user,ou=workgroups,dc=example,dc=org)
role_filter = 
[警告]警告

过滤方法

分配属性映射

掩饰账户状态值(包括任何额外的属性映射),用于兼容多种目录服务。多余的账户由user_filter过滤。

设置属性,忽略属性列表被更新。

[ldap]
role_id_attribute = cn
role_name_attribute = ou
role_member_attribute = roleOccupant
role_additional_attribute_mapping =
role_attribute_ignore =

project_id_attribute = cn
project_name_attribute = ou
project_member_attribute = member
project_desc_attribute = description
project_enabled_attribute = enabled
project_domain_id_attribute = businessCategory
project_additional_attribute_mapping =
project_attribute_ignore =
启用模拟

另一种方法来确定项目是否启用或者是否通过检查,如果项目是模拟组的一员的话。

当使用启用模拟时,使用组实体的DN来掌控已启用的项目。

[ldap]
project_enabled_emulation = false
project_enabled_emulation_dn = false
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...