通过IAM自定义代理免密登录到华为云

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Cynthia成网络

小提示:您能找到这篇{通过IAM自定义代理免密登录到华为云}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的通过IAM自定义代理免密登录到华为云内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">这回想跟大家聊的,是最近一个可以说有些惊心动魄的项目。自从我开始在华为云网站自学API的技术解决方案之后,我就变成了公司的云服务器技术专家,老板或运维部门想要查询个数据什么的都来找我。

近期有一个运营项目的系统正在开发中,运营方规划了一个数据BI模板,列出了需要监测和分析的数据维度,老板干脆让我每周出一份数据报表来支持各方的数据获取和数据分析。

让研发出数据报表?这不是逼着李逵绣花么?但是,我能轻易拒绝吗?前几回高光时刻带来的成就感和光环还没褪去呢,不能怂!于是我提了一个方案:< font-size: 16px; color: rgb(79, 129, 189);">可以把云服务器的监控仪表内嵌到我们自己的系统里,这样大家可以随时查询,也方便。

老板听了这个方案表示很开心,并同意加入到项目排期中,数据查询功能与系统同期上线,以便及时跟踪运营结果。在老板的笑容里,我看到季度奖金在向我招手。

说干就干,执行力咱还是有的。用1天的时间就把程序写完了,在测试的时候发现了一个问题,数据过不来!因为< font-size: 16px; color: rgb(79, 129, 189);">通过内嵌系统登陆云服务器需要经过各种认证,步骤多不说,如果要想实现人人可查询还存在泄密的危险。

这可怎么办,系统上线的日期临近,不能因为我这部分影响到项目进展啊!当初拍着胸脯濮阳建设网站提(chui)的方(niu)案(13),难道就要失败了?

不行,再查查!我专门联系了华为云的技术专家,得知可以< font-size: 16px; color: rgb(79, 129, 189);">通过IAM自定义代理免密登录到云服务Console页面,省去认证环节,直接登陆云服务器进行数据查询和获取。

那怎么做免密登录呢?他给了我一份文档,内容是这样的:

< ">< font-size: 18px;">一、前提条件

< ">< font-size: 16px;">步骤1:创建账号IAMDomainA下的IAM用户userB,并授予Security Administrator和Agent Operator权限(全局服务-全局项目)。

将userB的用户名和密码配置到企业系统的配置文件中,密码建议加密存储,以便获取认证token并进一步调用IA品牌与危机公关M其他Open API。

< ">< font-size: 16px;">步骤2:创建联邦代理所需委托IAMAgency。

委托类型选择“普通账号”,委托的账号填写“DomainA”。

< ">< font-size: 18px;">二、华为云联邦代理登录

< ">< font-size: 16px;">步骤1:调用IAM API获取STS token

1)使用IAM全局域名(iam.myhuaweicloud.com)调用IAM服务的API(POST/v3.0/OS-CREDENTIAL/securitytokens)获取STS token。

填写"session_user"参数,发起一个POST请求。

POST < font-size: 16px; color: rgb(127, 127, 127);">https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens

请求示例

{

    "auth": {

        "identity": {

            "assume_role": {

                "agency_name": "IAMAgency",

                "domain_name": "IAMDomainA",

                "duration-seconds": 3600,

                "session_user": {

                    "name": "SessionUserName"

                }

            },

            "methods": [

                "assume_role"

            ]

        }



    }

}

2)获取并记录请求响应体中的STS token信息:credential.access,credential.secret,credential.securitytoken

响应示例

{

  "credential": {

    "access": "E6DX0TF2ZREQ4ZAVM5CS",

    "expires_at": "2020-01-08T02:56:19.587000Z",

    "secret": "w9ePum0qdfac39ErLD0UdjofYkqort6Iw2bmR6Si",

    "securitytoken": "gQpjbi1ub3J0aC0..."

  }

}

< ">< font-size: 16px;">步骤2:调用IAM API获取logintoken

1)使用IAM全局域名(iam.myhuaweicloud.com)调用IAM服务的API(POST/v3.0/OS-AUTH/securitytoken/logintokens)获取logintoken。

发送一个POST请求。

POST < font-size: 16px; color: rgb(127, 127, 127);">https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens

请求示例

{

    "auth": {

        "securitytoken": {

            "access": "LUJHNN4WB569PGAPBDFT",

            "id": "gQpjbi1ub3J0a...",

            "secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLNCUsuFR8"

        }

    }

}

2)获取请求响应头中的X-Subject-LoginToken信息。

通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数。

返回示例

{

  "logintoken": {

    "assumed_by": {

      "user": {

        "domain": {

          "id": "0659ef9c9c80d4560f14c009acf9c4a0",

          "name": "IAMDomainB"

        },

        "id": "0659ef9d4d00d3b81f26c009fee32b57",

        "name": "IAMUserB",

        "password_expires_at": "2020-02-16T02:44:57.000000Z"

      }

    },

    "domain_id": "05262121fb00d5c30fbec013bc17a4a0",



    "expires_at": "2020-01-23T03:27:26.728000Z",

    "method": "federation_proxy",

    "session_id": "0012c8e6adda4ce787e90585d10e3e63",

    "session_name": "SessionUserName",

    "user_id": "07826f367b80d2474ff9c013a48903ee",

    "user_name": "IAMDomainA/IAMAgency"

  }

}

< ">< font-size: 16px;">步骤3:构建联邦代理登录地址,完成免密登录

联邦代理登录地址的构建规则为:

https://auth.huaweicloud.com/authui/federation/login?service={target_console_url}&logintoken={logintoken}&idp_login_url={enterprise_system_loginURL}

构建参数说明:

< ">< font-size: 16px;">< font-size: 16px;">{target_console_url}为目的云服务console地址的urlencode编码结果。

{logintoken}为步骤2中获取到的logintoken的urlencode编码结果。

{enterprise_system_loginURL}是选填参数,为企业客户自身的登录系统今日头条的运营方式地址的urlencode编码结果。

按照文档的指引,我最终顺利解决了这个问题,项目如期上线,运营方也可以通过免密登陆自己查询和分析运营数据,及时作出优化调整,省时省事还安全。在月度例会上,我因此再一次得到了老板的肯定,开心的同时,也在心里暗想:“看来不能松懈,还得多学习啊~”

据了解,目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。

华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。

通过IAM自定义代理免密登录到华为云

上一篇:海量挑战:腾讯云ES可用性及性能优化实践
下一篇:华为云:容器镜像服务镜像同步,你真的了解吗


版权声明:以上主题为“通过IAM自定义代理免密登录到华为云"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    通过IAM自定义代理免密登录到华为云
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“通过IAM自定义代理免密登录到华为云”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通通过IAM自定义代理免密登录到华为云的相关事宜。

关键词:通过IAM自定义代理免密登

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号