更新时间:2023-04-23 GMT+08:00
分享

ISDP+权限同步

描述

与ISDP+权限适配层对接,同步ISDP+的用户、角色、用户和角色关系、公共组到AppCube租户下。

“ISDP+权限同步BO”依赖“操作日志BO”和“系统参数初始化应用”,在使用“ISDP+权限同步BO”时,需要部署安装“操作日志BO”和“系统参数初始化应用”。“操作日志BO”的使用说明请参见操作日志,“系统参数初始化应用”的使用说明请参见系统参数初始化

开放能力

ISDP+权限同步为BO资产,提供同步ISDP+用户、角色以及用户与角色的关系、公共组到对应的AppCube租户下的能力。

版本对比说明

ISDP+权限同步BO变更说明。

  • 0.3.7版本0.1.2版本
    • 优化系统参数:部分公共参数使用租户级的系统参数,租户级系统参数依赖系统参数初始化应用预置,系统参数变更如表1所示。
      表1 系统参数变更说明

      参数

      差异说明

      新增的参数

      ISDP__baseProfileId

      新建角色时,依据Anonymous User Profile权限配置新增角色,该值为Anonymous User Profile的id。

      值:000T0000000000000004

      ISDP__checkAndCutOver

      手动触发数据割接接口。

      值:/openapi/v1/manualCutOverData/checkAndCutOver

      删除的参数

      ISDP__Domain_isdp_bo

      修改为使用租户级系统参数:comm_isdp_openAPI_domain。

      AppCube_Domain

      修改为使用租户级系统参数:comm_appcube_openAPI_domain。

      ISDP__client_id_bo

      修改为使用租户级系统参数:comm_isdp_openAPI_clientId和comm_isdp_openAPI_clientSecret。

      ISDP__client_secret_bo

      client_id_ISDP

      修改为使用租户级系统参数:comm_appcube_openAPI_clientId和comm_appcube_openAPI_clientSecret。

      client_secret_ISDP

      getAccessToken_ISDP

      修改为使用租户级系统参数:comm_appcube_openAPI_tokenUrl。

    • 优化业务权限凭证:可以通过系统参数初始化应用授予业务权限凭证(privilege_adapter)给System Administrator Profile和Anonymous User Profile角色;同步ISDP+角色到AppCube时,赋予角色的业务权限凭证与Anonymous User Profile一致。
    • 支持页面展示同步结果和手动同步操作。

  • 0.1.2版本0.3.7版本
    • 新增功能点:

      权限适配层为AppCube创建全量和增量的报表,保存报表信息至数据库,再将报表信息通过AppCube权限适配BO提供的添加报表信息接口,发送给AppCube并保存。

      在AppCube的权限适配BO中创建人员、组织、人员分组关系模型,通过报表中心从ISDP+同步人员、组织、人员分组关系表数据至AppCube。

    • 配置变更说明:
      系统参数变更如表2所示。
      表2 系统参数变更说明

      参数

      差异说明

      新增的参数

      ISDP__getReportByRuleId

      获取报表ruleid,固定值,无需修改。

      /openapi/v1/report/getReportByRuleId

      新增使用OpenAPI(getReportByRuleId)。

      新增定时任务ISDP__syncPersonAndGroupIncrementFlow。

  • 0.3.7版本老版本,优化系统参数,系统参数变更如表3所示。
    表3 系统参数变更说明

    参数

    差异说明

    变更值的参数

    addPortalusers_ISDP

    从“https://AppCube域名/u-route/baas/sys/v1.0/portalusers”变更为“/u-route/baas/sys/v1.0/portalusers”,使用时拼接域名,该参数后续不需要修改。

    ISDP__publicGroupUrl

    从“https://AppCube域名/u-route/baas/sys/v1.0/groups”变更为“/u-route/baas/sys/v1.0/groups”,使用时拼接域名,该参数后续不需要修改。

    getAccessToken_ISDP

    从“https://AppCube域名/baas/auth/v1.0/oauth2/token”变更为“/baas/auth/v1.0/oauth2/token”,使用时拼接域名,该参数后续不需要修改。

    getCrsfTokenURL_ISDP

    从“https://AppCube域名/u-route/baas/sys/v1.0/csrf/get ”变更为“/u-route/baas/sys/v1.0/csrf/get”,使用时拼接域名,该参数后续不需要修改。

    queryProfiles_ISDP

    从“https://AppCube域名/u-route/baas/sys/v1.0/profiles”变更为“/u-route/baas/sys/v1.0/profiles”,使用时拼接域名,该参数后续不需要修改。

    新增的参数

    AppCube_Domain

    AppCube域名。

    格式:https://AppCube域名

    ISDP__Domain_isdp_bo

    ISDP+的域名。

    格式:https://ISDP+的域名

    ISDP__client_secret_bo

    配置为对应ISDP+环境中创建用来订阅OpenAPI的应用ID和令牌。

    ISDP__client_id_bo

    ISDP__findPersonByUserIdListPlainText

    查询人员信息,固定值,无需修改。

    /openapi/v1/person/findPersonByUserIdListPlainText

    ISDP__rest_token_rrl_bo

    获取ISDP+ token,固定值,无需修改。

    /oauth2/oauth/rest_token

    ISDP__findPagedOrgListWithDirections

    查询(上/下级)组织信息,固定值,无需修改。

    /openapi/v1/orgOpen/findPagedOrgListWithDirection

    AppCube_api_profiles

    查询业务用户具备哪些权限配置,固定值,无需修改。

    /u-route/baas/sys/v1.0/portalusers/

    AppCube_api_servicepermissions

    查看权限配置的业务权限凭证,固定值,无需修改。

    /u-route/baas/sys/v1.0/profiles/{id}/servicepermissions

    ISDP__getOrganizationPath

    开放的服务接口,固定值,无需修改。

    /service/ISDP__privilege_adapter_BO/1.0.1/getOrganizationPath

    ISDP__queryPortalUserInfo

    服务接口,查询业务用户的详细信息,包含名称、id、手机号等,固定值,无需修改。

    /service/ISDP__privilege_adapter_BO/1.0.1/queryPortalUserInfo

    删除的参数

    ISDP__syncReviewProcessURl

    无需使用,删除。

