历史版本2 :多域LDAP认证增强版插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本插件版本功能变更
11.0V1.7.3

基于原同步LDAP域用户插件,新增支持从多域同步以及LDAPS

11.0V1.7.5

新增支持同步时重新同步用户类型,优化同步速度,删除插件不会清空配置,支持部分特殊账号,支持多域重名用户同步,新增用户类型选择限制(当前用户类型配置需要同时勾选“平台用户”类型才能生效)

11.0V1.7.7

新增适配集群

11.0V1.7.9

新增支持维持用户名大小写不变

11.0V1.8.0

新增支持同步用户属性扩展

11.0V1.8.3

ldap动态配置页面新增“节点名称”编辑框。ldap同步页面新增显示“节点名称”,支持搜索名称。ldap动态支持备份同步。新增GetUserAdDomain()函数,可通过函数获取用户所属域

11.0V1.8.7

优化SSL认证证书验证(详情见本文3.2节)。优化账号重复策略、账号转换策略体验过程(详情见本文3.4节)

1.2 应用场景

用户信息存储在多个 LDAP 认证服务器中,管理员希望在数据决策系统中使用插件实现多域 LDAP 认证,并将 LDAP 服务器中的用户直接同步到数据决策系统中,而且相关的设置可以直接复用 LDAP 认证的配置。

  • 基于原同步 LDAP 域用户插件,新增支持从多个 LDAP 域同步用户。

  • 支持配置 LDAPS,并同步多域用户。

  • 支持单个 user 属于多个 group 的 AD 域结构(例如使用安全组),将 user 与 group 之间进行联动。

1.3 功能描述

通过安装「多域LDAP认证增强版」插件,在进行「全局设置 > 认证方式」时,可以配置「多域LDAP认证」;在设置同步用户时,可以选择「从多个LDAP服务器中同步」;多域认证和同步用户均支持 LDAPS 。

注1:如果曾配置了「多域LDAP认证」插件,需删除旧插件后,重新安装「多域LDAP认证增强版」插件,并重新配置 LDAP 认证。

注2:如果在不同域存在相同账号的用户,使用各自的密码均可登录数据决策系统,但需要共享同一个平台账户。

注3:超级管理员不受 LDAP 认证的影响,依旧使用平台内建认证。

注4:暂不支持 PostgreSQL 外接数据库,如果有特殊需求请联系技术支持。

2. 插件介绍编辑

2.1 插件安装

点击下载插件:多域Idap认证增强版

设计器插件安装方法请参见:设计器插件管理

服务器安装插件方法请参见:服务器插件管理

2.2 插件简介

插件安装完成后,在进行「全局设置 > 认证方式」时,可以配置「多域LDAP认证」。

725-1138.png

725-1143.png

在同步用户时,用户来源可以选择「从多个LDAP服务器中同步」。如下图所示:

725-1145.png

3. 示例编辑

3.1 配置LDAP认证

管理员登录数据决策系统,点击「管理系统 > 用户管理 > 全局设置」。

725-1138.png

同步用户的认证方式选择「多域LDAP认证」,点击添加即可在跳出的窗口填写配置信息。如下图所示:

多域 LDAP 认证的配置方法请参见:用户管理-多域LDAP认证

725-1150.png

3.2 配置LDAPS认证

3.1 节为一般的 LDAP 认证的配置方式,当需要用到 LDAPS 连接时,有以下内容需要注意

1)节点名称

V1.8.3 及之后的版本支持配置「节点名称」:

725-1359.png

  • 历史使用 V1.8.3 之前版本建立的 LDAP(S) 认证,「节点名称」显示为空

  • 节点名称不可重复,若重复则提示:节点名称已存在

725-1401.png

2)URL

URL 格式为:Idaps://ip:port

725-1405.png

3)SSL认证 (点击按钮开启,非必须)

注:SSL 认证只支持使用 JDK 内建证书。如果在 FineReport 工程所在服务器成功安装认证,即成功配置系统信任认证,无需手动填写认证所在路径,Java 可自动读取已配置为信任的认证。手动填写的内容不会生效。

725-1408.png

3.3 同步用户

