LDAP认证源支持从LDAP导入用户和组,其中支持Microsoft Active Directory (MSAD) 和OpenLDAP,以及通用的LDAP服务端。

域,用户和组的定义来源于LDAP。不允许添加删除。不可修改字段如下表所示。

资源 不可修改字段名称
name
name, displayname
用户 name, displayname, enabled, mobile, email, password

ldap认证源的基础配置如下:

配置项 说明 举例
url 服务器地址,必须以ldap://或者ldaps://开头 ldap://192.168.222.201:389
suffix LDAP根路径的DN DC=ipa,DC=yunionyun,DC=com
user 接入LDAP只读账户的用户名,对于AD,是用户名,对于openldap,是用户的DN UID=dcadmin,CN=users,CN=accounts,DC=ipa,DC=yunionyun,DC=com
password 接入LDAP只读账户的密码  

对于导入单域的模板,需要指定user_tree_dn和group_tree_dn两个参数

配置项 说明 举例
user_tree_dn 用户查找根路径,将会在该路径下递归查找用户 CN=users,CN=accounts,DC=ipa,DC=yunionyun,DC=com
group_tree_dn 组查找跟路径,将会在该路径下递归查找组 CN=groups,CN=accounts,DC=ipa,DC=yunionyun,DC=com

对于导入多域的模板,需要指定domain_tree_dn

配置项 说明 举例
domain_tree_dn 域查找根路径,将会在该路径下的一级子节点中查找域 OU=集团公司,DC=yuniondc,DC=com

对于非模板的LDAP配置,有如下的配置项:

配置项 说明 msad_one_domain默认值 msad_multi_domain默认值 openldap_one_domain默认值
query_scope 默认查找范围:tree_dn下的整个substree(sub)还是当前级别(one) NA NA NA
import_domain 是否导入域 false true false
domain_tree_dn 如果import_domain为true,导入域信息的根路径 NA - NA
domain_filter 查找域的过滤器 NA - NA
domain_objectclass 对应域的对象的class NA organizationalUnit NA
domain_id_attribute 域ID对应的属性名 NA objectGUID NA
domain_name_attribute 域名称对应的属性名 NA name NA
domain_query_scope 查找域信息的范围:sub或one NA one NA
user_tree_dn 导入用户信息的根节点的DN,如果import_domain为true,则该字段无意义 - NA -
user_filter 查找用户的过滤器 - - -
user_objectclass 对应用户的对象的class organizationalPerson organizationalPerson person
user_id_attribute 用户ID对应的对象属性名 sAMAccountName sAMAccountName uid
user_name_attribute 用户名对应的对象属性名 sAMAccountName sAMAccountName uid
user_enabled_attribute 用户启用的属性名 userAccountControl userAccountControl nsAccountLock
user_enabled_mask 用户启用属性对应的掩码 2 (0x10) 2 (0x10) 0
user_enabled_default 用户启用属性的缺省值 512 512 FALSE
user_enabled_invert 用户启用属性是否取反 true true true
user_additional_attribute_mapping 用户额外属性的映射表 mail:email mail:email mail:email
user_query_scope 查找用户信息的范围:sub或one sub sub sub
group_tree_dn 导入组信息的根路径 - - -
group_filter 查找组的过滤器 - - -
group_objectclass 对应组的对象的class group group ipausergroup
group_id_attribute 组ID对应的对象属性名 sAMAccountName sAMAccountName cn
group_name_attribute 组名对应的对象属性名 name name cn
group_member_attribute 组的成员属性对应的对象属性名 member member member
group_members_are_ids 租的成员列表包含的是用户ID还是用户名 false false false
group_query_scope 查找组信息的范围:sub或one sub sub sub

认证源的同步

对于ldap等可以全量同步的认证源,会定期全量同步域、用户和组信息,同步周期默认15分钟,可以通过参数 default_sync_interval_seoncds 配置。

配置命令

LDAP认证源支持三种模式:

  1. 单域模式

将指定LDAP dn_tree下的用户和组导入到指定的一个域下。其中,该模式支持两种导入模板,一种是 msad_one_domain,也就是 MSAD 的导入模板,另外一种是 openldap_one_domain, 也就是OpenLDAP的导入模板。

climc idp-create-ldap-single-domain --target-domain example_domain --url ldap://192.168.222.102 --suffix 'DC=ipa,DC=example,DC=com' --user 'UID=dcadmin,CN=users,CN=accounts,DC=ipa,DC=example,DC=com' --password <password> --user-tree-dn 'CN=users,CN=accounts,DC=ipa,DC=example,DC=com' --group-tree-dn 'CN=groups,CN=accounts,DC=ipa,DC=example,DC=com' mainLdap openldap_one_domain

  1. 多域模式

将指定LDAP dn_tree下的每个OU导入为一个新的域,将对应OU下的用户和组分别导入到对应域下。该模式只支持一种模板 msad_multi_domain,也就是只支持 MSAD 的导入(因为只有MSAD支持OU的概念)。

climc idp-create-ldap-multi-domain --url 'ldap://192.168.222.102' --suffix 'DC=example,DC=com' --user 'dcadmin' --password <password> --domain-tree-dn 'OU=集团公司,DC=example,DC=com' multildap msad_multi_domain

  1. 自定义模式

完全自定义模式,需要用户指定所有的LDAP参数。这种模式参数比较复杂,只有在以上模式不生效情况下才建议使用。

climc idp-create-ldap [--no-auto-create-project] [--target-domain TARGET_DOMAIN] [--auto-create-project] [--query-scope {one,sub}] [--user USER] [--password PASSWORD] [--disable-user-on-import] [--domain-tree-dn DOMAIN_TREE_DN] [--domain-filter DOMAIN_FILTER] [--domain-objectclass DOMAIN_OBJECTCLASS] [--domain-id-attribute DOMAIN_ID_ATTRIBUTE] [--domain-name-attribute DOMAIN_NAME_ATTRIBUTE] [--domain-query-scope {one,sub}] [--user-tree-dn USER_TREE_DN] [--user-filter USER_FILTER] [--user-objectclass USER_OBJECTCLASS] [--user-id-attribute USER_ID_ATTRIBUTE] [--user-name-attribute USER_NAME_ATTRIBUTE] [--user-enabled-attribute USER_ENABLED_ATTRIBUTE] [--user-enabled-mask USER_ENABLED_MASK] [--user-enabled-default USER_ENABLED_DEFAULT] [--user-enabled-invert] [--user-additional-attribute USER_ADDITIONAL_ATTRIBUTE] [--user-query-scope {one,sub}] [--group-tree-dn GROUP_TREE_DN] [--group-filter GROUP_FILTER] [--group-objectclass GROUP_OBJECTCLASS] [--group-id-attribute GROUP_ID_ATTRIBUTE] [--group-name-attribute GROUP_NAME_ATTRIBUTE] [--group-member-attribute GROUP_MEMBER_ATTRIBUTE] [--group-members-are-ids] [--group-query-scope {one,sub}] <--url URL> <--suffix SUFFIX> <NAME>

 
Logo

开源、云原生的融合云平台

更多推荐