Galaxy 帮助中心

账户同步实操

创建于 2022-11-01 / 最近更新于 2022-11-08 / 734
字体: [默认] [大] [更大]

设置路径:管理员设置 — 用户管理 — 账户同步 (如未开启,可联系观远工作人员开启)

更新方式:手动触发、定时任务

一、用户组同步

1.  准备一个用户组数据集

需要包含以下3个字段(参考下图):

1)    用户组ID:STRING类型,该ID只是一个外部用户组的唯一标识ID,并非BI里面的用户组ID。不能为空且不能重复(*为空的记录将被忽略,重复的记录将以最后一条记录为准)

2)    名称:STRING类型,不能为空(*为空的记录将被忽略)

3)    父用户组ID:STRING类型,请确保不要出现父用户组ID互相依赖的情况,比如A的父用户组为B,B的父用户组为A。

image.png



2.  在「账户同步」编辑页面设置用户组同步,关联字段

同步后效果如下。

image.png

注意:如果该用户组和其子孙用户组还配置有一些作为所有者的资源,则不能删除。

二、账户同步

1. 数据集准备

确保要同步的用户属性都在数据集里,且以string 文本格式存储。如果多个用户属性分布在不同数据集里(或者格式不对),建议使用ETL对数据进行处理,属于一个专门用于账户同步的数据集。已经存在的账户信息,可以在数据中心 Built-in-Dataset 文件夹里builtin_user 数据集里查询,用户组信息存储在user_and_user_group_relation_record 里。

image.png

2. 选择数据集

进入「账户同步」编辑界面,用户同步标签下,点击「选择数据集」,选择准备好的数据集。

可同步的字段分为4类:基本信息、权限信息、第三方账号关联,以及其他信息。除了密码和用户状态,其他属性都只能根据需要从上一步选中的数据集中一一关联相对应的字段,不需要同步的字段,匹配字段保持为空,最后保存即可。

image.png

字段解释

A.  账号:不能为空且需保证唯一性(为空的记录将被忽略)

B.  密码:只在首次新建用户时生效后续不会随着数据集更新而更新,如需修改,可在管理员设置内手动修改。如果选择与数据集字段匹配则需要密码字段,密码字段必须用Base64进行编码;如果使用统一初始密码,则表示所有通过账户同步创建的新用户密码都是一样的,可能存在数据安全风险,建议设置复杂密码,且设置密码策略(路径:系统管理—登录设置。请参考观远BI账户安全和登录设置 )。观远BI不支持批量修改密码,但是有对应API接口(批量修改用户属:POST /public-api/users/modify)可供用户自行进行二次开发实现批量修改密码。

C.   用户状态:分为启用/禁用,选择设置统一初始值时,将只在首次新建用户时生效,后续如需修改,可在管理员设置内手动修改;如果选择了“与数据集字段匹配”且选择了字段(值必须用小写的英文:enable或disable,为空则默认为启用),那后续状态会跟随数据集进行同步。

D.  账号类型:角色必须用英文(admin/editor/participant),字段值为空则默认新增的用户都是只读账户;只在首次新建用户时生效,后续不会随着数据集更新而更新,如需修改,可在管理员设置内手动修改。

E.   所属用户组 ID:非必填,且可为空,为空则该用户将不被添加至任何用户组中,有多个用户组则用英文逗号','分割;不能使用用户组名字,只能使用用户组ID(用户组信息存储在user_and_user_group_relation_record 里)。

F.   第三方账号关联:匹配数据集字段后,支持SSO登录账号/LDAP登录账号自动同步。会有判空以及重复校验。但要注意,该功能完美支持观远自带的标准SSO集成方式,如果使用其他方式或者定制开发的单点登录方式,不能保证一定能同步成功。例如SSO登录账号为邮箱,但是BI登录账号为工号,那需要先保证用户邮箱这个属性有值,然后设置SSO登录账号关联数据集里的邮箱字段。

image.png

同步主流程

● 先同步用户组,然后再同步用户(因为有依赖关系);

● 大体流程就是获取新用户(组)信息,与旧用户(组)信息比较,或者删除/新增/更新的数据,分别处理。参考下面流程图。

image.png

任务管理:

1. 提交任务时,判断是否有正在运行中的账户同步任务,如果有则不能提交。

2.  同步后可以在当前页面上看到运行状态,并且可以在右上角查看更新历史记录。历史记录里会注明是全部失败还是部分失败,点击失败字段的“详情”可以查看失败原因和清单。最常见的失败原因为,用户存在未转移的资源导致删除用户失败。

image.png

额外的说明

  • 用户组缓存会在所有用户组都同步结束后再进行刷新(否则有性能问题)。

  • 数据集中的用户,无论是同步中添加的,还是在界面上手动添加的,最后都会打上“系统同步”的标签。

  • 只会删除同步过来的用户(组),包括手动添加、但是后来又在账户同步中出现过的用户。

  • 如果配置的数据集被重置,那么同步时会删除所有同步过来的用户(组)。


3 人点赞过