认证授权服务升级文档(V1.3 ~ V1.4)

部署变更说明

对本次升级进行的简要说明,具体的升级步骤,详见 升级说明

  1. 数据库用户变更

新增,authx_log (可选)移除,agent_service

  1. 镜像变更

新增,authx-log 新增,attest-server

  1. 域名变更

(可选)新增,域名 authx-service,将 personal-security-center、security-center、以及 authx-management 合并 (可选)废弃,域名 personal-security-center,合并至 域名 authx-service (可选)废弃,域名 security-center,合并至 域名 authx-service (可选)迁移,原域名 authx-management 挂在 域名 admin-platform 域名下,现合并至 authx-service (可选)废弃,域名 token,合并至 域名 cas

  1. Context Path 变更

(可选)变更,personal-security-center-zuul,context path 更新为 /personal (可选)变更,token-server,context path 更新为 /token

  1. 访问地址变更

(可选)变更,用户认证授权管理前端UI,https://admin-platform.paas.xxx.edu.cn/authx-management 变更为 https://authx-service.paas.xxx.edu.cn/authx-management (可选)变更,安全中心后端API,https://personal-security-center.paas.xxx.edu.cn 变更为 https://authx-service.paas.xxx.edu.cn/personal (可选)变更,Token 认证,https://token.paas.xxx.edu.cn 变更为 https://cas.pass.xxx.edu.cn/token

  1. 部署yaml 变更

新增,7.attest-server 新增,8.authx-log

新增,0.authx-service,4.4.authx-service-bff.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_*

新增,1.thirdparty-agent-service,4.2.thirdparty-agent-service.yaml,ConfigMap 增加 人脸服务对接配置 FACE_*

新增,2.user-data-service,4.1.user-data-service-poa.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 新增,2.user-data-service,4.2.user-data-service-goa.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 新增,2.user-data-service,4.3.user-data-service-biz.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_*

新增,3.user-authorization-service,4.1.user-authorization-poa.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 新增,3.user-authorization-service,4.2.user-authorization-sa.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_*

新增,4.cas-server,4.2.cas-server-sa-api.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 新增,4.cas-server,4.5.cas-server-site-webapp.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_*

新增,5.token-server,4.1.token-server.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 变更,5.token-server,4.1.token-server.yaml,ConfigMap 修改 将 SPRING_RABBITMQ_* 调整为 USER_RABBITMQ_* (可选)新增,5.token-server,4.1.token-server.yaml,ConfigMap 增加 context path 配置 SERVER_SERVLET_CONTEXT_PATH: /token (可选)变更,5.token-server,4.1.token-server.yaml,ConfigMap 修改 TOKEN_SERVER_PREFIX: https://cas.paas.xxx.edu.cn/token

新增,6.personal-security-center,4.4.personal-security-center-bff.yaml,ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* (可选)新增,6.personal-security-center,4.5.personal-security-center-zuul.yaml,ConfigMap 增加 context path 配置 SERVER_SERVLET_CONTEXT_PATH: /personal (可选)变更,6.personal-security-center,4.4.personal-security-center-bff.yaml,ConfigMap 修改 PERSONAL_SECURITY_CENTER_SERVER_PREFIX: https://authx-service.paas.xxx.edu.cn/personal (可选)变更,6.personal-security-center,4.5.personal-security-center-zuul.yaml,ConfigMap 修改 APP_SERVER_HOST_URL: https://authx-service.paas.xxx.edu.cn/personal (可选)变更,6.personal-security-center,4.5.personal-security-center-zuul.yaml,ConfigMap 修改 APPLICATION_INDEX_REDIRECT_URI: https://authx-service.paas.xxx.edu.cn (可选)变更,6.personal-security-center,4.9.security-center-ui.yaml,ConfigMap 修改 MAIN_SERVER: https://authx-service.paas.xxx.edu.cn (可选)变更,6.personal-security-center,4.9.security-center-ui.yaml,ConfigMap 修改 PERSONAL_CENTER_API: https://authx-service.paas.xxx.edu.cn/personal

