飞书数据同步集成

最后更新:2021-12-03

所有数据同步集成方案的实现使用IDP中的Connector组件来完成。
此处的数据指:组织机构数据,账户数据与组数据(组数据可选,没有不影响同步功能)。

1. 场景描述


应用场景描述:
(1)管理员在IDP4统一身份认证平台设置SCIM同步任务,同步任务可设置实时同步,手动同步,定时同步;
(2)IDP4统一身份认证平台触发同步任务后通过SCIM接口将用户信息同步到IDsConnector系统;
(3)IDsConnector系统当收到IDP统一身份认证平台同步的数据时会提供标准协议或API接口的方式同步到飞书中。

2. 支持的对象

支持同步组织机构账户

3. 同步模式

使用connector配置IDP4到飞书的同步,同步计划配置为:
image.png

  • 数据接收方式:被动接收

4. IDsConnector配置方式

image.png
配置流程如上。如果没有特殊需求,可以跳过创建映射模板操作,直接使用IDsConnector内置的映射模板,或者在创建同步任务中进行调整。

4.1. 新建同步来源

  1. 先登录IDP,创建一个应用,并开启应用的APIimage.png

  2. 登录IDsConnector,在来源管理页面,点击“新建同步来源”

image.png

  1. 配置同步来源参数,来源管理配置如图:

image.png

  • 来源名称:随意填写,注意唯一性即可;还是需要注意一下选择的环境是否和目标管理的一致

**   **image.png

  • 来源主类型:SCIM

  • 来源子类型:IDP4_SCIM

  • Basic URL:IDP4的域名或者IP,如果有负载要填写负载的地址,如 https://lin.idp4.idsmanager.com

  • Client ID : IDP4中创建的应用的 API Key

  • Client Secret:IDP4中创建的应用的 API Secret

  • 版本号:固定为 v1.2 (该字段是预留的,以应对后续IDP的API做了版本升级时,进行兼容处理,当前固定值 v1.2)

  1. 点击“测试连接”,确保连接的参数配置正确,如果测试通过,点击“提交”.

4.2. 新建同步目标

  1. 在IDsConnector的目标管理页面,点击“新建同步目标” image.png

  2. 配置同步目标,目标管理配置如图: image.png

上述appId和AppSecret从飞书的开发者平台中创建自建应用获取,且应用需要发布。 image.png

4.3. 同步任务-同步来源配置

image.png

其中的同步源选择IDP4对应的来源,来源根节点标识为IDP4中对应要往飞书同步的根机构的外部ID,此时这个根就不会同步过去,只需和飞书中的通讯录的对应的机构保持一致。我这里选择的是IDP4中的外部ID为8271440219698515535对应的机构’测试OU’.
image.png

4.4. 同步任务-同步目标配置

image.png
其中目标根节点标识取自飞书中想要作为IDP4机构的根对应的部门的部门ID。这里我得飞书中的根部门就和上面我的IDP4中的组织机构[测试OUU],飞书的根部门id为0 。

注意: 来源根节点标识和目标根节点标识一旦确定后,在该同步任务中请不要随意替换,会影响机构同步。若想替换,尽量新创建同步任务。同理IDP4和飞书中对应的根OU也尽量保持不动。飞书中的应用需要获取对应的权限
image.png

4.5. 配置映射模板

IDsConnector 中内置了一部分常用的映射模板,如果没有特殊需求的话可以直接使用。image.png
image.png
image.png

注意: 当有飞书的扩展字段时,这儿的同步目标属性会拉取到对应的扩展字段,飞书的账户可以添加自定义扩展属性。部门管理员的信息同步需要部门和用户到同步到飞书后,再同步该关系。相关飞书API可参考https://open.feishu.cn/document/ukTMukTMukTM/uITNz4iM1MjLyUzM
代码中关联的飞书的部门的id为 open_department_id,用户的id为 open_id
image.png

4.6. 同步任务-同步计划

image.png
注意数据接收方式为被动接收即可,因为数据是IDP4触发同步到connector,connector再给飞书推送的。

4.7. 在IDsConnector创建密钥

IDP4在向外推送数据时,需要在应用位置配置SCIM【即下文中的4.8步骤】,配置SCIM时,需要一个Oauth认证的AK和SK. 改AK\SK可以在IDsConnector的“密钥管理”生成;
image.png        如上图,点击“新建密钥”后,打开如下界面,需要输入密钥名称,密钥名称需要唯一;描述信息可以为空,或者输入该密钥的用途等。
image.png
点击“保存”,密钥创建成功默认是禁用状态,需要在列表页点击“启用”。
image.png

4.8. 在IDP4中配置应用的SCIM同步

回到IDP4的管理控制台,找到之前创建的应用,依次点击“详情–SCIM配置”
image.png
打开如下界面,依输入同步地址和密钥信息;
image.png

  • SCIM同步地址:

    • 组织机构: {{connector地址}}/api/sync/v1/data_accept/idp4/organization/id/{transformConfigId}

    • 账       户: {{connector地址}}/api/sync/v1/data_accept/idp4/account/id/{transformConfigId}

其中{transformConfigId}为对应IDsConnector中同步任务的ID,如下图
image.png

  • 协议类型:OAuth2

oauth url:     {{connector地址}}/oauth/token

  • client_id:       connector 密钥管理中创建的密钥的客户端ID

  • client_secret:connector 密钥管理中创建的密钥的客户端密钥


上述步骤配置完成后,在IDP4中触发到对应应用的SCIM同步时,会触发connector对应的同步任务,自动推送到同步的目标中。

上述配置完即可在IDP4中开始同步, 需要注意的是 :IDP4,Connector,飞书一旦开始同步后,环境不要随意切换,避免数据出现错乱。比如为了方便,将上述使用同步过的测试环境的connector当做生产来用,对应生产的IDP4和飞书,这时候,connector中保存的IDP4的机构和账户和飞书的部门和账户的对应关系记录信息会错乱,出现生产事故。