飞书数据同步集成¶
最后更新:2021-12-03
所有数据同步集成方案的实现使用IDP中的Connector组件来完成。
此处的数据指:组织机构数据,账户数据与组数据(组数据可选,没有不影响同步功能)。
1. 场景描述¶
应用场景描述:
(1)管理员在IDP4统一身份认证平台设置SCIM同步任务,同步任务可设置实时同步,手动同步,定时同步;
(2)IDP4统一身份认证平台触发同步任务后通过SCIM接口将用户信息同步到IDsConnector系统;
(3)IDsConnector系统当收到IDP统一身份认证平台同步的数据时会提供标准协议或API接口的方式同步到飞书中。
2. 支持的对象¶
支持同步组织机构,账户。
3. 同步模式¶
使用connector配置IDP4到飞书的同步,同步计划配置为:
数据接收方式:被动接收
4. IDsConnector配置方式¶
配置流程如上。如果没有特殊需求,可以跳过创建映射模板操作,直接使用IDsConnector内置的映射模板,或者在创建同步任务中进行调整。
4.1. 新建同步来源¶
先登录IDP,创建一个应用,并开启应用的API
登录IDsConnector,在来源管理页面,点击“新建同步来源”
配置同步来源参数,来源管理配置如图:
来源名称:随意填写,注意唯一性即可;还是需要注意一下选择的环境是否和目标管理的一致
** **
来源主类型: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)
4.2. 新建同步目标¶
在IDsConnector的目标管理页面,点击“新建同步目标”
配置同步目标,目标管理配置如图:
上述appId和AppSecret从飞书的开发者平台中创建自建应用获取,且应用需要发布。
4.3. 同步任务-同步来源配置¶
其中的同步源选择IDP4对应的来源,来源根节点标识为IDP4中对应要往飞书同步的根机构的外部ID,此时这个根就不会同步过去,只需和飞书中的通讯录的对应的机构保持一致。我这里选择的是IDP4中的外部ID为8271440219698515535对应的机构’测试OU’.
4.4. 同步任务-同步目标配置¶
其中目标根节点标识取自飞书中想要作为IDP4机构的根对应的部门的部门ID。这里我得飞书中的根部门就和上面我的IDP4中的组织机构[测试OUU],飞书的根部门id为0 。
注意: 来源根节点标识和目标根节点标识一旦确定后,在该同步任务中请不要随意替换,会影响机构同步。若想替换,尽量新创建同步任务。同理IDP4和飞书中对应的根OU也尽量保持不动。飞书中的应用需要获取对应的权限
4.5. 配置映射模板¶
IDsConnector 中内置了一部分常用的映射模板,如果没有特殊需求的话可以直接使用。
注意: 当有飞书的扩展字段时,这儿的同步目标属性会拉取到对应的扩展字段,飞书的账户可以添加自定义扩展属性。部门管理员的信息同步需要部门和用户到同步到飞书后,再同步该关系。相关飞书API可参考https://open.feishu.cn/document/ukTMukTMukTM/uITNz4iM1MjLyUzM
代码中关联的飞书的部门的id为 open_department_id,用户的id为 open_id 。
4.6. 同步任务-同步计划¶
注意数据接收方式为被动接收即可,因为数据是IDP4触发同步到connector,connector再给飞书推送的。
4.7. 在IDsConnector创建密钥¶
IDP4在向外推送数据时,需要在应用位置配置SCIM【即下文中的4.8步骤】,配置SCIM时,需要一个Oauth认证的AK和SK. 改AK\SK可以在IDsConnector的“密钥管理”生成; 如上图,点击“新建密钥”后,打开如下界面,需要输入密钥名称,密钥名称需要唯一;描述信息可以为空,或者输入该密钥的用途等。
点击“保存”,密钥创建成功默认是禁用状态,需要在列表页点击“启用”。
4.8. 在IDP4中配置应用的SCIM同步¶
回到IDP4的管理控制台,找到之前创建的应用,依次点击“详情–SCIM配置”
打开如下界面,依输入同步地址和密钥信息;
SCIM同步地址:
组织机构: {{connector地址}}/api/sync/v1/data_accept/idp4/organization/id/{transformConfigId}
账 户: {{connector地址}}/api/sync/v1/data_accept/idp4/account/id/{transformConfigId}
其中{transformConfigId}为对应IDsConnector中同步任务的ID,如下图
协议类型:OAuth2
oauth url: {{connector地址}}/oauth/token
client_id: connector 密钥管理中创建的密钥的客户端ID
client_secret:connector 密钥管理中创建的密钥的客户端密钥
上述步骤配置完成后,在IDP4中触发到对应应用的SCIM同步时,会触发connector对应的同步任务,自动推送到同步的目标中。
上述配置完即可在IDP4中开始同步, 需要注意的是 :IDP4,Connector,飞书一旦开始同步后,环境不要随意切换,避免数据出现错乱。比如为了方便,将上述使用同步过的测试环境的connector当做生产来用,对应生产的IDP4和飞书,这时候,connector中保存的IDP4的机构和账户和飞书的部门和账户的对应关系记录信息会错乱,出现生产事故。