升级说明

  1. 将 工作负载 下的服务 升级到 1.4.x 版本(注意,先执行 *-installer

  2. 部署 7.attest-server

  3. 部署 8.authx-log

  4. ConfigMap 增加 日志服务相关配置 AUTHX_LOG_* 包括: authx-service-bff user-data-service-poa user-data-service-goa user-data-service-biz user-authorization-poa user-authorization-sa cas-server-sa-api cas-server-site-webapp token-server personal-security-center-bff

  5. token-server,ConfigMap 增加 USER_RABBITMQ_*

  6. (可选)调整 authx-management-ingress 的 host 为 authx-service.paas.xxx.edu.cn

  7. (可选,和 6 一起修改)修改 ConfigMap admin-platform/admin-platform-spa-env 下的配置项 CAS_SERVER_SPA_URL, USER_SERVER_SPA_URL, AUTH_SERVER_SPA_URL

CAS_SERVER_SPA_URL: https://authx-service.paas.xxx.edu.cn/authx-management/cas-server-ui
USER_SERVER_SPA_URL: https://authx-service.paas.xxx.edu.cn/authx-management/user-server-ui
AUTH_SERVER_SPA_URL: https://authx-service.paas.xxx.edu.cn/authx-management/auth-server-ui
  1. (可选)token-server,ConfigMap 增加 context path 配置 SERVER_SERVLET_CONTEXT_PATH: /token

  2. (可选,和 8 一起修改)调整 token-server-ingress 下 token-server-svc 对应的 path 为 /token

  3. (可选)调整 token-server-ingress 的 host 为 cas.paas.xxx.edu.cn;调整 host 后,必须增加 context path 配置(即 8、9)

注: 若 修改了 token-server 的 context path、或 调整了host,则须调整 超级APP 的配置

  1. (可选)修改 token-server 的 ConfigMap

TOKEN_SERVER_PREFIX: https://cas.paas.xxx.edu.cn/token 注: 若 context path 未配置,则不修改; 若 host 未调整,则修改为 https://token.paas.xxx.edu.cn/token

  1. (可选)personal-security-center-zuul,ConfigMap 增加 context path 配置 SERVER_SERVLET_CONTEXT_PATH: /personal

  2. (可选,和 12 一起修改)调整 personal-security-center-ingress 下 personal-security-center-zuul-svc 对应的 path 为 /personal

  3. (可选)调整 personal-security-center-ingress 的 host 为 authx-service.paas.xxx.edu.cn;调整 host 后,必须增加 context path 配置(即 12、13)

注: 若 修改了 personal-security-center-zuul 的 context path、或 调整了host,则须调整 超级APP 的配置、门户个人中心 的配置

  1. (可选)调整 security-center-ingress 的 host 为 authx-service.paas.xxx.edu.cn

  2. (可选)修改 personal-security-center-zuul 的 ConfigMap

PERSONAL_SECURITY_CENTER_SERVER_PREFIX: https://authx-service.paas.xxx.edu.cn/personal 注: 若 context path 未配置,则不修改; 若 host 未调整,则修改为 https://personal-security-center.paas.xxx.edu.cn/personal

APP_SERVER_HOST_URL: https://authx-service.paas.xxx.edu.cn/personal 注: 若 context path 未配置,则不修改; 若 host 未调整,则修改为 https://personal-security-center.paas.xxx.edu.cn/personal

APPLICATION_INDEX_REDIRECT_URI: https://authx-service.paas.xxx.edu.cn (若 host 未调整,则不修改)

  1. (可选)修改 security-center-ui 的 ConfigMap

MAIN_SERVER: https://authx-service.paas.xxx.edu.cn (若 host 未调整,则不修改)

PERSONAL_CENTER_API: https://authx-service.paas.xxx.edu.cn/personal 注: 若 context path 未配置,则不修改; 若 host 未调整,则修改为 https://personal-security-center.paas.xxx.edu.cn/personal

初始化数据

创建路由

在 云平台 管理中心 中,添加 接口路由;

管理功能的接口请求,由管理中心的后端网关,统一路由至 相关服务。

若 路由记录已经存在,请确认 其 路由服务地址 是否正确

方式一,手动添加

进入 云平台 - 基础管理 - 路由管理,添加路由记录

注:

  • 路由前缀 如:/api/v1/sample/**,确保与其他路由信息 不存在冲突
  • 后端服务地址 如:http://xxx.sample.edu.cn
  • 是否丢弃前缀,若是,转发到后端服务时的请求为 http://xxx.sample.edu.cn/**,否则为 http://xxx.sample.edu.cn/api/v1/sample/**

代码 | 名称 | 描述 | 是否启用 | 路由前缀 | 路由服务地址 | 是否丢弃前缀

创建菜单

方式一,手动导入

进入 云平台 - 基础管理 - 菜单管理,导入

所属应用 选择 用户授权

菜单列表(JSON)如下,(复制后粘贴)

将 origin 修改为正确的 学校域名

  • 认证管理
[
  {
    "id": "20920", "parentIdOrCode":"20000", "code": "twoFactorAuth", "name": "双因子认证", "memo": "", "status": "1", 
    "icon": "su-icon-test", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/cas-server/twoFactorAuth", "target": "", 
    "order": 20920, "resourceIdOrCodes": []
  },
  {
    "id": "22000", "parentIdOrCode":"20000", "code": "logManagement", "name": "日志管理", "memo": "", "status": "1", 
    "icon": "su-icon-taocanguanli", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/cas-server/logManagement", "target": "", 
    "order": 22000, "resourceIdOrCodes": []
  }
]

方式二,bash脚本

将 origin 修改为正确的 学校域名

进入 admin-center-sa 下的 pod, 执行命令行

  • 认证管理
curl -i -s -X POST "http://localhost:8080/v1/admin/menus/importMenu" -H 'Content-Type: application/json' \
-d \
'
{
  "applicationId": "10",
  "menuList": 
    [
      {
        "id": "20920", "parentIdOrCode":"20000", "code": "twoFactorAuth", "name": "双因子认证", "memo": "", "status": "1", 
        "icon": "su-icon-test", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/cas-server/twoFactorAuth", "target": "", 
        "order": 20920, "resourceIdOrCodes": []
      },
      {
        "id": "22000", "parentIdOrCode":"20000", "code": "logManagement", "name": "日志管理", "memo": "", "status": "1", 
        "icon": "su-icon-taocanguanli", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/cas-server/logManagement", "target": "", 
        "order": 22000, "resourceIdOrCodes": []
      }
    ]
}
'

关联角色权限

角色由授权服务进行初始化

方式一,手动导入(暂不支持)

进入 云平台 - 基础管理 - 角色权限,导入

角色权限(JSON)如下,(复制后粘贴)

[
  {
    "roleId": "20", "roleCode":"cas-admin", 
    "permissionIdOrCodes": ["20920", "22000"]
  }
]

方式二,bash脚本

进入 admin-center-sa 下的 pod, 执行命令行

curl -i -s -X POST "http://localhost:8080/v1/admin/rolePermissions/importRolePermission" -H 'Content-Type: application/json' \
-d \
'
{
  "roleCodeIdMap": {
    "cas-admin": "20",
    "user-admin": "30",
    "user-authz-admin": "40",
    "user-authz-grant-admin": "41",
    "user-authz-man-grant-admin": "42"
  },
  "rolePermissionList": 
    [
      {
        "roleId": "20", "roleCode":"cas-admin", 
        "permissionIdOrCodes": ["1", "20000", "20100", "20200", "20300", "20400", "20500", "20600", "20700", "20800", "20900", "20920", "21000", "21100", "22000"]
      },
      {
        "roleId": "30", "roleCode": "user-admin", 
        "permissionIdOrCodes": ["1", "30000", "30100", "30200", "30300", "30400", "30500", "30600", "30700", "30800", "31000"]
      },
      {
        "roleId": "40", "roleCode": "user-authz-admin", 
        "permissionIdOrCodes": ["1", "40000", "40050", "40100", "40200", "40300", "40500", "40900", "41100", "41200", "41300", "41350", "41400", "41500"]
      },
      {
        "roleId": "41", "roleCode": "user-authz-grant-admin", 
        "permissionIdOrCodes": ["1", "40000", "40100", "40300", "40500"]
      },
      {
        "roleId": "42", "roleCode": "user-authz-man-grant-admin", 
        "permissionIdOrCodes": ["1", "40000", "40900"]
      }
    ]
}
'