详情页标题前

阿里云日志服务SLS控制台内嵌及分享-云淘科技

详情页1

日志服务支持将查询分析页面和仪表盘页面嵌入自建Web,方便您将查询分析和仪表盘页面共享给其他用户(免密登录)查看日志数据。本文介绍日志服务控制台内嵌及分享的操作步骤。

基本原理

为使您在完成采集配置和索引配置后,能直接使用日志服务的查询分析和仪表盘页面功能,并将日志数据分享给其他用户进行查看,同时避免使用RAM会带来众多RAM账号的管理成本。日志服务提供指定日志库查询页面和仪表盘页面嵌入自建Web功能,不需要登录日志服务控制台即可直接访问日志服务查询分析和仪表盘等页面,访问后可以通过步骤二:为RAM用户授权限制操作权限,例如授予只读权限。

操作流程如下图所示。阿里云日志服务SLS控制台内嵌及分享-云淘科技

注意事项

在使用控制台分享功能的过程中,请注意以下事项:

  • 该功能仅支持通过扮演RAM角色身份进行访问,所以您需要创建RAM角色和RAM用户。

  • 由于令牌服务(STS)生成的AccessKey和Token为临时凭证,所以共享链接仅支持在浏览器中打开一次;重复打开该链接会提示SigninToken错误。

  • 由于后端存在校验逻辑,建议您在SigninToken失效期前5分钟重新生成控制台分享链接以持续使用免登的页面。否则SigninToken失效将导致免登录页面上报SigninToken错误。

  • 当前仅支持完整查询和分析页面、查询页面、仪表盘页面进行控制台分享,不支持告警页面分享。

  • 免密登录链接的Host为sls4service.console.aliyun.com,需要您手动替换待分享页面中的Host地址。

操作流程

该部分用于了解操作流程,详细操作步骤请参见操作步骤。

  1. 准备好待分享的查询分析页面或者仪表盘链接。

    例如,您待分享的仪表盘控制台链接如下:

    https://sls.console.aliyun.com/lognext/project/project_name/dashboard/dashboard-1651116703628-54041

    替换Host为sls4service.console.aliyun.com,则待分享链接页面地址为:

    https://sls4service.console.aliyun.com/lognext/project/project_name/dashboard/dashboard-1651116703628-54041
  2. 创建RAM用户和RAM角色并授权。

    具体操作,请参见创建RAM用户及授权和创建可信实体为阿里云账号的RAM角色及授权。

    创建完成后,您需要获取以下参数的值,用于代码调试:

    • RAM用户的AccessKey。

    • RAM角色的角色标识ARN。

      例如acs:ram::137******44:role/role-name

  3. 制作免密登录日志服务控制台的链接。

    本文主要介绍如何生成链接的操作步骤。

    1. 通过Web服务端访问令牌服务(STS)获取临时AK信息和安全Token。

      您可以参考本文代码示例提供的Java、Python、Go和PHP代码,获取临时AccessKey和安全Token。

    2. 调用STS SDK服务接口生成日志服务登录Token。

      您可以参考本文代码示例提供的Java、Python、Go和PHP代码,生成日志服务登录Token。

    3. 调整RAM角色的Token有效期和RAM用户的登录Session时长。

      RAM角色的最大会话时间、RAM用户的登录Session过期时间均存在限制,建议您调整有效期和时长,以保证较长的免密登录页面有效期。

    4. 生成免登录链接。

      运行代码即可生成免登录链接。

  4. 以iframe方式将链接内嵌到其他Web页面。

  5. 将该Web页面链接发送给任意用户A。用户A即可查看您共享的查询分析页面或者仪表盘页面。

操作步骤

