华为云用户手册

  • 录入证书时提示 "Forbidden to import STS Certificate." 出现这个提示,是因为证书中包含禁止录入的证书,当前被禁止的证书有:STS实例证书(含私钥)。 这类证书无需在CMS上录入,请业务在部署时集成stsagent_install部署包进行证书的申请,或在容器内通过容器服务申请STS实例证书,业务运行时可直接通过STS SDK获取STS实例证书的路径及口令,对证书进行加载。 父主题: 证书管理服务
  • 用户类型 AppStage分为两种用户类型,组织管理员(租户开通者)和企业成员,具体如表1所示。 表1 用户类型 用户类型 用户在AppStage被授予角色说明 角色对应的权限说明 组织管理员(租户开通者) 购买AppStage的华为云主账号默认为组织管理员。 作为当前应用平台云服务的开通者,除具有应用平台内套餐的订购权限外,具备当前租户下AppStage业务控制台全部的操作权限,如系统级功能的维护,如公告、应用基础信息(产品、服务、微服务)等。 可审批所有角色的申请。 企业成员 租户管理员在AppStage中添加的成员,具体请参见添加成员。 成员添加后不具备任何角色权限,需要自行申请权限,申请权限的操作请参见申请权限,可申请的角色名称请参见内置企业成员角色和权限。 角色对应的权限,请参见内置企业成员角色和权限。
  • 内置企业成员角色和权限 AppStage内置的企业成员角色和权限如内置企业成员角色和权限所示。 表2 内置成员岗位/角色 子系统 岗位/角色 级别 岗位/角色描述 可管理的下级岗位/角色 申请加入时审批者岗位/角色 应用平台系统级 组织管理员(非租户开通者) 系统级 具备AppStage业务控制台全部的操作权限,如系统级功能的维护,如公告、应用基础信息(产品、服务、微服务)等。 开发中心所有角色 运维中心所有的岗位/角色 应用运行时引擎所有的岗位/角色 运营中心所有的角色 组织管理员(租户开通者) 开发中心 项目经理 服务级 服务级的管理员角色,可查看所在服务在开发中心中的所有内容,以及所有的操作。 开发人员 测试人员 浏览者 组织管理员 开发人员 服务级 服务级的开发人员角色,可查看所在服务在开发中心中的所有内容,以及开发涉及的操作。 无 组织管理员 所在服务的项目经理 测试人员 服务级 服务级的开发人员角色,可查看所在服务在开发中心中的所有内容,以及测试涉及的操作。 浏览者 服务级 服务级的浏览者角色,可查看所在服务在开发中心中的所有内容,不可操作。 运维中心 运行时引擎 安全运维代表角色 横向角色 安全运维代表作为安全领域审批人,对申请人申请权限或提交操作电子流的合理性和必要性进行审核,允许SRE申请。 服务敏感数据研发管理岗位 组织管理员 数据库DBA角色 横向角色 限数据库管理员申请,数据库DBA角色横向拉通一个租户组的数据库管理。具有以下权限: 编辑和查看数据库治理(WiseDBA)的配置,数据库治理的管理操作权限。 数据库应用root登录权限。 数据库治理(WiseDBA)使用的公有云数据库服务的操作权限。 弹性网络服务(ERS)、主机管理服务(VMS)的只读权限。 查看数据库治理(WiseDBA)的监控大盘和业务报表、调用链、日志检索、告警和事件(含处理权限),原始日志的即席查询。 无 组织管理员 主机运维角色 横向角色 适用于主机运维人员申请,主机运维角色横向拉通一个租户组的主机管理。具有以下权限: 可操作全局服务器资源,具有主机管理服务(VMS)的查看和编辑权限;可选公有云计算类资源全局管理员权限。 查看主机的监控大盘和报表、调用链和日志索引,处理告警和事件。 无 组织管理员 运维监控中心角色 横向角色 仅限7x24小时运维监控室人员(SRE)申请,具有横向拉通一个租户组的运维告警/监控大盘/日志的查看处置权限。具有以下权限: 查看服务的配置。 控制台的只读权限,包括部署服务、EAP、演练服务(WiseChaos)、弹性网络服务(ERS)、主机管理服务(VMS)的只读权限。 查看服务的监控大盘和业务报表、调用链、日志检索、告警和事件(含处理权限),原始日志的即席查询。 无 组织管理员 产品研发代表岗位 产品级 产品研发代表作为研发领域审批人,对申请人申请权限或提交操作电子流的合理性和必要性进行审核,允许研发人员申请。 服务研发岗位 组织管理员 产品运维代表岗位 产品级 产品运维代表作为运维领域审批人,对申请人申请权限或提交操作电子流的合理性和必要性进行审核,允许SRE申请。 服务运维岗位 服务数据分析岗位 组织管理员 服务研发岗位 服务级 即研发人员,适合业务的研发人员申请。具有以下权限: 查看服务的配置。 部署服务控制台的只读权限。 查看服务的监控大盘和业务报表、调用链、告警和事件、日志检索,原始日志的即席查询。 无 产品研发代表岗位 组织管理员 服务运维岗位 服务级 即业务运维人员,仅允许业务SRE申请。具有以下权限: 编辑、查看SRE所负责服务的配置。 控制台操作权限,包括服务的部署和升级、EAP编排、演练服务(WiseChaos)管理,自定义报表管理,作业平台操作。 服务使用的公有云服务的操作权限。 弹性网络服务(ERS)、主机管理服务(VMS)的只读权限。 查看服务的监控大盘和业务报表、调用链、日志检索、告警和事件(含处理权限),原始日志的即席查询。 负载均衡(SLB)、部署服务、证书管理服务(CMS)、微服务平台(NUWA)、数据库治理(WiseDBA)的服务运维操作权限。 无 产品运维代表岗位 组织管理员 服务数据分析岗位 服务级 适合大数据相关业务研发人员申请。用于在数据分析平台对业务数据分析,具有以下权限: 查看服务的监控大盘和业务报表调用链、日志检索、告警和事件。 开发数据分析模型,编辑配置服务的报表。 无 产品运维代表岗位 组织管理员 服务敏感数据研发管理岗位 服务级 适合业务研发人员申请。用于服务研发人员在访问凭据管理服务(ACMS)和证书管理服务(CMS)的两个管理台做证书管理和敏感配置管理。该岗位人员具有的详细权限包括: 可在访问凭据管理服务(ACMS)管理Portal注册微服务、录入/修改敏感配置项、查看页面所有配置项信息。 可在证书管理服务(CMS)管理Portal做微服务证书管理和 域名 证书查看,包括微服务证书录入、删除未分发状态的微服务证书和失效状态的四类受信CA证书、可查看所有的域名证书和微服务证书。 说明: 如果仅是查看访问凭据管理服务(ACMS)和证书管理服务(CMS)管理Portal的微服务证书文件名称、域名证书基本信息、敏感配置项名称等信息,仅需具备“服务研发岗位、服务运维岗位”权限即可查看,无需申请服务敏感数据研发管理岗位。 无 安全运维代表角色 组织管理员 运营中心 运营管理员 服务级 服务级运营数据管理角色,可执行数据管理,模型管理,指标管理,卡片管理,大屏管理,审计日志查看等运营管理动作。 指标开发者 指标查看者 组织管理员 指标开发者 服务级 服务级指标开发者角色,可执行数据接入,模型开发,指标开发,卡片开发,大屏管理等运营数据开发动作。 无 组织管理员 运营管理员 指标查看者 服务级 服务级运营数据查看人员角色,可查看运营中心的指标数据。
  • 证书即将过期/已经过期、收到证书过期告警如何处理? 当证书即将过期时,到期前45天前即开始产生告警、发送到运维中心的告警中心,随着时间接近,告警等级将逐渐提升。 证书过期告警发送的范围,是证书所属服务关联的服务组。 证书过期告警将通过应用平台Console ServiceInsight告警中心通知到具体业务,实际的通知方式对应业务可在应用平台Console ServiceInsight自行配置。注意查询告警时将所有告警级别都选上。 证书管理平台提供预警证书管理页面,研发、运维人员也可自行在该页面查看自有服务中即将到期的证书的基本信息。 父主题: 证书管理服务
  • 物理机未知错误 出现xx.xx.xx.xx execute change password failure for user: {"cause":"unexpected error","detail":"Can't find server type=PM from cmdb=aae2eb01-9062-48a4-af7c-9fd25a72ccb7","success":false}.报错,为物理机未知错误,需要排查物理机是否关机,尤其是华为公有云/ Huawei Cloud Developer/ HDPetalCareService服务主机,由于数据割接问题+主机关机会触发该报错。
  • SSH连接超时 出现xxx.xxx.xxx.xxx execute change password failure for user: {"cause":"ssh connect timeout","detail":"DefaultConnectFuture[root@/xxx.xxx.xxx.xxx]: Failed to get operation result within specified timeout: 10000","success":false}报错,排查思路如下:
  • CMDB里的root通道无法连接 出现报错xx.xx.xx.xx execute change password failure for user: {"cause":"","detail":"All host:xx.xx.xx.xx root channel from cmdb can't connect.","success":false}.报错,排查思路如下: 查看主机租户是否是电商vmall所用的dianshang001,如果是的话,祥云上应该没有该主机的root通道。 如果不是电商vmall主机,可以查看主机运行状态,确定主机是否关机了。
  • 创建SSH连接失败 出现xx.xx.xx.xx execute change password failure for user: {"cause":"unexpected error","detail":"Create ssh connect failed: Session is being closed","success":false}.报错,主机登录不上,SSH会话被关闭,需要从跳板机上尝试SSH到目标主机,查看连接是否被目标主机关闭了,如果是的话,建议重启目标主机。
  • 主机密码失效 出现xx.xx.xx.xx execute change password failure for user: {"cause":"execute command timeout","detail":"CHANGE_PASSWORD_EXPIRE_TO_90 execute timeout.","success":false}.或者xx.xx.xx.xx execute change password failure for user: {"cause":"execute command fail","detail":"Remote command failed (1): CHANGE_PASSWORD_EXPIRE_TO_90; nested exception is: \n\tjava.rmi.ServerException: 1","success":false}.报错,表示主机密码距上次改密超过90天,密码超期失效了。需要改密失败原因大致为磁盘空间耗尽(物理机)、文件系统损坏。
  • 无法从CMDB里找到主机通道(或者root通道) 出现xx.xx.xx.xx execute change password failure for user: {"cause":"","detail":"Can't find host:xx.xx.xx.xx channels from cmdb.","success":false}.或者xx.xx.xx.xx execute change password failure for user: {"cause":"","detail":"Can't find host: xx.xx.xx.xx root channel from cmdb.","success":false}.报错,表示无法从CMDB里找到主机通道(或者root通道)。需要查看祥云vms服务运维账号—账号列表中是否存在主机通道。 尝试在os管理—os列表中单击“os发现”按钮,对主机进行os发现,然后再尝试重置密码。 如果无法解决,则尝试登录主机,核实是否业务SRE在华为云控制台上直接购买的机器,选择了密码登录方式,导致创建出来的主机未部署公私钥,祥云无法与之建立通道。 一些安全用途主机由于使用的是私有镜像,祥云与主机之间无法建立通道。
  • 连接服务失败 出现xxx.xxx.xxx.xxx execute change password failure for user: {"cause":"unexpected error","detail":"Connect server failed.","success":false}.报错,需要排查是否为windows主机,如果是的话,需要登录windows主机执行windows初始化配置,然后重置windows密码或者重新将现有密码在祥云上进行一遍windows密码注册。 windows初始化配置为:Set-ExecutionPolicy RemoteSigned -Force;winrm quickconfig -q -force;winrm set winrm/config/service/auth '@{Basic="true"}';winrm set winrm/config/service '@{AllowUnencrypted="true"}';New-NetFirewallRule -Name Ansible -DisplayName Ansible -Enabled True -Action Allow -Protocol TCP -LocalPort 5985 -Direction InBound
  • 更多操作 部门添加成功后,您还可以进行以下操作。 表1 部门管理 操作名称 操作步骤 编辑部门 单击待修改部门所在行“操作”列下的“编辑部门”。 修改部门信息,单击“更新”。 说明: 组织创建成功后,会默认生成一个一级部门,该一级部门不支持编辑。 删除部门 单击待删除部门所在行“操作”列下的“删除”。 单击“确认”。 说明: 删除部门前,需要先删除该部门下所有子部门,否则无法删除部门。 删除部门后,数据无法恢复,请谨慎操作。
  • 确认配置无问题,pod的ip仍没有刷新到SLB 配置正常的情况下,ip仍没有刷新到SLB,需要检查网络是否通畅,如果网络不通,需要申请网络放通。 进入业务pod的命令行,验证pod到slb的网络是否通畅。 ping [slb的ip] curl -v http://[slb的ip]:[监听端口] 登录SLB主机,同样验证网络是否通畅。 ping [pod的ip] curl -v http://[pod的ip]:[pod的端口] 父主题: 弹性资源服务
  • 处理方法 检查导入包路径是否正确。 正例:from utils.common import polling 反例:from common import polling 检查 function_name 文件中内容是否正确。 正确格式为:业务目录名|编排文件名.入口方法名|函数名|服务名。 业务目录名:各业务自己定义的业务名称,如pps。 编排文件名.入口函数名:以点号(.)分隔,点号前为编排文件名,点号后为入口方法名,编排文件和入口方法只支持字母、数字、下划线和中划线,总长度不大于64。如query_data.handler。 函数名:在函数平台部署的名字,也是创建编排任务时要选的名字,要求名称不少于2位且不超过63位,支持小写字母、数字和中划线(-),以小写字母开头,小写字母或数字结尾,如query-data。 服务名:目前先和业务目录名保持一致即可,如pps。
  • 常见问题 表1 Cloud Map常见问题 问题 报错原因 解决办法 “code”:403,no permission to access 业务没有权限访问中间件资源 登录Cloud Map管理台查看资源的授权信息。 如果自身的服务或微服务不在授权范围内,则没有访问权限,需要确认注册中间件资源时所设置的授权信息(一般是集群所属的服务才有权限)。 sds报错no permission,在sds管理台新增SDK配置时没有填写正确的微服务名。 Rainbow使用共享服务报错no permission,需要将Rainbow资源在sdk管理台注册到自己的服务下,而不是其他服务下。 微服务不为*,则只有一个微服务有权限。如果需要改成*,需要在相应管理台同步配置时不要选微服务名。 “code”:404,resource is not exist 业务要找的资源不存在 先确认资源是否存在,登录Cloud Map管理台查找资源,如果不存在,参考开发指南注册资源。 如果资源确实存在,请检查资源的属性和业务配置属性是否一致,如namespace、服务名、集群名等。 debug查看调用Cloud Map接口的数据(如serviceName)是否正常。 共享服务的,请检查配置是否正确。 检查NUWA版本是否过低,建议3.0.5.101以上。 Too many connections 低版本asynchttpclient连接数超过设置最大值(默认为cpu核数,不超过4) 升级SDK版本号。 修改asynchttpclient连接数。 父主题: Cloud Map SDK Java语言/Go语言/C语言
  • SDK使用注意事项 使用Gray SDK时,需要先在管理台配置好灰度规则,再启动Gray SDK,否则灰度规则不生效。 使用 CS E3.X版本集成graysdk(或者使用NUWA 3.1.x.x方式间接集成),默认支持多种注册中心(CSE注册中心,Cloud Map注册中心等),当前Gray SDK版本适配中。 集成使用graysdk-cse3的AZ亲和能力的时候需要注意,由于CSE3.x会默认配置"region"、"availableZone"的值为default,而CSE2.x版本不会赋值,这是CSE框架的前后不兼容导致,因此使用AZ亲和能力时候,请务必保证consumer端和provider端的CSE大版本保持一致。 父主题: SLB SDK Java语言
  • 异常3:NodeDataSource can't init或者init dataSource Params Error! 异常:com.huawei.rainbow.exception.RainbowRunTimeException: NodeDataSource can't init: dsKey=xx.xx.xx.xx:3306@mysql或者Caused by: com.huawei.rainbow.exception.DbNodeInitialException: [ConfigError]init dataSource Params Error! config is 原因1:大部分就是密码为null或者空串。 定位: 请认真检查密码配置是否解密成功。通过搜索Rainbow日志关键字:Password is Empty! 请检查解密类是否继承了基类com.huawei.rainbow.utils.PasswordCoder。 搜索rainbow日志关键字:DbNodeConfig Check,查看是否校验失败。 解决:使用正确的密码。 原因2:如果用的是cloud+stsl连的高斯数据库,原因是没有STS的调用步骤。 通过搜索rainbow日志关键字:Password is Empty! 解决:正确调用STS。 原因3:本地连接报这个错。 解决: 先把配置信息删除,给Schema创建新的业务账号,新增配置信息。 把config目录下的rainbow.properties里面的ETCD地址和密码注释掉。
  • 异常2:Access denied for user 异常:java.sql.SQLException: Access denied for user 'xxxx'@'xx.xx.xx.xx' (using password: YES) 原因1:密码错误或者服务器分配权限错误。现网问题定位占了60%左右。数据库登录密码是否使用了明文! 定位: 请认真检查密码配置,检查MySQL权限是否分配正确。 通过dump内存,搜索相关关键字判断解密字符为需要的字符串。 解决:使用正确的密码。 原因2:或者是业务账号配错。 解决:删除SDK配置信息,重新在wisedba新建业务账号,在SDK配置重新录入配置信息。
  • 异常5:Key not found, cause 或者 item lose 异常:类似 Key not found, cause: /Dbmonitor/status/DB/Services/xzjDB/xzjDB/activeDBs/mysql222, at index: 211562166 或者: item lose 关键字 或者:Caused by: com.huawei.rainbow.exception.ParameterErrorException: xxxx can not be null, length need bigger than 0
  • 异常6:datasource.properties没有更新,或者没有拉取到某个数据库配置 原因1:ETCD地址是否配错。 原因2:检查是否配置了DBDataSource的懒加载模式,只有当用数据库的时候才初始化,拉取配置。 定位: 检查ETCD地址是否配错,查看日志是否有ETCD连接相关的错误。如果有,请修改重启。 检查是否配置了DBDataSource的懒加载模式、只有当用数据库的时候才初始化,拉取配置。如果是,触发一次数据库操作,看下是否更新。
  • 异常4:dbGroupKey can not be null 异常:ParameterErrorException: dbGroupKey can not be null, length need bigger than 0(或者类似参数异常错误)。 原因1:dbGroupKey为null或者空串。 必填字段会做参数校验,请检查相关参数是否设置。 原因2:确定是否在rainbow.properties 中配置ETCD地址。 解决: 找到设置参数的地方,咨询核对配置的appName,dbGroupKey,dbName是否正确。
  • SDK配置及STS SDK初始化 配置方式 使用properties库提供的实例作为输入来配置sts go sdk: stsProperties := properties.LoadMap( map[string]string{ "sts.server.domain":"10.33.102.162:8080", "sts.config.path":"/opt/huawei/certs/SecurityMgmtService/SecurityMgmtMicroService/SecurityMgmtMicroService.ini"} ) stsgoapi.InitWith(*stsProperties) error 表1 配置参数含义 配置项名称 含义 sts.server.domain sts server的地址和端口号。 sts.config.path 存放微服务或者服务证书的路径。 sts.config.refresh.time 后台刷新获取所有token的时间。 启动STS SDK SDK导入本地证书和密钥,若本地无密钥则向sts server申请凭证和密钥(kek/dk/sk),sts server下发的密钥包含了所有历史版本的密钥,SDK默认采用最新版本的密钥进行加解密。如果初始化过程中产生错误,会返回错误信息,如果成功,则直接返回nil。
  • 集成SDK go项目可以以go mod的方式集成,坐标为huawei.com/wisesecurity/sts-sdk。 接入需配置GOPROXY=http://cmc.centralrepo.rnd.huawei.com/go-artifactory/go-ccs/|http://mirrors.tools.huawei.com/goproxy/|http://cmc.centralrepo.rnd.huawei.com/go/|https://cmc.centralrepo.rnd.huawei.com/artifactory/product_go。
  • SDK概述 构建云原生DevOps全流程可信build-in的数据库治理解决方案 , 业务开箱即用。 提供MySQL/Cassandra/ GaussDB /DRDS全流程设计、开发、发布、运维(管理、治理、诊断)方案。 可信build-in:过程可信,结果可信,接入安全(无人工接入密码),操作(资源高危操作)安全。 开箱即用:全球一份IaC代码。 图1 WiseDBA流程规范 父主题: WiseDBA SDK Java语言
  • 集成SDK arm:https://cmc.cloudartifact.szv.dragon.tools.huawei.com/artifactory/sz-software-release/cbg-wisesecurity/release/StsCPPSDK/1.1.15.100/sts-cpp-arm-sdk.zip x86:https://cmc.cloudartifact.szv.dragon.tools.huawei.com/artifactory/sz-software-release/cbg-wisesecurity/release/StsCPPSDK/1.1.15.100/sts-cpp-x86_64-sdk.zip
  • 配置和初始化 SDK动态库依赖项 C++ SDK依赖Openssl及libcurl动态库,需要集成业务添加。 SDK配置文件 [sts] server_domain = 10.33.102.162:8080 config_path = /opt/huawei/certs/SecurityCCService/SecurityCertDistributionMicroService/SecurityCertDistributionMicroService.ini cache_folder = /home/skjx/.sts loader_local = false 表1 配置参数含义 配置项 必选(M)/可选(O) 含义 server_domain M STS Server的地址及端口号,相当于Java SDK中的sts.server.domain。 config_path M STS证书自动签发工具生成的证书配置文件路径,可以是相对或绝对路径,相当于Java SDK中的sts.config.path。 cache_folder O STS Token缓存的路径,默认为用户home目录下.sts/,即 ~/.sts/,相当于Java SDK中的sts.cache.folder。 loader_local M 是否本地初始化,如果填写TRUE则不会连接STS刷新凭据及KEK等信息。
  • 引入Go SDK 引入Cloud Map require huawei.com/wisecloudnuwa/cloudmap-sdk v1.0.0 配置和初始化 STS的初始化 在Cloud Map初始化之前,要完成STS的初始化。 stsProperties := properties.LoadMap(map[string]string{ "sts.server.domain": "10.33.102.162:8080", "sts.config.path": "/opt/huawei/certs/Service/Microservice/Microservice.ini"}, ) err := stsgoapi.InitWith(*stsProperties) Cloud Map的初始化 Cloud Map Client初始化: cloudMapProperties := properties.LoadMap(map[string]string{ "serverAddr": "http://10.33.113.125:8080", "namespaceName": "cn_dev_default", }) cloudMapClient, err := clients.CreateCloudMapClient(*cloudMapProperties) 代码初始化完成之后,Client可作全局单例使用。 父主题: 快速开始
  • 常见问题 SDK初始化失败 SDK初始化失败,graysdk的run和debug日志会打印初始化失败原因,一般原因有如下几种: ETCD服务器配置错误(检查conf/graysdk.properties文件中server配置是否正确)。 ETCD未启动或者网络原因不可用(检查网络以及ETCD是否正常)。 ETCD中不存在此微服务名称的灰度配置。 ETCD未启用用户名/密码认证方式,但是SDK配置了认证(检查conf/graysdk.properties文件是否配置了username)。 jsonRuleFilePath没有配置。 灰度规则匹配失败 调用SDK接口执行灰度规则匹配失败,一般原因有如下几种: 实际传入的参数和值,不满足配置的微服务灰度规则。 灰度开关关闭(检查conf/graysdk.properties文件graySwitch是否为1)。 灰度规则执行异常(检查graysdk的debug日志)。 联系灰度平台开发人员定位。 灰度参数的设置 消费端需要在CSE的invocation设置想要进行灰度的参数,有两种方法: 确定需要进行灰度的参数 ,在后端的接口中使用@RequestParam参数来指定。 业务直接在消费端设置参数,例如:ContextUtils.getInvocationContext().addContext("x-is-gray", "1")。 第一种方式直接在请求流量的URL中通过设置参数的值来标识灰度流量,第二种是业务在调用SDK之前改变invocation中参数的值来标识灰度。 后端灰度节点的判断 后端的节点在自己的microservice.yaml文件中设置参数描述(参照CSE开发网站:https://servicecomb.apache.org/references/java-chassis/zh_CN/build-provider/definition/service-definition.html) 按照版本筛选灰度节点,需要在yaml中的service_description中先定义版本号,然后在管理台上选择按照版本进行灰度,填入定义的版本。 按照自定义参数筛选灰度节点,需要在yaml中的instance_description中先自定义灰度参数,并填入值,接着在管理台选择按照自定义参数进行灰度,填入自定义的参数。
  • logger名称和描述 Rainbow SDK需要配置的logger名称和描述如表1所示。 表1 logger说明 Logger名称 建议日志级别 说明 com.huawei.rainbow com.huawei.wisecloud.jetcd INFO Rainbow SDK运行日志,建议打开,方便定位问题。 com.huawei.dcg.rainbow.switch INFO Rainbow双云状态大数据日志。 com.huawei.dcg.rainbow.access INFO Rainbow SDK接入大数据日志。 com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl INFO Rainbow SDK记录的慢日志查询、连接池统计相关信息。
  • 使用SDK 配置和初始化 在使用SDK的大多数其他能力前,首先需要对SDK进行初始化。在当前版本,SDK还未开放从本地缓存中初始化的能力,因此用户须保证应用程序可以正常连接至STS Server。目前有两种初始化SDK的方式: 通过配置文件初始化(推荐,支持更多自定义功能,配置修改不影响代码)。 通过参数值初始化(较快捷、更直接,适合快速开发、交互式场景)。 接口预览 pystssdk.sts_api.init(config_path=None, service=None, micro_service=None, sts_server_domain=None) 表1 接口描述参数说明 参数 说明 config_path (str) 配置文件路径,指定时,通过配置文件初始化。 service (str) 服务名称,通过参数值初始化时需指定。 micro_service (str) 微服务名称,通过参数值初始化时需指定。 sts_server_domain (str) STS Server地址,通过参数值初始化时需指定。 初始化 通过配置文件初始化 通过这种方式初始化SDK,用户需要准备一份配置文件(注意与通过STS Agent申请的证书目录中的证书配置文件相区分),并在初始化时提供它的相对或绝对路径(config_path)。 配置文件是一份符合Python可解析标准的文件(.ini),内容形如: [sts] server_domain=10.33.102.162:8080 config_path=/opt/huawei/certs/SecurityTokenService/SecurityTokenMicroService/SecurityTokenMicroService.ini cache_folder=/opt/huawei/.cache py-sts-sdk暂不支持自动定时刷新STS Token。 示例中第一行(即[sts])为配置项所属的block,不可省略,也不可为其他值。 表2 配置参数含义 配置项 必选(M)/可选(O) 含义 server_domain M STS Server的地址及端口号,相当于Java SDK中的sts.server.domain。 config_path M STS证书自动签发工具生成的证书配置文件路径,可以是相对或绝对路径,相当于Java SDK中的sts.config.path。 cache_folder O STS Token缓存的路径,默认为用户home目录下.sts/,即~/.sts/,相当于Java SDK中的sts.cache.folder。 通过配置文件初始化的方式,可以最大化自定义SDK的表现。 通过参数值初始化 通过这种方式初始化SDK,用户需要在初始化时提供服务名(service)、微服务名(micro_service)、STS服务器的地址(sts_server_domain),在这种情况下,SDK会遵循约定优于配置的模式,默认所需的证书配置文件位于/opt/huawei/certs/{service}/{micro_service}/{micro_service}.ini,其他设置均保持缺省状态下的默认值。 如果同时提供了config_path,以及service、micro_service、sts_server_domain,将优先使用配置文件初始化。
共100000条