From: 刘洪青 Date: Sat, 8 May 2021 07:44:44 +0000 (+0800) Subject: docs: 整理V1.2 部署文档 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=a44d0e1e5286a331b6cc91c4730870c7910d0ed9;p=institute%2Fdeploy-authx-service.git docs: 整理V1.2 部署文档 --- diff --git "a/deploy-manifests/charts/1.2.0000.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214\357\274\210\345\237\272\344\272\216\345\272\224\347\224\250\345\225\206\345\272\227\357\274\211.md" "b/deploy-manifests/charts/1.2.0000.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214\357\274\210\345\237\272\344\272\216\345\272\224\347\224\250\345\225\206\345\272\227\357\274\211.md" new file mode 100644 index 0000000..3c4def5 --- /dev/null +++ "b/deploy-manifests/charts/1.2.0000.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214\357\274\210\345\237\272\344\272\216\345\272\224\347\224\250\345\225\206\345\272\227\357\274\211.md" @@ -0,0 +1,408 @@ + +# 安装部署手册 + +**业务中台之认证授权服务** + + +* 修订历史 + +版本 | 作者 | 日期 | 备注 +- | - | - | - +v1 | 刘洪青 | 2020-06-10 | 初稿 + + +[TOC] + + +## 安装准备 + +### MySQL 初始配置及相关基础命令 + +数据文件目录:/var/lib/mysql + +* 安装完成后,调整 mysql 服务的配置参数 + + 查看当前配置:show variables; + + 最大连接数 max_connections + 操作日志的保留时长 binlog_expire_logs_seconds + + 参考命令: + ``` + set global max_connections = 1000; + set persist max_connections = 1000; + + // 7天 86400 * 7 + // 1天 86400 + set global binlog_expire_logs_seconds = 86400 * 7; + set persist binlog_expire_logs_seconds = 86400 * 7; + ``` + + 时区设置 + + 确保MySQL 的时区设置为 GMT+8 + + +* 创建数据库帐号 + + 参考命令: + ``` + create user 'user'@'%' identified with mysql_native_password by 'your_password'; + ``` + + +* 创建 database + + 参考命令: + ``` + create database `user` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + ``` + + +* 授予权限 + + 将 database 的权限授予对应的帐号 + + 参考命令: + ``` + grant all privileges on `user`.* to 'user'@'%' with grant option; + ``` + + +* 授予 SUPER 权限 + 由于 部分帐号 需要创建 触发器,故,需要 SUPER 权限 + 涉及帐号有 user、user_authz、cas_server + + 参考命令: + ``` + grant SUPER on *.* to 'user'@'%'; + grant SUPER on *.* to 'user_authz'@'%'; + grant SUPER on *.* to 'cas_server'@'%'; + + grant SUPER on *.* to 'tmp_data'@'%'; + ``` + + +* 备份与还原 + + 参考命令: + 备份: + ``` + mysqldump -u root -p cas_server > cas_server.sql + mysqldump -u root -p token_server > token_server.sql + mysqldump -u root -p user > user.sql + mysqldump -u root -p user_authz > user_authz.sql + mysqldump -u root -p agent_service > agent_service.sql + ``` + + 还原: + ``` + mysql -u root -p cas_server < cas_server.sql + mysql -u root -p token_server < token_server.sql + mysql -u root -p user < user.sql + mysql -u root -p user_authz < user_authz.sql + mysql -u root -p agent_service < agent_service.sql + ``` + + +### Harbor 准备及相关说明 + +* 创建 devops 帐号 + + 用于 rancher 部署时拉取镜像 + + 用户管理 下 创建用户 + 如 devops + + +* 镜像同步 + + 从 https://harbor.supwisdom.com 中同步镜像 + + 仓库管理 下 新建目标 + ``` + supwisdom https://harbor.supwisdom.com rancher.devops / PWMgP85qiLFC + ``` + + 同步管理 下 新建规则 + + ``` + thirdparty-agent-service thirdparty-agent-service/* + + authx-service authx-service/* + + user-data-service goa/* + user-authorization-service user-authorization-service/* + personal-security-center personal-security-center/* + + jobs-server jobs-server/* + + cas-server cas-server/* + token-server token-server/* + ``` + + 同步规则,创建完成后,进行镜像同步 + + 选择某个同步规则,点击 同步,等待任务完成 + + +* 授予 devops 帐号 对各个项目的 访客 权限 + + 项目 下,点击 项目名称,进入到 成员,添加用户,查找用户 devops,选择角色 访客,确定,添加即可 + + +### Rancher 准备及相关说明 + +* 商店设置 + + 进入 全局 - 集群(具体名称视项目安装而定) - 工具 - 商店设置,添加应用商店 + + 名称:`supwisdom` + 商店URL地址:`https://e.coding.net/supwisdom/charts/charts.git` + 分支:`master` + 范围:选择`cluster` + + +* 创建项目 + + 进入 全局 - 集群(具体名称视项目安装而定) - 项目/命名空间,添加项目 + + 输入 项目名称,保存 + + 本产品所须创建的项目名称为:`authx-platform` + + +* 启动应用 + + 进入 全局 - 集群(具体名称视项目安装而定) - 项目(某个项目) + + 进入 应用商店 + + 点击 启动,在应用列表中 找到 相关应用 + + 点击 该应用,选择模板版本(一般选择最新的版本),根据情况设置 配置选项,启动 即可 + + 本产品所须的相关应用清单: + ``` + minio Minio文件服务 + + agent-service Agent Service 代理服务 + + authx-service 用户授权相关服务 + + jobs-server 同步服务 + + cas-server CAS 认证 + + token-server Token 认证 + ``` + +* 确定命名空间 + + 本产品安装过程中所须的命名空间如下: + + ``` + authx-minio Minio文件服务 + + agent-service Agent Service 代理服务 + + authx-service 用户授权相关服务 + + jobs-server 同步服务 + + cas-server CAS 认证 + + token-server Token 认证 + ``` + + +### 域名准备 + +* 确定域名 + + 首先明确是否使用泛域名,如:`*.paas.xxx.edu.cn`,或 直接使用学校域名 `xxx.edu.cn` + + 本产品安装需要的域名如下: + ``` + authx-minio.paas.xxx.edu.cn 文件服务 + + security-center.paas.xxx.edu.cn 安全中心 + + cas.paas.xxx.edu.cn CAS 认证(视具体情况,可调整) + token.paas.xxx.edu.cn Token 认证(APP适用) + ``` + + 如果使用 学校域名,则去除 .paas 即可,同时申请开通相关域名 + + + +## 开始安装 + +### 数据库安装(略) + +* 确定服务地址、端口 + + 明确MySQL 数据库的 IP、端口 + + +### 数据库创建 + +* 数据库帐号 + + 以下是 各服务对应的数据库帐号 + + 服务 | 数据库帐号 + - | - + 第三方代理服务 thridparty-agent-service | agent_service + - | - + 用户服务 user-data-service | user + 授权服务 user-authorization-service | user_authz + - | - + 认证服务 cas-server | cas_server + 认证服务(APP适用) token-server | token_server + - | - + v4认证迁移数据 | tmp_data + + 命令: + **请修改命令中的 `your_password` 为实际的数据库帐号的密码** + ``` + create user 'agent_service'@'%' identified with mysql_native_password by 'your_password'; + + create user 'user'@'%' identified with mysql_native_password by 'your_password'; + create user 'user_authz'@'%' identified with mysql_native_password by 'your_password'; + create user 'cas_server'@'%' identified with mysql_native_password by 'your_password'; + create user 'token_server'@'%' identified with mysql_native_password by 'your_password'; + + create user 'tmp_data'@'%' identified with mysql_native_password by 'your_password'; + ``` + + +* 数据库 + + 以下是 各服务对应的数据库 + + 服务 | 数据库 + - | - + 第三方代理服务 thridparty-agent-service | agent_service + - | - + 用户服务 user-data-service | user + 授权服务 user-authorization-service | user_authz + - | - + 认证服务 cas-server | cas_server + 认证服务(APP适用) token-server | token_server + - | - + v4认证迁移数据 | tmp_data + + 命令: + ``` + create database `agent_service` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + + create database `user` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + create database `user_authz` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + create database `cas_server` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + create database `token_server` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + + create database `tmp_data` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; + ``` + + +* 数据库权限授予 + + 将 database 的权限授予对应的帐号 + + 命令: + ``` + grant all privileges on `agent_service`.* to 'agent_service'@'%' with grant option; + + grant all privileges on `user`.* to 'user'@'%' with grant option; + grant all privileges on `user_authz`.* to 'user_authz'@'%' with grant option; + grant all privileges on `cas_server`.* to 'cas_server'@'%' with grant option; + grant all privileges on `token_server`.* to 'token_server'@'%' with grant option; + + grant all privileges on `tmp_data`.* to 'tmp_data'@'%' with grant option; + ``` + + +* SUPER 权限授予 + + 由于 部分帐号 需要创建 触发器,故,需要 SUPER 权限 + 涉及帐号有 user、user_authz、cas_server + + 命令: + ``` + grant SUPER on *.* to 'user'@'%'; + grant SUPER on *.* to 'user_authz'@'%'; + grant SUPER on *.* to 'cas_server'@'%'; + + grant SUPER on *.* to 'tmp_data'@'%'; + ``` + + +* 用户数据的交换帐号 + + **待部署完成后操作** + + 如果,存在数据交换 须将组织机构数据、帐号数据 同步到用户服务的数据库的 + 则,需要创建一个 交换用的数据库帐号(user_trans),并为该帐号授予 表 user.TMP_ORGANIZATION_ORIGIN、user.TMP_ACCOUNT_ORIGIN 的读写操作的权限 + + 命令: + ``` + create user 'user_trans'@'%' identified with mysql_native_password by 'your_password'; + + grant select on `user`.`TMP_ORGANIZATION_ORIGIN` to 'user_trans'@'%'; + grant insert on `user`.`TMP_ORGANIZATION_ORIGIN` to 'user_trans'@'%'; + grant update on `user`.`TMP_ORGANIZATION_ORIGIN` to 'user_trans'@'%'; + grant delete on `user`.`TMP_ORGANIZATION_ORIGIN` to 'user_trans'@'%'; + + grant select on `user`.`TMP_ACCOUNT_ORIGIN` to 'user_trans'@'%'; + grant insert on `user`.`TMP_ACCOUNT_ORIGIN` to 'user_trans'@'%'; + grant update on `user`.`TMP_ACCOUNT_ORIGIN` to 'user_trans'@'%'; + grant delete on `user`.`TMP_ACCOUNT_ORIGIN` to 'user_trans'@'%'; + + grant select on `user`.`TMP_ORGANIZATION_TRANS` to 'user_trans'@'%'; + grant insert on `user`.`TMP_ORGANIZATION_TRANS` to 'user_trans'@'%'; + grant update on `user`.`TMP_ORGANIZATION_TRANS` to 'user_trans'@'%'; + grant delete on `user`.`TMP_ORGANIZATION_TRANS` to 'user_trans'@'%'; + + grant select on `user`.`TMP_ACCOUNT_TRANS` to 'user_trans'@'%'; + grant insert on `user`.`TMP_ACCOUNT_TRANS` to 'user_trans'@'%'; + grant update on `user`.`TMP_ACCOUNT_TRANS` to 'user_trans'@'%'; + grant delete on `user`.`TMP_ACCOUNT_TRANS` to 'user_trans'@'%'; + ``` + + +### rancher 部署(应用商店) + +#### minio + +模式: standalone + +Access Key: 1y8N@8R@a_2u +Secret Key: 8pxlIe9#lN7Q + +域名: authx-minio.paas.xxx.edu.cn + + +#### agent-service + + + + +#### authx-service + + + +#### jobs-server + + + +#### cas-server + + + +#### token-server + + + + + diff --git "a/deploy-manifests/k8s-rancher/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" "b/deploy-manifests/charts/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" similarity index 71% rename from "deploy-manifests/k8s-rancher/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" rename to "deploy-manifests/charts/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" index 69ceee3..71a998c 100644 --- "a/deploy-manifests/k8s-rancher/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" +++ "b/deploy-manifests/charts/1.2.0001.\350\256\244\350\257\201\346\216\210\346\235\203-\346\216\210\346\235\203\346\234\215\345\212\241\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210\350\247\222\350\211\262\357\274\211.md" @@ -20,19 +20,19 @@ ### 创建授权应用 ```sql -INSERT INTO TB_SYSTEM (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, +INSERT INTO TB_R_SYSTEM (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, BUSINESS_DOMAIN_ID, CODE, NAME, ENABLED) -VALUES ('20', '1', 0, 'admin', '2019-07-01 00:00:00', +VALUES ('10', '1', 0, 'admin', '2019-07-01 00:00:00', '1', - '用户授权', '20', '', 1); + '10', '用户授权', 1); INSERT INTO TB_APPLICATION (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, BUSINESS_DOMAIN_ID, SYSTEM_ID, NAME, APPLICATION_ID, SYNC_URL, ENABLED) -VALUES ('20', '1', 0, 'admin', '2019-07-01 00:00:00', - '1', '20', - '20', '用户授权', 1); +VALUES ('10', '1', 0, 'admin', '2019-07-01 00:00:00', + '1', '10', + '用户授权', '10', '', 1); commit; ``` @@ -47,17 +47,17 @@ commit; use user_authz; INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID) -VALUES ('20', '1', 0, 'admin', '2019-07-01 00:00:00', '20', 'cas-admin', '认证管理员', '认证管理员', 1, '20'); +VALUES ('20', '1', 0, 'admin', '2019-07-01 00:00:00', '10', 'cas-admin', '认证管理员', '认证管理员', 1, '20'); INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID) -VALUES ('30', '1', 0, 'admin', '2019-07-01 00:00:00', '20', 'user-admin', '用户管理员', '用户管理员', 1, '30'); +VALUES ('30', '1', 0, 'admin', '2019-07-01 00:00:00', '10', 'user-admin', '用户管理员', '用户管理员', 1, '30'); INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID) -VALUES ('40', '1', 0, 'admin', '2019-07-01 00:00:00', '20', 'user-authz-admin', '授权管理员', '授权管理员', 1, '40'); +VALUES ('40', '1', 0, 'admin', '2019-07-01 00:00:00', '10', 'user-authz-admin', '授权管理员', '授权管理员', 1, '40'); INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID) -VALUES ('41', '1', 0, 'admin', '2019-07-01 00:00:00', '20', 'user-authz-grant-admin', '用户授权管理员', '用户授权管理员', 1, '41'); +VALUES ('41', '1', 0, 'admin', '2019-07-01 00:00:00', '10', 'user-authz-grant-admin', '用户授权管理员', '用户授权管理员', 1, '41'); INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME, APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID) -VALUES ('42', '1', 0, 'admin', '2019-07-01 00:00:00', '20', 'user-authz-man-grant-admin', '分级授权管理员', '分级授权管理员', 1, '42'); +VALUES ('42', '1', 0, 'admin', '2019-07-01 00:00:00', '10', 'user-authz-man-grant-admin', '分级授权管理员', '分级授权管理员', 1, '42'); commit; ``` @@ -67,8 +67,12 @@ commit; ```sql use user_authz; -UPDATE TB_ROLE SET APPLICATION_ID='20' WHERE ID IN ('20', '30', '40', '41', '42'); +UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID IN ('20', '30', '40', '41', '42'); commit; ``` + + + + diff --git "a/deploy-manifests/k8s-rancher/1.2.0002.\350\256\244\350\257\201\346\216\210\346\235\203-\344\272\221\345\271\263\345\217\260\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210API\350\267\257\347\224\261\343\200\201\345\272\224\347\224\250\343\200\201\350\217\234\345\215\225\343\200\201\350\247\222\350\211\262\346\235\203\351\231\220\357\274\211.md" "b/deploy-manifests/charts/1.2.0002.\350\256\244\350\257\201\346\216\210\346\235\203-\344\272\221\345\271\263\345\217\260\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210API\350\267\257\347\224\261\343\200\201\345\272\224\347\224\250\343\200\201\350\217\234\345\215\225\343\200\201\350\247\222\350\211\262\346\235\203\351\231\220\357\274\211.md" similarity index 100% rename from "deploy-manifests/k8s-rancher/1.2.0002.\350\256\244\350\257\201\346\216\210\346\235\203-\344\272\221\345\271\263\345\217\260\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210API\350\267\257\347\224\261\343\200\201\345\272\224\347\224\250\343\200\201\350\217\234\345\215\225\343\200\201\350\247\222\350\211\262\346\235\203\351\231\220\357\274\211.md" rename to "deploy-manifests/charts/1.2.0002.\350\256\244\350\257\201\346\216\210\346\235\203-\344\272\221\345\271\263\345\217\260\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\357\274\210API\350\267\257\347\224\261\343\200\201\345\272\224\347\224\250\343\200\201\350\217\234\345\215\225\343\200\201\350\247\222\350\211\262\346\235\203\351\231\220\357\274\211.md" diff --git a/deploy-manifests/k8s-rancher/authx-platform.png b/deploy-manifests/k8s-rancher/authx-platform.png deleted file mode 100644 index 169a3f3..0000000 Binary files a/deploy-manifests/k8s-rancher/authx-platform.png and /dev/null differ