通過(guò)IAM自定義代理免密登錄到華為云

來(lái)源:華為云社區(qū)
作者:Cynthia成
時(shí)間:2020-08-05
3367
通過(guò)IAM自定義代理免密登錄到云服務(wù)Console頁(yè)面,省去認(rèn)證環(huán)節(jié),直接登陸云服務(wù)器進(jìn)行數(shù)據(jù)查詢和獲取。

這回想跟大家聊的,是最近一個(gè)可以說(shuō)有些驚心動(dòng)魄的項(xiàng)目。自從我開(kāi)始在華為云網(wǎng)站自學(xué)API的技術(shù)解決方案之后,我就變成了公司的云服務(wù)器技術(shù)專家,老板或運(yùn)維部門想要查詢個(gè)數(shù)據(jù)什么的都來(lái)找我。

近期有一個(gè)運(yùn)營(yíng)項(xiàng)目的系統(tǒng)正在開(kāi)發(fā)中,運(yùn)營(yíng)方規(guī)劃了一個(gè)數(shù)據(jù)BI模板,列出了需要監(jiān)測(cè)和分析的數(shù)據(jù)維度,老板干脆讓我每周出一份數(shù)據(jù)報(bào)表來(lái)支持各方的數(shù)據(jù)獲取和數(shù)據(jù)分析。

讓研發(fā)出數(shù)據(jù)報(bào)表?這不是逼著李逵繡花么?但是,我能輕易拒絕嗎?前幾回高光時(shí)刻帶來(lái)的成就感和光環(huán)還沒(méi)褪去呢,不能慫!于是我提了一個(gè)方案:可以把云服務(wù)器的監(jiān)控儀表內(nèi)嵌到我們自己的系統(tǒng)里,這樣大家可以隨時(shí)查詢,也方便。

老板聽(tīng)了這個(gè)方案表示很開(kāi)心,并同意加入到項(xiàng)目排期中,數(shù)據(jù)查詢功能與系統(tǒng)同期上線,以便及時(shí)跟蹤運(yùn)營(yíng)結(jié)果。在老板的笑容里,我看到季度獎(jiǎng)金在向我招手。

說(shuō)干就干,執(zhí)行力咱還是有的。用1天的時(shí)間就把程序?qū)懲炅?,在測(cè)試的時(shí)候發(fā)現(xiàn)了一個(gè)問(wèn)題,數(shù)據(jù)過(guò)不來(lái)!因?yàn)?span style="font-family: 微軟雅黑, "Microsoft YaHei"; font-size: 16px; color: rgb(79, 129, 189);">通過(guò)內(nèi)嵌系統(tǒng)登陸云服務(wù)器需要經(jīng)過(guò)各種認(rèn)證,步驟多不說(shuō),如果要想實(shí)現(xiàn)人人可查詢還存在泄密的危險(xiǎn)。

這可怎么辦,系統(tǒng)上線的日期臨近,不能因?yàn)槲疫@部分影響到項(xiàng)目進(jìn)展?。‘?dāng)初拍著胸脯提(chui)的方(niu)案(13),難道就要失敗了?

不行,再查查!我專門聯(lián)系了華為云的技術(shù)專家,得知可以通過(guò)IAM自定義代理免密登錄到云服務(wù)Console頁(yè)面,省去認(rèn)證環(huán)節(jié),直接登陸云服務(wù)器進(jìn)行數(shù)據(jù)查詢和獲取。

那怎么做免密登錄呢?他給了我一份文檔,內(nèi)容是這樣的:

一、前提條件

步驟1:創(chuàng)建賬號(hào)IAMDomainA下的IAM用戶userB,并授予Security Administrator和Agent Operator權(quán)限(全局服務(wù)-全局項(xiàng)目)。

將userB的用戶名和密碼配置到企業(yè)系統(tǒng)的配置文件中,密碼建議加密存儲(chǔ),以便獲取認(rèn)證token并進(jìn)一步調(diào)用IAM其他Open API。

1594634820031057139.png

步驟2:創(chuàng)建聯(lián)邦代理所需委托IAMAgency。

委托類型選擇“普通賬號(hào)”,委托的賬號(hào)填寫(xiě)“DomainA”。

1594634851667091823.png

二、華為云聯(lián)邦代理登錄

步驟1:調(diào)用IAM API獲取STS token

1)使用IAM全局域名(iam.myhuaweicloud.com)調(diào)用IAM服務(wù)的API(POST/v3.0/OS-CREDENTIAL/securitytokens)獲取STS token。

填寫(xiě)"session_user"參數(shù),發(fā)起一個(gè)POST請(qǐng)求。

POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens

請(qǐng)求示例

{

    "auth": {

        "identity": {

            "assume_role": {

                "agency_name": "IAMAgency",

                "domain_name": "IAMDomainA",

                "duration-seconds": 3600,

                "session_user": {

                    "name": "SessionUserName"

                }

            },

            "methods": [

                "assume_role"

            ]

        }

    }

}

2)獲取并記錄請(qǐng)求響應(yīng)體中的STS token信息:credential.access,credential.secret,credential.securitytoken

響應(yīng)示例

{

  "credential": {

    "access": "E6DX0TF2ZREQ4ZAVM5CS",

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

    "secret": "w9ePum0qdfac39ErLD0UdjofYkqort6Iw2bmR6Si",

    "securitytoken": "gQpjbi1ub3J0aC0..."

  }

}

步驟2:調(diào)用IAM API獲取logintoken

1)使用IAM全局域名(iam.myhuaweicloud.com)調(diào)用IAM服務(wù)的API(POST/v3.0/OS-AUTH/securitytoken/logintokens)獲取logintoken。

發(fā)送一個(gè)POST請(qǐng)求。

POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens

請(qǐng)求示例

{

    "auth": {

        "securitytoken": {

            "access": "LUJHNN4WB569PGAPBDFT",

            "id": "gQpjbi1ub3J0a...",

            "secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLNCUsuFR8"

        }

    }

}

2)獲取請(qǐng)求響應(yīng)頭中的X-Subject-LoginToken信息。

通過(guò)委托獲取臨時(shí)訪問(wèn)密鑰和securitytoken且請(qǐng)求體中填寫(xiě)session_user.name參數(shù)。

返回示例

{

  "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"

  }

}

步驟3:構(gòu)建聯(lián)邦代理登錄地址,完成免密登錄

聯(lián)邦代理登錄地址的構(gòu)建規(guī)則為:

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

構(gòu)建參數(shù)說(shuō)明:

·{target_console_url}為目的云服務(wù)console地址的urlencode編碼結(jié)果。

·{logintoken}為步驟2中獲取到的logintoken的urlencode編碼結(jié)果。

·{enterprise_system_loginURL}是選填參數(shù),為企業(yè)客戶自身的登錄系統(tǒng)地址的urlencode編碼結(jié)果。

按照文檔的指引,我最終順利解決了這個(gè)問(wèn)題,項(xiàng)目如期上線,運(yùn)營(yíng)方也可以通過(guò)免密登陸自己查詢和分析運(yùn)營(yíng)數(shù)據(jù),及時(shí)作出優(yōu)化調(diào)整,省時(shí)省事還安全。在月度例會(huì)上,我因此再一次得到了老板的肯定,開(kāi)心的同時(shí),也在心里暗想:“看來(lái)不能松懈,還得多學(xué)習(xí)啊~”

據(jù)了解,目前API Explorer平臺(tái)已開(kāi)放EI企業(yè)智能、計(jì)算、應(yīng)用服務(wù)、網(wǎng)絡(luò)、軟件開(kāi)發(fā)平臺(tái)、視頻等70+云服務(wù),共上線2000+個(gè)API、6000+個(gè)錯(cuò)誤碼。在前期試運(yùn)行期間,華為云API Explorer平臺(tái)上的API接口也已被多家企業(yè)成功接入。

華為云API Explorer平臺(tái)在未來(lái)幾個(gè)月會(huì)實(shí)現(xiàn)更多功能,比如支持SDK示例代碼、CLI等特性,同時(shí)也會(huì)開(kāi)放更多的云服務(wù)API接口,連接更多開(kāi)發(fā)者實(shí)現(xiàn)創(chuàng)新、拓寬創(chuàng)新邊界。

立即登錄,閱讀全文
文章來(lái)源:華為云社區(qū)
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于華為云社區(qū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
近6成金融機(jī)構(gòu)的選擇!華為云GaussDB加快金融核心系統(tǒng)轉(zhuǎn)型
近6成金融機(jī)構(gòu)的選擇!華為云GaussDB加快金融核心系統(tǒng)轉(zhuǎn)型
當(dāng)前,數(shù)據(jù)庫(kù)在金融機(jī)構(gòu)的應(yīng)用正在從辦公、一般系統(tǒng)逐步邁入核心系統(tǒng)應(yīng)用的深水區(qū)。如何構(gòu)建安全可靠、高效穩(wěn)定的核心系統(tǒng)數(shù)據(jù)庫(kù),支持業(yè)務(wù)運(yùn)營(yíng)和管理決策,成為了眾多金融機(jī)構(gòu)關(guān)注的焦點(diǎn)問(wèn)題。
華為云
2024-07-04
華為云以系統(tǒng)性創(chuàng)新加速千行萬(wàn)業(yè)智能化升級(jí)
華為云以系統(tǒng)性創(chuàng)新加速千行萬(wàn)業(yè)智能化升級(jí)
華為云全球銷售收入達(dá)553億元人民幣,是全球增長(zhǎng)最快的主流云廠商之一。
華為云
2024-04-22
華為云發(fā)布新型工業(yè)互聯(lián)網(wǎng)平臺(tái)參考架構(gòu)
華為云發(fā)布新型工業(yè)互聯(lián)網(wǎng)平臺(tái)參考架構(gòu)
近日,在華為分析師大會(huì)上,華為混合云副總裁胡玉海重磅發(fā)布《新型工業(yè)互聯(lián)網(wǎng)平臺(tái)參考架構(gòu)》白皮書(shū),在傳統(tǒng)工業(yè)互聯(lián)網(wǎng)的基礎(chǔ)上,融入大模型的能力,讓智能化賦能新型工業(yè)化。
華為云
云服務(wù)
2024-04-22
支撐核心系統(tǒng)分布式改造,GaussDB為江南農(nóng)商銀行筑穩(wěn)根基
支撐核心系統(tǒng)分布式改造,GaussDB為江南農(nóng)商銀行筑穩(wěn)根基
在移動(dòng)互聯(lián)網(wǎng)快速普及的當(dāng)下,金融機(jī)構(gòu)能否提供便捷、智能、個(gè)性化的金融服務(wù),成為關(guān)乎業(yè)務(wù)開(kāi)展和企業(yè)成長(zhǎng)的重要命題。
華為云
2024-01-25
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家