...
注意 |
---|
用户组的信息在登录的时候进行同步,根据用户的组信息再自动创建组,这个组是AD域组的信息(另外配置的AD域用户也会自动同步过来) |
特性 | AD域 | LDAP协议 | LDAPS协议 |
---|---|---|---|
性质 | 目录服务实现 | 访问目录服务的协议 | LDAP的安全版本 |
开发者 | 微软 | 开放标准(IETF) | 开放标准(IETF) |
加密 | 支持多种加密方式 | 默认不加密 | 强制SSL/TLS加密 |
端口 | 多端口(389,636,88,3268,3269,9389等) | 389 | 636 |
依赖关系 | 实现LDAP协议 | AD域使用LDAP作为通信协议 | 是LDAP的安全增强 |
使用说明
扩展包部署
...
参数名 | 含义 | 原参数值 | 修改 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
provider_url
| 配置AD域服务器的地址与端口 | ldap\://ADServer\:389 | 值说明
例如
provider_url = ldap\://10.10.201.225\:389
provider_url = ldaps\://10.10.201.225\:636
参考
| ||||||||||||||||||||||||||||||||||||||||||||
baseName
| AD域域名 | 值说明
例如 域名为ADLogin.com,此处值为 DC\=ADLogin,DC\=com baseName = DC\=ADLogin,DC\=com 域名为hr.corp.example.com,此处值为 DC\=hr,DC\=corp,DC\=example,DC\=com baseName = DC\=hr,DC\=corp,DC\=example,DC\=com 注意 可以使用 Softerra LDAP Browser 之类的工具查看对应的域名 | |||||||||||||||||||||||||||||||||||||||||||||
login_user | 可以登录到windows域服务器的用户,用于获取用户信息 | username | 值说明 域用户的用户名 例如 login_user = administrator | ||||||||||||||||||||||||||||||||||||||||||||
login_password | 可以登录windows域服务器的用户的密码,用于获取用户信息 | password | 值说明 域用户的密码 例如 login_password = Smart2025 注意 请写明文密码,产品会自动加密回写 | ||||||||||||||||||||||||||||||||||||||||||||
principal_prefix | 配置用户名前缀 | MyDomain\\ | 值说明 通常是域的名称+\\ ,这里域的名称是域名的第一个值 例如 域名为 smartbi.local,此处值为 smartbi\\ principal_prefix = smartbi\\ 注意 此配置项与principal_suffix只能二选一,不可同时配置,一般情况下只配置principal_prefix即可 参考 | ||||||||||||||||||||||||||||||||||||||||||||
principal_suffix | 配置用户名后缀 | 值说明 通常是@+域的名称, 例如 域名为 smartbi. local,则此处值为 @smartbi. local principal_suffix = @smartbi. local 注意 此配置项与principal_prefix只能二选一,不可同时配置,若是配置principal_prefix并排除其他问题后,可考虑改为配置此项,配置此项时,principal_prefix需为空 | |||||||||||||||||||||||||||||||||||||||||||||
filterPrefix | 限制AD域查询范围的前缀 | (&(objectCategory\=Person)(sAMAccountName\= | 不需要修改 | ||||||||||||||||||||||||||||||||||||||||||||
filterSuffix | 限制AD域查询范围的后缀 | )) | 不需要修改 | ||||||||||||||||||||||||||||||||||||||||||||
initial_context_factory | JAVA通过该工厂类 | com.sun.jndi.ldap.LdapCtxFactory | 不需要修改 | ||||||||||||||||||||||||||||||||||||||||||||
security_protocol | 当使用的是LDAPS时,需要设置 | 无值 | 值说明 填写LDAPS对应使用的加密通信方式,当前只支持 SSL。 同时provider_url设置为LDAPS协议头和端口,请参考 AD域(LDAP/LDAPS)登录验证(完善中) 例如 security_protocol = ssl 注意 无值时,等同于 不使用 ssl 加密通信方式 | ||||||||||||||||||||||||||||||||||||||||||||
isDeleteUser | 在用户登录时,尝试登录一个AD域没有而Smartbi中有且不在白名单中的用户时,是否要删除该用户 | 无值 | 值说明
注意 无值时,等同于为 true | ||||||||||||||||||||||||||||||||||||||||||||
moveDisabledGroup
| 用于存放AD域没有而Smartbi中有的用户 注意:当isDeleteUser=false时,这个配置项才会被用上 | 无值 | 值说明 填写的是对应的用户组的ID 例如 moveDisabledGroup = DEPARTMENT 注意 无值时,等同于为 DEPARTMENT | ||||||||||||||||||||||||||||||||||||||||||||
white_show_setting | 是否在【系统选项】中显示【AD账号白名单】选项 | 无值 | 值说明
注意 无值时,等同于为 true 场景 | ||||||||||||||||||||||||||||||||||||||||||||
admin_default_login | admin账号是否可以绕过AD域验证而直接走Smartbi的自身的验证 注意:默认admin不进行AD域验证 | 无值 | 值说明
例如 admin_default_login = true 注意 无值时,等同于为 true | ||||||||||||||||||||||||||||||||||||||||||||
create_user_ad_check | Smartbi中创建用户时,是否在点击“保存”时,使用创建用户的“名称”(即用户名)到AD域中进行校验 | 无值 | 值说明
例如 create_user_ad_check = false 注意 无值时,等同于为 false | ||||||||||||||||||||||||||||||||||||||||||||
default_create_user | AD域用户登录时,是否同步该用户到Smartbi中 注意:默认会同步该用户到Smartbi中 | 无值 | 值说明
例如 default_create_user= true 注意 无值时,等同于为 true 场景 | ||||||||||||||||||||||||||||||||||||||||||||
default_syn_group | AD域用户登录时,是否同步该用户的组到Smartbi中 注意:默认会同步该用户的组到Smartbi中 | 无值 | 值说明
例如 default_syn_group= true 注意 无值时,等同于为 true |
...
t_ext_ad_whiteinfo(用于记录白名单的用户)
字段名 | 类型 | 说明 |
c_id | varchar(255) | 用户ID |
c_type | varchar(255) | 类型(用户USER、用户组GROUP、角色ROLE,所有用户EVERYONE) |
c_is_descend | varchar(255) | 是否应用于子孙组用户(只对用户组生效) |
c_extend | longtext | 所选节点扩展内容(包含别名等信息) |
userPrincipalName 和 sAMAccountName
...
userPrincipalName 和 sAMAccountName 是AD中用于标识用户对象的两种不同属性,区别如下:
- userPrincipalName 一般遵循电子邮件地址的格式,如user1@domain.com ,提供了一种与用户登录名相似的方式,便于用于以一种直观的方式登录到他们的账户,可以在林中的任何域中唯一标识一个用户,并且不强制要求用户的登录名与其电子邮件地址相同,也不直接关联到特定的NetBIOS域名,适合用于跨多个域的环境,也就是林中唯一。
- sAMAccountName 采用传统的NetBIOS名称格式,如DOMAIN\user1,一般用于兼容旧版本的Windows操作系统(如Windows NT),这个属性是每个用户账号必须拥有的,并且在同一个域中,必须是唯一的,而且有长度限制为20个字符。缺乏多域的支持,也就是域中唯一。
基于上述知识点,可只principal_prefix 和 principal_suffix 在 ad.properties中只需要配置其中一个即可
- principal_prefix:适用于 userPrincipalName 的方式登录到域。
- principal_suffix:适用于 sAMAccountName 的方式登录到域。
可以在域中的用户属性里看到这两个值的情况:
注意 |
---|
其中的sAMAcountName是当前域内的显示形式,因此不会增加DOMAIN\前缀,但是在JNDI中使用sAMAcountName登录时需要拼接DOMAIN\前缀,这个DOMAIN\可以在域的powersheel中执行命令 (Get-ADDomain).NetBIOSName 来获取。 |
参考
t_ext_ad_users(用于记录从AD中同步而来的用户)
字段名
类型
说明
c_id
varchar(255)
用户ID
c_name
varchar(255)
用户名
c_alias
varchar(255)
用户别名
c_group
varchar(255)
用户所在组的ID
c_extend
longtext
问题排查
若是配置后发现不能正常使用,可以通过下面方法来获取错误信息,以便定位到问题原因。
...