用户配置完成日志服务采集和查询分析等功能后,期望能直接使用日志查询分析和仪表盘页面,同时对于日志一般需要分享给其他同事进行使用,此时使用RAM会带来众多子账号的管理成本,因此日志服务提供新的单点登录方式嵌入式集成查询分析和仪表盘等页面。

背景信息

实际效果

指定日志库查询页面和仪表盘页面嵌入自建网站,不需要再阿里云官网即可直接使用日志服务分析可视化功能。
  • 单独查询和仪表盘页面可以方便的嵌入至任何WEB
  • 通过令牌服务生成登录链接,访问后可以通过RAM限制操作权限,比如只读权限。
访问流程

操作步骤

  1. 用户登录自建WEB。
    在登录完成后WEB服务端访问令牌服务(STS)获取临时身份。
    • STS使用说明请参考概览
    • 授予指定日志库的访问权限,请参考RAM 用户
  2. 请求阿里云登录服务获取登录TOKEN。
    在通过STS获取临时AK对和SecurityToken后,调用登录服务接口获取登录TOKEN。
    实际请求样例:
    http://signin.aliyun.com/federation?Action=GetSigninToken
                        &AccessKeyId=<STS返回的临时AK>
                        &AccessKeySecret=<STS返回的临时Secret>
                        &SecurityToken=<STS返回的安全TOKEN>
  3. 生成免登录链接。
    1. 获取登录TOKEN后与嵌入的页面链接一并生成访问链接。
      由于TOKEN有效期为3小时,建议在自建WEB设置链接,每次请求时生成新登录TOKEN,通过302请求返回进行跳转。
      实际请求样例:
      http://signin.aliyun.com/federation?Action=Login
                                  &LoginUrl=<登录失效跳转的地址,一般配置为自建WEB配置302跳转的URL>
                                  &Destination=<实际访问日志服务页面,支持查询页面和仪表盘页面>
                                  &SigninToken=<获取的登录TOKEN>
    2. 嵌入页面。
      • 完整查询分析页面(支持多标签):
        https://sls.console.aliyun.com/next/project/<Project名称>/logsearch/<日志库名称>?hideTopbar=true&hideSidebar=true
      • 查询页面:
        https://sls.console.aliyun.com/next/project/<Project名称>/logsearch/<日志库名称>?isShare=true&hideTopbar=true&hideSidebar=true
      • 仪表盘页面:
        https://sls.console.aliyun.com/next/project/<Project名称>/dashboard/<仪表盘名称>?isShare=true&hideTopbar=true&hideSidebar=true

操作样例

Java、PHP和Python代码示例如下:
  • Java
    <dependency>
                        <groupId>com.aliyun</groupId>
                        <artifactId>aliyun-java-sdk-sts</artifactId>
                        <version>3.0.0</version>
                        </dependency>
                        <dependency>
                        <groupId>com.aliyun</groupId>
                        <artifactId>aliyun-java-sdk-core</artifactId>
                        <version>3.5.0</version>
                        </dependency>
                        <dependency>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                        <version>4.5.5</version>
                        </dependency>
                        <dependency>
                        <groupId>com.alibaba</groupId>
                        <artifactId>fastjson</artifactId>
                        <version>1.2.47</version>
                        </dependency>
  • PHP
  • Python