您可以通过给阿里云创建RAM用户并授予STS权限策略,将DAS控制台免登录嵌套到自建的运维平台中。本文将介绍相关操作步骤。
前提条件
操作步骤
- 通过AssumeRole接口获取用户临时身份。说明
- 关于如何获取用户临时身份,请参见AssumeRole。
- 关于更多RAM角色原理,请参见RAM角色概述。
- 使用安全令牌获取登录令牌。说明 TicketType主要分为normal和mini。
- 默认使用normal,对应DAS域名:HDM Console。
- 如果是mini应用于BID虚商,对应DAS域名:HDM Service Console。
- 构造访问DAS页面免登录链接。
- 构造URL格式如下:
https://signin.aliyun.com/federation?Action=Login &LoginUrl=<登录失效跳转的地址,一般配置为自建WEB配置302跳转的URL> &Destination=<实际访问DAS服务页面> &SigninToken=<获取的登录TOKEN>
说明 Destination对应的DAS服务页面,受到步骤二中的TicketType参数影响。- normal对应的DAS域名:
https://hdm.console.aliyun.com
。 - mini应用于BID虚商对应的DAS域名:
https://hdm4service.console.aliyun.com
。
- normal对应的DAS域名:
- 配置Destination。如果要嵌入DAS的监控大盘,Destination可以设置为:
https://hdm.console.aliyun.com/?hideTopbar=true&isShare=true&hideMenu=true#/dashboard/convoy
。说明#
前面的isShare=true
和hideTopbar=true
是必选参数。参数 说明 isShare=true 外部控制台嵌入需要。 hideTopbar=true 隐藏DAS阿里云控制台边栏。 hideMenu=true 隐藏DAS外部菜单。 hideInstanceMenu=true 隐藏DAS实例详情页边栏和外部边栏。 hideAutonomousButton=true 隐藏DAS自治功能开关。 - 参考代码如下:
private static String getHdmLoginUrl(String pageUrl, String signInToken) throws URISyntaxException { URIBuilder builder = new URIBuilder(SIGN_IN_DOMAIN); builder.setParameter("Action", "Login"); // 登录失效跳转的地址,一般配置为自建WEB配置302跳转的URL builder.setParameter("LoginUrl", "https://signin.aliyun.com/login.htm"); // 实际访问DAS的页面,比如全局大盘,实时大盘,某个实例详情等 builder.setParameter("Destination", pageUrl); builder.setParameter("SigninToken", signInToken); HttpGet request = new HttpGet(builder.build()); return request.getURI().toString();}
- 构造URL格式如下: