业务中台之认证授权服务
版本 | 作者 | 日期 | 备注
数据文件目录:/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
创建 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,选择角色 访客,确定,添加即可
商店设置
进入 全局 - 集群(具体名称视项目安装而定) - 工具 - 商店设置,添加应用商店
名称: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、端口
数据库帐号
以下是 各服务对应的数据库帐号
服务 | 数据库帐号
命令: 请修改命令中的 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';
数据库
以下是 各服务对应的数据库
服务 | 数据库
命令:
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'@'%';
模式: standalone
Access Key: 1y8N@8R@a_2u Secret Key: 8pxlIe9#lN7Q
域名: authx-minio.paas.xxx.edu.cn