1)若管理员首次使用同步用户

管理员登录数据决策系统,点击「管理系统 > 用户管理 > 所有用户」,然后点击「同步用户」。

弹出提示框「是否保留现有非同步数据,包括导入/新增的用户、部门职务、角色?」,如下图所示:

725-1409.png

不同选择对应的更新逻辑如下表所示:

选择
定义
保留

如果现有用户不在同步数据集中,该用户信息和权限将被保留,不修改

如果现有用户在同步用户来源中(账号相同):

  • 该用户的账号不变,权限保留

  • 该用户的姓名、密码、手机、邮箱将被改写更新

  • 该用户当前所属的部门职务、角色若存在于同步用户来源中,则改写更新

  • 该用户当前所属的部门职务、角色若不存在于同步用户来源中,则保留不变

清空

平台现有手动新增/导入的用户的账号、姓名、密码、手机、邮箱、部门、职位、角色、权限均被删除,重新同步用户

注1:根据选择的更新逻辑,首次同步后有部分用户信息被更新。

注2:之后能够被自动更新的只有已变为同步类型的用户。

注3:之后的同步,数据集不能再重写更新内建数据,否则将会冲突报错。

2)若管理员配置过同步用户

管理员直接点击同步用户管理」,选择「编辑」按钮,即可进入同步用户配置界面

725-1435.png

3.4 配置同步用户

点击「同步用户」,在跳出的窗口选择「保留/清除」后,点击「确定」(若配置过同步用户,点击「编辑」即可)。

用户来源选择「从多个LDAP服务器中同步」,系统会自动读取 3.1 节多域 LDAP 认证中的配置,并测试连接。同步用户配置如下图所示:

注:若之前配置过「同步用户」,且用户来源为「服务器数据集」,切换时会弹出提示「切换用户来源后将清空原有同步数据,包括用户及其部门、职位、角色、权限等,确认切换?」,点击「确定」即可完成 LDAP 用户同步。

725-1453.png

其他配置项如下表所示:

配置项
说明
同步频率

支持通过两种方式执行同步用户操作:简单重复执行、表式设置。

1)简单重复执行

从 LDAP 服务器中自动同步用户的间隔时间,默认设置为 43200 秒。

同步用户设置了同步频率后,可自动进行多次同步,达到设置频率后自动进行同步,不断将 LDAP 服务器中变化的数据同步到平台。

注:同步频率不宜过高,否则会导致后台日志不断重新整理,日志体积无限膨胀。

725-1500.png

2)表式设置

支持通过 Cron 表式设置任务执行的时间点,该任务可以是每天重复执行、隔日重复执行或单次执行等各种不同组合的触发时间点。

Cron 表式的语法和写法请参见:Cron 表式

725-1503.png

用户可编辑

「用户可编辑按钮默认不勾选;勾选后,在同步状态下用户信息可编辑。

用户可以编辑姓名、手机、邮箱,已存在用户的上述字段在自动同步/手动同步时将不再更新。

具体功能如下表所示:

注:由于开启了同步用户 LDAP 认证,除了超级管理员用户和内置用户外,所有同步用户涉及密码相关的操作都是不可用的,包括设置加密方式、忘记密码、修改密码、重置密码等。

使用者身份说明
超级管理员

1)再次同步时,平台现存用户的姓名、手机、邮箱字段将不再更新

2)可编辑平台所有现存用户的姓名、手机、邮箱,但不可编辑角色

3)超级管理员可以在账号设置处编辑自己的姓名、密码、手机、邮箱

4)可以在登录页使用忘记密码功能

同步使用者类别的次级管理员

1)可修改有权限的同步用户的姓名、手机、邮箱,但不可编辑角色和密码

2)可修改有权限的内置用户的姓名、密码、手机、邮箱,但不可编辑角色

3)次级管理员可在账号设置处编辑自己的姓名、手机、邮箱

同步使用者类别的普通使用

同步用户可以在账号设置处编辑自己的姓名、手机、邮箱


用户名重复处理

支持 2 种处理方式:自动覆盖、提示重复信息并中断同步

725-1517.png

特殊情况:

