Atom feed of this document
  

 将LDAP当作后端认证的集成

身份后端包括用户,组,以及组成员列表的信息。与LDAP集成的身份后端允许管理员使用LDAP中的用户和组。

[重要]重要

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

 

将LDAP当作后端认证的集成

  1. keystone.conf文件中启用LDAP身份驱动。这允许LDAP当作身份的后端:

    [identity]
    #driver = keystone.identity.backends.sql.Identity
    driver = keystone.identity.backends.ldap.Identity
  2. 在LDAP目录中船舰组织单元(OU),并在keystone.conf文件中定义响应的位置:

    [ldap]
    user_tree_dn = ou=Users,dc=example,dc=org
    user_objectclass = inetOrgPerson
    
    group_tree_dn = ou=Groups,dc=example,dc=org
    group_objectclass = groupOfNames
    [注意]注意

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

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

    [ldap]
    user_allow_create = False
    user_allow_update = False
    user_allow_delete = False
    
    group_allow_create = False
    group_allow_update = False
    group_allow_delete = False
  4. 重启OpenStack身份服务:

    # service keystone restart
    [警告]警告

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

 

集成多后端的身份服务

  1. /etc/keystone/keystone.conf文件中设置以下属性:

    1. 启用LDAP驱动:

      [identity]
      #driver = keystone.identity.backends.sql.Identity
      driver = keystone.identity.backends.ldap.Identity
    2. 启用特定域驱动:

      [identity]
      domain_specific_drivers_enabled = True
      domain_config_dir = /etc/keystone/domains
  2. 重启服务:

    # service keystone restart
  3. 使用仪表盘或OpenStack客户端命令行列出域。关于OpenStack客户端命令行列表请参考 命令列表

  4. 使用OpenStack仪表盘或OpenStack客户端命令行创建域。

  5. 针对每个域,在/etc/keystone/domains 目录下创建一个特定的配置文件。使用的命名格式为keystone.DOMAIN_NAME.conf,其中DOMAIN_NAME是上面步骤中所分配动域名。

    [注意]注意

    在文件/etc/keystone/domains/keystone.DOMAIN_NAME.conf中设置的属性会覆盖掉/etc/keystone/keystone.conf 文件中设置的属性。

  6. /etc/keystone/domains/keystone.DOMAIN_NAME.conf文件中定义目标LDAP服务器。例如:

    [ldap]
    url = ldap://localhost
    user = dc=Manager,dc=example,dc=org
    password = samplepassword
    suffix = dc=example,dc=org
    use_dumb_member = False
    allow_subtree_delete = False
  7. 在LDAP目录中创建组件单元(OU),然后在文件/etc/keystone/domains/keystone.DOMAIN_NAME.conf 中定义它们对应的位置。例如:

    [ldap]
    user_tree_dn = ou=Users,dc=example,dc=org
    user_objectclass = inetOrgPerson
    
    group_tree_dn = ou=Groups,dc=example,dc=org
    group_objectclass = groupOfNames
    [注意]注意

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

    user_objectclass = person
  8. 强烈建议LDAP的集成为只读。这些权限可应用到对象类型均在/etc/keystone/domains/keystone.DOMAIN_NAME.conf文件中:

    [ldap]
    user_allow_create = False
    user_allow_update = False
    user_allow_delete = False
    
    group_allow_create = False
    group_allow_update = False
    group_allow_delete = False
  9. 重启OpenStack身份服务:

    # service keystone restart
    [警告]警告

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

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

过滤器

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

[ldap]
user_filter = (memberof=cn=openstack-users,ou=workgroups,dc=example,dc=org)
group_filter = 
身份属性映射

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

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

举例来说,你可以在keystone.conf中掩饰活动目录账户状态属性:

[ldap]
user_id_attribute      = cn
user_name_attribute    = sn
user_mail_attribute    = mail
user_pass_attribute    = userPassword
user_enabled_attribute = userAccountControl
user_enabled_mask      = 2
user_enabled_invert    = false
user_enabled_default   = 51
user_default_project_id_attribute =
user_attribute_ignore = default_project_id,tenants
user_additional_attribute_mapping =

group_id_attribute     = cn
group_name_attribute   = ou
group_member_attribute = member
group_desc_attribute   = description
group_attribute_ignore =
group_additional_attribute_mapping =
启用模拟

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

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

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


loading table of contents...