【云小课】应用平台第27课 如何将LTS嵌入到自建系统?

举报
应用万花筒. 发表于 2022/02/23 10:55:57 2022/02/23
【摘要】 云日志服务LTS是华为云提供的对日志数据一站式管理的平台,提供海量日志管理能力。用户在使用LTS的过程中想要在自建系统中查看LTS的日志及可视化怎么办?LTS支持将日志查询界面内嵌到客户自建系统,同时支持将查询界面、可视化界面通过URL内嵌到客户自建系统,让用户无需在华为云官网登录就可在自建系统界面查看LTS日志。


1_zh-cn_image_0000001255887287.jpg

LTS支持界面内嵌和URL内嵌,界面内嵌可以通过IAM服务的联邦代理机制实现用户自定义身份代理,再将登录链接嵌入至客户自建系统;URL内嵌可以按照拼接规则将LTS的URL进行拼接,并嵌入到客户自建系统,并且支持通过在URL添加查询条件或SQL语句的方式,达到预设查询参数的目的。


下面为大家详细介绍如何完成界面内嵌和URL内嵌。

界面内嵌

界面内嵌当前仅支持“华北-北京四”、“华东-上海一”、“华南-广州”、“西南-贵阳一”区域局点。可以按照如下操作完成界面内嵌。

步骤1-4为用户自定义创建身份代理并创建委托,与IAM服务强相关,在IAM服务侧的操作完成后,执行步骤5-7实现日志页面的内嵌。

  1. 在华为云帐号中创建IAM用户组(用户组名以GroupC为例)并授予全局服务中的 Agent Operator权限,该权限仅能切换角色至委托方帐号中,访问授权的服务,具体方法请参见:创建用户组并授权

  2. 在华为云帐号(帐号名称以DomainA为例)中创建IAM用户(用户名以UserB为例),并加入GroupC用户组中,具体方法请参见:用户组添加用户

    请确认该IAM用户支持编程访问华为云服务。如需修改IAM用户访问方式,请参考:修改IAM用户信息

  3. 在IAM控制台左侧导航栏选择“委托”,单击右上方的“ +创建委托”。

  4. 在创建委托页面,设置委托参数。

    1. “委托名称”以“iam_for_lts”为例,“委托类型”必须选择“普通帐号”,“委托的帐号”填写“DomainA”,“持续时间”选择“永久”,单击“下一步”。

    2. 选择“区域级项目”,选择“LTS ReadOnlyAccess”权限(该权限为LTS云日志服务的只读权限,只能查询LTS服务的数据,不能对LTS服务做设置修改),单击“确定”,如下图所示。


  5. 使用postman等工具获取X-Subject-LoginToken参数。

    1. 通过帐号密码获取UserB用户的X-Subject-Token。

      输入POST https://iam.myhuaweicloud.com/v3/auth/tokens,对应参数选择自定义格式,并输入如下参数,其中name从上而下依次为租户名称、用户名称、租户名称,password为用户密码。

      在返回结果中获取响应头中X-Subject-Token字段,如下图所示。

    2. 根据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为用户名。

      在返回结果中获取响应头中获取临时访问密钥,如下图所示。

    3. 根据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字段,如下图所示。

  6. 根据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


  7. 完成以上步骤,即可实现免密登录华为云LTS服务。

    如需隐藏界面左侧、上方的华为云菜单,可使用如下iframe嵌套,其中src的值为6中获得的代理URL。

    <body>

    <iframe src="target_url" width="1640" height="855" id="ltsIframePage"></iframe>

    </body>


URL内嵌

日志查询界面和可视化界面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

  • 非必填

  • 单个关键词形式为key:value

  • 多个关键词用英文分号;隔开

  • 关键词中不能包含英文分号(;)、英文冒号(:)

  • 关键词中含有其他特殊字符如(+、=、?、#、%、&)需转换为十六进制,即%加字符的ASCII码(%2B、%3D、%3F、%23、%25、%26)

{sql}

SQL查询语句,非必填,如SELECT count (*)

以上,是小课为大家带来的本次内容,想了解更多云日志相关内容,请戳这里

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。