当设置多个同步任务(如 任务A 和 任务B ),从不同的 LDAP域(如 域A 和 域B )中同步用户时,如果这些域中存在重复用户(假设为 User1 ),且不具有安全组结构,并且账号重复策略选择自动改写,则在 任务A 暂停后,同步 任务B 时会按以下逻辑处理重复用户( User1 )的信息:

• 如果 域B 在 域A 之上:域B 中的 User1 信息会覆盖 FineDB 中原先从 域A 中同步的 User1 的信息。

• 如果 域B 在 域A 之下:保留 任务A 上次同步成功的 User1 的信息。

注:仅支持 V1.8.7 及之后版本。

用户名转换策略

1)V1.7.9 之前的版本

同步用户时,会将用户名统一转换成小写。

2)V1.7.9 及之后的版本

新增用户名转换策略,支持 2 种策略:

注1:无特殊需求建议不勾选此项,默认以小写形式存入数据库。

注2:若同时勾选两种策略,效果等同于勾选转大写

  • 维持大小写不变:勾选后同步用户时,保持原用户名大小写不变。

725-1530.png

  • 转大写:勾选后同步用户时,会将原用户名转为大写。

LDAP 内大小写不同的用户将被视为同一个用户,同步时根据上一步中选择的用户名重复策略进行自动覆盖或中断同步任务。

当同步任务成功后:

a)若外接数据库大小写敏感:用户需根据设置的用户名转换策略,使用转换为大写/小写后的用户名进行登录决策系统。

b)若外接数据库大小写不敏感:使用大写/小写用户名均能登录决策系统。

注:若外接数据库大小写敏感且历史同步过 LDAP 用户时,切换用户名转换策略会导致同步失败,需要清空历史数据后重新同步。

修改配置后重新同步可能会导致部分用户配置权限丢失,例如:ANNA 原先同步时入库保存为 anna ,勾选「维持大小写不变」后重新同步,该用户将保存为 ANNA ,此时,原先分配给 anna 的角色配置将丢失,ANNA 无法继承 anna 的角色配置。

启用同步 LDAP URL

1)可通过 URL 和节点名称对已添加的节点进行搜索。  

注:V1.8.3 之前的版本无此功能且不显示节点名称。

725-1536.png

2)点击按钮,即可编辑该域的用户属性

725-1547.png

3)点击按钮,即可控制多个域的同步状态为「已开启」或「已禁用

725-1550.png

4)点击按钮,可以控制同步任务的启动和暂停。

在禁用状态下点击暂停同步,提示:请先启动同步。

在禁用状态下点击启用同步,提示:确定启动同步,点击确定后恢复到“已启动状态”,并正常同步该节点数据。

处于暂停状态的节点,每次同步时不会丢失之前已经同步成功的数据。

注:V1.8.3 之前的版本无此功能。

725-1551.png

725-1552.png

3.5 LDAP节点配置

3.5.1 用户属性

在 3.4 节「启用同步 LDAP URL」配置中,点击「编辑」按钮,即可打开「用户属性」界面。

对于「用户属性」字段,需要先选择 ObjectClass ,再选择 ObjectClass 内的属性值。

注:配置「同步用户」时,不需要配置密码,实际认证走 LDAP 密码认证。

725-1556.png

具体配置如下表所示:

配置项
说明是否必填
ObjectClass选择储存用户属性的 ObjectClass必填
用户重复验证字段

可选择通过 用户ID 或 用户名 进行用户重复验证

1)若选择 用户ID,则同步「用户ID 用户名」字段,所在表中的 ID 字段值为同步用户时 LDAP 服务器中的 用户ID。

注:若 LDAP 中 用户A 与平台已有 用户A 重复,此重复 用户A 同步结果为失败,平台中保留之前平台内 A用户 及其配置。

2)若选择用户名,则同步「用户名」字段,所在表中的 用户ID 字段值将由系统随机生成。

注:若 LDAP 中 用户A 与平台已有 用户A 重复,此重复 用户A 同步结果为成功,平台中保留 LDAP 中 A用户 及其配置(去重叠加)。