主要介绍如何生成免密登录链接的操作步骤。

  1. 登录自建Web,通过Web服务端访问令牌服务(STS)获取临时AK信息和安全Token。

    您可以参考本文代码示例提供的Java、Python、Go和PHP代码,获取临时AccessKey和安全Token。

    • STS使用说明请参见通过STS实现跨账号访问日志服务资源。

    • 授予指定日志库的访问权限请参见创建RAM用户及授权和创建可信实体为阿里云账号的RAM角色及授权。

  2. 调用STS SDK服务接口生成日志服务登录Token。

    您可以参考本文代码示例提供的Java、Python、Go和PHP代码,生成日志服务登录Token。

    说明

    STS返回的安全Token中可能包含特殊字符,请将特殊字符进行URL编码后再输入。

    请求示例:

    http://signin.aliyun.comsignin-intl.aliyun.com/federation?Action=GetSigninToken
                        &AccessKeyId=
                        &AccessKeySecret=
                        &SecurityToken=
                        &TicketType=mini
  3. 调整登录Token有效期。

    登录Token默认有效期为15分钟~60分钟,您可以参见本步骤调整登录Token的最大有效期为12小时。

    1. 在RAM控制台,修改目标RAM角色的最大会话时间为12小时。

      阿里云日志服务SLS控制台内嵌及分享-云淘科技

    2. 在RAM控制台,修改目标RAM用户的登录Session过期时间为12小时。

      阿里云日志服务SLS控制台内嵌及分享-云淘科技

    3. 修改免登录代码中的setDurationSeconds字段的值为43200L。

      此处以Java代码为例。

      AssumeRoleRequest assumeRoleReq = new AssumeRoleRequest();
      assumeRoleReq.setRoleArn(roleArn);
      assumeRoleReq.setRoleSessionName(roleSession);
      assumeRoleReq.setMethod(MethodType.POST);
      assumeRoleReq.setDurationSeconds(43200L);
  4. 生成免登录链接。

    1. 获取日志服务页面链接。

      说明

      当前仅支持完整查询和分析页面、查询页面、仪表盘页面进行控制台分享,不支持告警页面分享。

      • 完整查询分析页面:

        https://sls4service.console.aliyun.com/lognext/project//logsearch/?hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true
      • 查询页面:

        https://sls4service.console.aliyun.com/lognext/project//logsearch/?isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true
      • 仪表盘页面:

        https://sls4service.console.aliyun.com/lognext/project//dashboard/?isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true

        说明

        上述链接中仪表盘ID为网页链接上的ID,并非仪表盘的展示名称。

      • 全栈可观测应用页面

        此处以Trace分析页面为例。更多信息,请参见全栈可观测内嵌。

        https://sls4service.console.aliyun.com/lognext/app/observability/trace//?resource=/trace//explorer&hideTopbar=true&isShare=true
    2. 将获取到的登录Token与日志服务页面链接一并生成免登录访问链接。

      您可以参考本文代码示例提供的Java、Python、Go和PHP代码,生成最终免密访问链接。

      最终生成的免密访问链接如下所示:

      http://signin.aliyun.comsignin-intl.aliyun.com/federation?Action=Login
                                  &LoginUrl=
                                  &Destination=
                                  &SigninToken=
  5. 可选:测试参考。您可以将4生成的免登录链接放到以下HTML页面中进行测试。若可正常打开日志服务控制台分享页面,则说明已经成功生成免登录链接。

    重要

    此处测试即为首次在浏览器中打开免登录链接,测试完成后,临时AccessKey和Token会失效,您需要重新生成免登录链接。

    
    
    
        
        控制台链接分享
    
    
     
    
    

代码示例

您可以参考以下PHP、Python、Go代码示例生成控制台分享免登录链接。

重要

代码示例中的URL以http为例。您可以修改为https,建议和外部网址的HTTP协议类型保持一致。

  • Java

    
        com.aliyun
        aliyun-java-sdk-sts
        3.0.0
    
    
        com.aliyun
        aliyun-java-sdk-core
        3.5.0
    
    
        org.apache.httpcomponents
        httpclient
        4.5.5
    
    
        com.alibaba
        fastjson
        1.2.68.noneautotype
    
  • PHP

  • Python

  • Go

常见问题

  • 问题现象

    iframe嵌套免登录链接时,出现如下报错:

    Refused to frame 'https://signin.aliyun.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' *.aliyun.com"
  • 问题根因

    iframe存在安全限制,导致无法加载域外网站。

  • 解决方案

    请修改Content-Security-Policy Header。

    您可以通过在CSP指令中添加特定的域名或通配符来允许特定的网站嵌入。例如,可以使用以下CSP指令允许来自aliyun.com*.aliyun.com的网站嵌入:

    Content-Security-Policy: frame-ancestors 'self' aliyun.com *.aliyun.com;

    如果要允许所有网站嵌入,可以使用通配符*,例如:

    Content-Security-Policy: frame-ancestors *;

    需要注意的是,允许所有网站嵌入可能存在安全风险,因此建议仅在特定情况下使用。更多信息,请参见https://content-security-policy.com/。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/160212.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云ECS云服务器为RAM用户授予前缀列表相关权限-云淘科技

    通过RAM用户可以让您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。本文介绍如何为RAM用户授予前缀列表相关权限。 背景信息 本文仅介绍为RAM用户授予前缀列表相关权限,如果您需要在控制台使用其他资源,还需要为RAM用户设置对应的权限策略,例如系统策略中的AliyunECSReadOnlyAccess(只读访问云服务器…

    2023年12月9日
  • 阿里云日志服务SLSDeleteMachineGroup-云淘科技

    调用DeleteMachineGroup接口删除机器组。如果机器组已应用Logtail采集配置,则删除机器组后,会解绑对应的Logtail采集配置。 接口说明 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。 已创建并获取AccessKey。更多信息,请参见访问密钥。 阿里云账号AccessKey拥…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库添加下载备份文件权限给只读RAM账号-云淘科技

    基于安全角度考虑,只读RAM账号无法下载备份文件,可以通过RAM控制台给只读RAM账号添加下载备份文件的权限。 操作步骤 登录RAM控制台。 在左侧选择权限管理 > 权限策略。 单击创建权限策略,选中脚本编辑,并输入如下策略内容。 { “Statement”: [ { “Effect”: “Allow”, “Action”: [ “rds:Descri…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云负载均衡SetDomainExtensionAttribute – 修改扩展域名的证书-云淘科技

    修改扩展域名的证书。 接口说明 说明 性能共享型实例的监听不支持扩展域名。调试您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调…

    阿里云负载均衡 2023年12月10日
  • 阿里云ECS云服务器授权RAM用户购买节省计划-云淘科技

    阿里云账号可以直接购买节省计划,而RAM用户则需要获得授权才可以购买节省计划,否则会下单失败。本文介绍如何创建购买节省计划的权限策略,并授予RAM用户此类权限策略。 背景信息 您可以通过访问控制(RAM)管理用户身份与资源访问权限,例如RAM用户及其拥有的权限。更多访问控制相关的信息,请参见什么是访问控制和API概览。 步骤一:创建购买节省计划的权限策略 使…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。