如何使用资产

  1. 订购并安装部署ISDP+权限同步BO资产到对应的AppCube生产环境。

    相关操作请参见如何订购&部署资产

  2. 订购并安装部署操作日志BO资产到对应的AppCube生产环境。

    相关操作请参见如何订购&部署资产

    操作日志BO资产的使用和说明请参见操作日志

  3. 订购并安装部署系统参数初始化应用资产到对应的AppCube生产环境。

    相关操作请参见如何订购&部署资产

    系统参数初始化应用资产的使用和说明请参见系统参数初始化

  4. 修改系统参数。

    实现同步功能,只需要手动修改四个参数:comm_isdp_openAPI_domain、comm_isdp_page_domain、comm_appcube_openAPI_domain、comm_appcube_page_domain。

    1. 登录AppCube生产环境。
    2. 图1所示,单击“管理”,选择“应用管理 > 应用导航”,查找到应用“ISDP__sysParamsInitialization”。
      图1 查找应用
    3. 图2所示,单击“操作”列的图标,进入运行态页面。
      图2 进入运行态
    4. 图3所示,单击“系统参数初始化”页签,进入“系统参数初始化”页面。
      图3 进入系统参数初始化页面
    5. 在“系统参数初始化”页面,如图4所示,单击“导入”,在弹出的“导入”页面,单击“下载模板”,下载模板到本地。
      图4 下载模板
    6. 在模板中输入要导入的系统参数和参数值,保存文件,示例如图5所示。
      图5 导入模板示例
    7. 图6所示,在“导入”页面,单击上传文件或拖动文件到该处。
      图6 导入
    8. 单击“确定”,展示导入结果,如图7所示。
      图7 导入结果

      导入成功后,进入“管理 > 系统管理 > 系统参数 > 系统参数”,系统参数值变更为导入的值。

  5. 创建AppCube上的接入认证。

    如果已经有接入认证,可忽略该步骤。

    AppCube版本不同,创建AppCube上的接入认证时,分为普通用户和机机用户两种情况。在“OAuth管理”页面,如果页面显示的为机机用户,如图8所示,则请使用机机用户的方法创建OAuth;如果页面显示的为用户,如图9所示,则使用普通用户的方法创建OAuth。
    图8 机机用户
    图9 普通用户

    以下描述机机用户的方法,普通用户操作类似。

    1. 登录AppCube生产环境。
    2. 图10所示,单击“管理”,选择“系统管理 > OAuth”,进入“OAuth管理”页面。
      图10 进入OAuth管理页面
    3. 单击“新建”,输入名称,授权类型选“客户端模式”,选择用户,如图11所示。
      • 名称:自定义,例如:demotest。
      • 授权类型:固定选择“客户端模式”。
      • 机机用户:用户:选择一个机机用户,当鉴权成功后,将获取和此机机用户相同的权限。
      图11 认证密钥
      • 如果有机机用户,但是机机用户权限不是System Administrator Profile,单击“用户名”,进入到“用户详情”页面,在“详细信息”区域单击权限对应的,修改权限为System Administrator Profile,单击“保存”。

      • 如果不存在机机用户,请在“管理 > 用户管理 > 用户”页面,单击“新建”,在弹出的“新建用户”页面中新建机机用户。

        其中,用户类型选择“机机用户”,权限为“System Administrator Profile”,其他值根据实际情况配置。

    4. 单击“保存”,在“OAuth管理”页面展示新建的记录,如图12所示。
      图12 OAuth管理列表
    5. 单击新建记录“操作”列的,弹出“警告”对话框,如图13所示。
      图13 警告
    6. 单击“确定”,下载密钥文件到本地,如图14所示,从中获取客户端鉴权ID(client id)客户端秘钥(client_secret)
      图14 密钥

  6. 配置租户映射关系。

    • 租户映射关系只能是一对一的关系,即一个ISDP+租户对应一个AppCube租户,且租户关系配置时需要保证一次配置成功,否则要提交电子流修改。
    • 如果已配过ISDP+租户与AppCube租户映射关系,在重新配置之前,需要先删除AppCube上原有的数据,包括业务用户、角色、权限配置、公共组,并删除ISDP+管理员系统(console)上租户映射关系配置,再重新配置租户对接。

    联系对接的ISDP+系统管理员配置AppCube租户与ISDP+上租户映射关系。

    1. 以超级管理员账号登录ISDP+管理员系统(console)(登录地址:https://ISDP+的域名/console#/sysAdmin/home),如图15所示。
      图15 ISDP+管理员系统(console)
    2. 图16所示,选择“用户管理 > 租户关系维护”,进入“租户关系维护”页面。
      图16 租户关系维护
    3. 图17所示,单击“新建”,在弹出的“新增”页面,增加租户关系,具体配置说明请参见表4
      图17 新增
      表4 配置说明

      参数

      配置说明

      示例

      租户ID

      获取ISDP+租户ID和租户名称的方法:

      1. 在ISDP+环境,按F12,打开控制台。
      2. 选择“Network”,鼠标放置到右上角用户信息区域,在弹出的菜单项中选择“账户设置”,查找到“getMyTenant”请求,“Response”中的“tenantId”值即为租户ID,“tenantName”值即为租户租户名称。

      2394

      租户名称

      测试租户

      工具租户ID

      AppCube的租户ID和租户名称。

      获取AppCube租户ID和租户名称的方法:

      1. 在AppCube环境,单击“管理”,选择“用户管理 > 公司配置 > 公司信息”。
      2. 在“详细信息”区域,查看到参数“租户ID”的值,即为AppCube的租户ID;在“基本信息”区域,查看到参数“租户名”的值,即为AppCube的租户名称。

      0000000000nMynLdugrp

      工具租户名称

      test

      租户域名前缀

      AppCube租户域名前缀,可选配置项。

      app

      租户完整域名

      AppCube租户完整域名。

      说明:

      如果没有域名,配置为IP+端口号,格式:https://IP地址:端口号。

      https://AppCube域名

      粗斜体请根据实际情况填写。

      操作类型

      选择操作类型,新增或修改。

      固定配置为“新增”。

      新增

      工具类型

      选择配置的工具类型。

      固定配置为“AppCube”。

      AppCube

      最后更新时间

      选择最后更新时间,精确到秒。

      固定配置为“此刻”。

      2021-12-30 11:05:04

      状态

      选择租户关系的状态,激活或未激活。

      固定配置为“激活”。

      激活

      应用ID

      输入AppCube的client_id和client_secret。即5中创建获取到的客户端鉴权ID(client id)客户端秘钥(client_secret)

      XXXXXXXXXXXXXXXXXX

      应用值

      **********************

    4. 单击“保存”,完成租户映射关系配置。

  7. 订阅“appcubeAdapter应用创建”应用。

    1. 登录ISDP+平台生产环境。
    2. 图18所示,鼠标放置到“公共平台”,选择“系统配置 > 应用设置”。
      图18 进入应用设置
    3. 图19所示,单击“应用订阅”页签。
      图19 应用订阅
    4. 图20所示,单击“订阅应用”,弹出的“订阅应用”页面。
      图20 进入订阅应用
    5. 在“订阅应用”页面,搜索应用“appcubeAdapter应用创建”,并勾选搜索的“appcubeAdapter应用创建”应用,单击

      在“已选数据列表”区域展示订阅的应用,如图22所示。

      图21 订阅应用
      图22 已选数据列表
    6. 单击“确定”,完成应用订阅,如图23所示。
      图23 订阅应用列表

      订阅应用后,在“集成中心 > 集成中心 > 服务集成”的“应用管理”中,可以看到新建的appcubeAdapter应用,如图24所示。

      图24 应用管理

  8. 检查租户级系统参数。

    1. 登录AppCube生产环境。
    2. 图25所示,单击“管理”,选择“应用管理 > 应用导航”,查找到应用“ISDP__sysParamsInitialization”。
      图25 查找应用
    3. 图26所示,单击“操作”列的图标,进入运行态页面。
      图26 进入运行态
    4. 图27所示,单击“系统参数初始化”页签,进入“系统参数初始化”页面。
      图27 进入系统参数初始化页面
    5. 在“系统参数初始化”页面,查看同步四个租户级参数的结果,如图28所示。
      图28 同步四个租户级系统参数结果

  9. 订阅OpenAPI。

    订阅OpenAPI时,使用appcubeAdapter应用进行订阅。

    1. 登录ISDP+平台生产环境。
    2. 图29所示,鼠标放置到“集成中心”,选择“集成中心 > 服务集成”。
      图29 进入服务集成
    3. 图30所示,单击“订阅”,弹出“订阅API”页面。
      图30 订阅
    4. 图31所示,选择appcubeAdapter应用,单击API类型,从左侧查找并勾选要订阅的API到右侧,单击“确定”,需要订阅的API如表5所示。
      图31 订阅API
      表5 需要订阅的API

      应用/BO

      类型

      名称

      别名

      描述

      ISDP+用户与角色同步

      对象API

      findPersonByUserIdListPlainText

      查询人员信息不脱敏

      通过userId集合查询人员信息(敏感信息不脱敏,如电话号码会完整显示)

      findPagedOrgListWithDirection

      查询(上/下级)组织信息

      查询(上/下级)组织信息

      getReportByRuleId

      findReport

      getReportByRuleId

      checkAndCutOver

      cut

      手动触发数据割接

  10. 同步用户、角色、公共组和权限。

    1. 登录AppCube生产环境。
    2. 图32所示,单击“管理”,选择“应用管理 > BO配置”,进入“BO配置”页面。
      图32 进入BO配置
    3. 图33所示,查找到“ISDP+用户与角色同步”,单击,进入ISDP+用户与角色同步的“信息展示同步”页面。
      图33 进入ISDP+用户与角色同步
    4. 图34所示,在“角色”/“用户”/“用户组”/“授权”任一页签中,单击“同步”。
      图34 信息展示同步

      同步后,在“角色”/“用户”/“用户组”/“授权”页签中,可以看到同步结果,如图35所示。

      图35 同步结果

  11. 检查用户、角色、权限和公共组同步。

    1. 登录AppCube生产环境。
    2. 图36所示,单击“管理”,选择“用户管理 > 业务用户”,检查ISDP+的用户和权限是否正确同步。
      图36 业务用户
    3. 图37所示,选择“权限配置”,检查ISDP+的角色是否正确同步。
      图37 权限配置
    1. 图38所示,在“权限配置列表”页面,单击同步过来的角色名称,(例如:施工现场作业负责人),进入“权限配置详情”页面。
      图38 进入权限配置详情
    2. 图39所示,在“权限配置详情”页面,单击“业务权限凭证”,查看业务权限凭证是否与Anonymous User Profile一致。
      图39 业务权限凭证
    3. 图40所示,在“权限配置详情”页面,单击“系统参数”,查看系统参数权限是否与Anonymous User Profile一致。
      图40 系统参数
    1. 图41所示,选择“公共组”,检查ISDP+的公共组是否正确同步。
      图41 公共组

相关文档