3)若「用户重复验证字段」选择的字段配置为 cn ,且在 LDAP 源数据中存在 cn 重名的用户时:

  • 单域情况下:同步失败。建议此处选择具有唯一性的字段,比如说 AD 域中的登录用户字段 userPrincipalName 或 sAMAccountName 。

  • 多域情况下:同步正常进行,用户的部门或角色会去重叠加。

必填
用户ID

选择用户属性中的 UID(用户ID

注:仅在「用户重复验证字段」选择「用户ID」时需要填写。

必填
用户名选择用户属性中的用户名

LDAP 服务器中存储的用户名,不可使用双字节的日语、繁体中文或朝鲜文。否则在平台登录时会提示“账号或密码错误”。

必填
用户类型共有 2 种预设的类型:平台用户移动平台用户

适用于开启平台用户分类的场景,若未做相应限制可以忽略此项。

V1.8.3 之前的版本需要手动输入对应属性值;V1.8.3 及之后的版本可直接选择对应字段。

V1.8.3 之前的版本,单节点只支持选择 2 种预设类型,不支持使用 LDAP 中的字段。

若有上述 2 种类型之外的值则报错。

725-1613.png

  • 用户类型支持多个值,在LDAP中可以用,;分隔,例如:platform,platform_mobile platform;platform_mobile

725-1616.png

  • 用户类型对应值说明:

属性
平台用户platform
移动平台用户platform_mobile
  • 其他说明

1)1.7.5 版本及之后的版本

每次同步时用户类型均会重新同步,配置变更值或新增值每次同步均生效。若同步时将用户类型设置为空,则该修改同步时不生效,平台中保留之前平台内的用户类型设置。

2)1.7.4 版本及之前的版本

一个用户的用户类型只有在首次配置时同步生效。如果 A用户 在平台已有用户类型配置,LDAP 同步时,即使配置了新的用户类型,A 也不会新增新的用户类型。如需修改,请联系管理员在平台用户类型配置下手动修改。

非必填
姓名选择用户属性中的姓名必填
手机选择用户属性中的手机号非必填
邮箱选择用户属性中的邮箱非必填
扩展属性

选择需要同步饿其他内容(支持多选

注:V1.8.0 及之后的版本支持该功能。设定后数据将以 JSON 格式储存至 FineDB 库的 Fine_Extra_Properties 表中

非必填

3.5.2 部门属性

对于部门属性字段,需要先选择 ObjectClass ,再选择 ObjectClass 内的属性值。

部门属性可不配置,但若选择了 ObjectClass ,则必须配置部门名称/部门ID。

注:若使用安全组作为部门进行同步,可忽略此部分配置。

725-1626.png

配置项
说明是否必填
ObjectClass

选择储存部门属性的 ObjectClass

注:不支持部门属性和角色属性使用同一个 ObjectClass 的不同属性

非必填

要么都不填、要么都填

部门重复验证字段可选择通过部门名称或部门ID进行部门重复验证。

1)若选择 部门ID ,则同步「部门ID 部门名称」字段,所在表中的 ID 字段值为同步用户时 LDAP 服务器中的 ID 。

2)若选择 部门名称 ,则同步「部门名称」字段,所在表中的 ID 字段值将由系统随机生成。

部门ID

仅在「部门重复验证字段」选择「部门ID」时需要填写

选择部门属性中的 UID(部门ID)

部门名称选择部门属性中的部门名称

3.5.3 角色属性

对于角色属性字段,需要先选择 ObjectClass ,再选择 ObjectClass 内的属性值。

角色属性可不配置,但若选择了 ObjectClass ,则必须配置角色名称/角色ID。

725-1633.png

配置项说明是否必填
ObjectClass

选择储存角色属性的 ObjectClass

注:不支持部门属性和角色属性使用同一个 ObjectClass 的不同属性

非必填

要么都不填、要么都填

角色重复验证字段可选择通过角色名称或角色ID进行角色重复验证。

1)若选择 角色ID ,则同步角色ID 角色名称」字段,所在表中的 ID 字段值为同步用户时 LDAP 服务器中的 ID 。

2)若选择 角色名称 ,则同步角色名称」字段,所在表中的 ID 字段值将由系统随机生成。

