【云小课】应用平台第27课 如何将LTS嵌入到自建系统?
LTS支持界面内嵌和URL内嵌,界面内嵌可以通过IAM服务的联邦代理机制实现用户自定义身份代理,再将登录链接嵌入至客户自建系统;URL内嵌可以按照拼接规则将LTS的URL进行拼接,并嵌入到客户自建系统,并且支持通过在URL添加查询条件或SQL语句的方式,达到预设查询参数的目的。
下面为大家详细介绍如何完成界面内嵌和URL内嵌。
界面内嵌
界面内嵌当前仅支持“华北-北京四”、“华东-上海一”、“华南-广州”、“西南-贵阳一”区域局点。可以按照如下操作完成界面内嵌。
步骤1-4为用户自定义创建身份代理并创建委托,与IAM服务强相关,在IAM服务侧的操作完成后,执行步骤5-7实现日志页面的内嵌。
-
在华为云帐号中创建IAM用户组(用户组名以GroupC为例)并授予全局服务中的 Agent Operator权限,该权限仅能切换角色至委托方帐号中,访问授权的服务,具体方法请参见:创建用户组并授权。
-
在华为云帐号(帐号名称以DomainA为例)中创建IAM用户(用户名以UserB为例),并加入GroupC用户组中,具体方法请参见:用户组添加用户。
请确认该IAM用户支持编程访问华为云服务。如需修改IAM用户访问方式,请参考:修改IAM用户信息。
-
在IAM控制台左侧导航栏选择“委托”,单击右上方的“ +创建委托”。
-
在创建委托页面,设置委托参数。
-
“委托名称”以“iam_for_lts”为例,“委托类型”必须选择“普通帐号”,“委托的帐号”填写“DomainA”,“持续时间”选择“永久”,单击“下一步”。
-
选择“区域级项目”,选择“LTS ReadOnlyAccess”权限(该权限为LTS云日志服务的只读权限,只能查询LTS服务的数据,不能对LTS服务做设置修改),单击“确定”,如下图所示。
-
-
使用postman等工具获取X-Subject-LoginToken参数。
-
通过帐号密码获取UserB用户的X-Subject-Token。
输入POST https://iam.myhuaweicloud.com/v3/auth/tokens,对应参数选择自定义格式,并输入如下参数,其中name从上而下依次为租户名称、用户名称、租户名称,password为用户密码。在返回结果中获取响应头中X-Subject-Token字段,如下图所示。
-
根据a获取的用户X-Subject-Token获取临时访问密钥。
在请求header添加X-Auth-Token字段,value为a中获取到的X-Subject-Token,如下图所示。
输入POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens,对应参数选择自定义格式,并输入如下参数,其中具体参数含义分别为:agency_name为委托名称、domain_name为租户名称、duration_seconds为token过期时间(单位秒)、name为用户名。在返回结果中获取响应头中获取临时访问密钥,如下图所示。
-
根据b获取的临时访问密钥获取登录X-Subject-LoginToken。
输入POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens,对应参数选择自定义格式,并输入如下参数,其中access、secret、id对应的值分别为b返回的access、secret、securitytoken,duration_seconds为token过期时间,单位为秒。在返回结果中获取响应头中的X-Subject-LoginToken字段,如下图所示。
-
-
根据c获取的X-Subject-LoginToken构建代理URL,完成免密登录。
代理登录地址的构建规则为:
https://auth.huaweicloud.com/authui/federation/login?service={target_console_url}&logintoken={logintoken}&idp_login_url={enterprise_system_loginURL}
参数名称
说明
{target_console_url}
华为云服务地址的urlencode编码结果
{logintoken}
为c获取的X-Subject-LoginToken的urlencode编码结果
{enterprise_system_loginURL}
选填参数,为客户的页面地址的urlencode编码结果,当loginToken验证失效时会跳转到该页面
-
以上三个参数都需要进行urlencode编码,否则可能导致免密登录失败。
-
urlencode编码操作方式:打开谷歌浏览器按F12进入开发者模式,选择console(控制台),输入“encodeURIComponent("*")”,*为需要编码的信息,单击“Enter”,查看返回的urlencode编码值。
{target_console_url}的值为LTS前台服务URL地址的urlencode编码,编码前URL如下,具体参数如下表。
https://coc-console.huaweicloud.com/lts/?region={regionId}#/cts/logEventsLeftMenu/events?groupId={groupId}&topicId={topicId}&topicName={topicName}&groupName={groupName}&epsId={epsId}
参数名称
说明
{regionId}
区域ID,可在华为云官网登录云服务后在浏览器的地址栏中获取,如cn-north-4
{groupId}
日志组ID
{groupName}
日志组名称
{topicId}
日志流ID
{topicName}
日志流名称
{epsId}
日志流所属的企业项目ID,若无企业项目,值为0
-
-
完成以上步骤,即可实现免密登录华为云LTS服务。
如需隐藏界面左侧、上方的华为云菜单,可使用如下iframe嵌套,其中src的值为6中获得的代理URL。<body>
<iframe src="target_url" width="1640" height="855" id="ltsIframePage"></iframe>
</body>
URL内嵌
-
日志查询界面:https://coc-console.huaweicloud.com/lts/?region={regionId}#/cts/logEventsLeftMenu/events?groupId={groupId}&topicId={topicId}&topicName={topicName}&groupName={groupName}&epsId={epsId}&condition={condition}
-
可视化界面:https://coc-console.huaweicloud.com/lts/?region={regionId}#/cts/logEventsLeftMenu/kanban?groupId={groupId}&topicId={topicId}&topicName={topicName}&groupName={groupName}&epsId={epsId}&sql={sql}
参数名称 |
说明 |
{regionId} |
区域ID,可在华为云官网登录云服务后在浏览器的地址栏中获取,如cn-north-4 |
{groupId} |
日志组ID |
{groupName} |
日志组名称 |
{topicId} |
日志流ID |
{topicName} |
日志流名称 |
{epsId} |
日志流所属的企业项目ID,若无企业项目,值为0 |
{condition} |
日志查询条件,如name:a;age:12;addr:Beijing
|
{sql} |
SQL查询语句,非必填,如SELECT count (*) |
以上,是小课为大家带来的本次内容,想了解更多云日志相关内容,请戳这里
- 点赞
- 收藏
- 关注作者
评论(0)