角色ID

仅在「角色重复验证字段」选择「角色ID」时需要填写

选择角色属性中的 UID(角色ID)

角色名称选择角色属性中的角色名称

3.5.4 安全组属性(以安全组作为部门同步)

在 Active Directory(AD)域中,安全组(Security Group)是一种用于管理和分配权限的对象。安全组是 AD 中的一个重要概念,它允许管理员将一组用户或计算机归为一组,并向该组授予特定资源或对象的访问权限。

该项配置用于实现同步安全组 member 属性对应的用户。

注1:安全组属性不可与部门属性同时配置,否则提示:“部门属性和安全组属性不可同时配置。”

注2:安全组属性不可与自定义部门属性同时配置,否则提示:“自定义部门属性和安全组属性不可同时配置。”

一般适用的结构为:

725-1641.png

配置项如下图所示:

725-1642.png


配置项
说明是否必填
ObjectClass

选择存储安全组(部门)属性的 ObjectClass。

选择 ObjectClass 后,根据 ObjectClass 加载所有安全组(作为“组选择”对应的下拉复选框组件的选项)。

非必填

要么都不填、要么都填

组名称如果选择了“组名称”属性,则取组名称字段对应的 LDAP 属性值为“组选择”下拉选项的显示值。

非必填

若不填,“组选择”下拉选项将默认读取 cn

组选择

组部门映射

选择安全组之后,组部门映射会自动加载映射表格,“部门名称”列支持手写输入。

非必填

要么都不填、要么都填


注:安全组名称可以重名,但安全组映射的部门不能重复(即单域下多个组可以映射到同一个部门,多域下安全组不能映射到与其他域相同的部门)。在此条件下,安全组重名,安全组中的用户可以正常被同步。如果用户名称也相同,配置不同的情况下会进行去重叠加。

3.6 效果查看

若 LDAP 系统认证成功,且 LDAP域用户同步成功

如图所示启用了一个 LDAP URL,点击确认后进行同步

725-1653.png

同步成功提示如下图所示:

725-1655.png

用户输入 LDAP 服务器中储存的账户、密码,即可进入数据决策系统,按照该使用者在平台中的权限进行相应操作。如下图所示:

注1:若在平台中不存在输入账号,或平台中对应的用户被禁用,或开启了平台使用用户限制且不包含用户,则不与 LDAP 服务器进行通信,直接提示账号或密码错误用户不可用

注2:LDAP 服务器中存储的账号,不可使用双字节日语、繁体中文或朝鲜文。否则在平台登录时提示账号或密码错误

        LDAP 服务器中存储的密码,不可使用双字节日语、繁体中文、简体中文或朝鲜文。否则在平台登录时提示「账号或密码错误」。

4. 注意事项编辑

4.1 特殊字符限制

1)安全组名称

在 AD 中建立安全组时禁用以下符号:/ \ [] : ; | = , + * ? < > "

725-1707.png

2)用户名称

在 AD 中建立用户时禁用以下符号:/ \ [] : ; | = , + * ? < > "

725-1707.png

综上,同步时支持的用户包含的特殊符号仅有:() _ 空格

3)OU名称
支持使用:/ \ () _ ; , + * < > 空格

4.2 插件禁用删除

1)V1.7.5 版本及之后的版本

插件删除后配置保留

2)V1.7.4 版本及之前的版本

插件删除会删除已有配置,请谨慎删除并做好配置信息的备份。

配置链接相关信息存储在 FineDB 库的 FINE_CONF_ENTITY 表中。

查询语句:SELECT * FROM FINE_CONF_ENTITY WHERE ID LIKE '%FINE_MULTI_LDAP VALUES%'

注:如删除重装插件后需恢复原有配置,需要手动修改 FineDB 后重启。该操作较危险,请联系技术支持协助进行,并务必在操作前做好备份工作。

4.3 GetUserAdDomain()函数

V1.8.3 及之后的版本支持通过 GetUserAdDomain() 函数获取用户所在域。

725-1715.png

以 Jack 用户为例(需使用 Jack 登录数据决策系统):

725-1728.png