【API進(jìn)階之路】項目差點翻車,幸好我及時學(xué)會了IAM自定義代理免密登錄

      網(wǎng)友投稿 662 2025-03-31

      上次教了實習(xí)生一個方案之后,這小子跟運(yùn)營妹子的關(guān)系是越走越近,時不時地撒把-,在我司真正實現(xiàn)了研發(fā)運(yùn)營一家親~(上回你沒看?戳上文劇情回顧:萬萬沒想到,一個技術(shù)方案幫實習(xí)生追到了運(yùn)營妹子 )

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

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

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

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

      說干就干,執(zhí)行力咱還是有的。用1天的時間就把程序?qū)懲炅耍跍y試的時候發(fā)現(xiàn)了一個問題,數(shù)據(jù)過不來!因為通過內(nèi)嵌系統(tǒng)登陸云服務(wù)器需要經(jīng)過各種認(rèn)證,步驟多不說,如果要想實現(xiàn)人人可查詢還存在泄密的危險。

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

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

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

      一、前提條件

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

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

      備注:有關(guān)創(chuàng)建IAM用戶和授權(quán)相關(guān)操作請參見:創(chuàng)建IAM用戶?和 創(chuàng)建用戶組并授權(quán)

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

      委托類型選擇“普通賬號”,委托的賬號填寫“DomainA”。

      備注:有關(guān)創(chuàng)建委托相關(guān)操作請參見:創(chuàng)建委托(委托方操作)

      【API進(jìn)階之路】項目差點翻車,幸好我及時學(xué)會了IAM自定義代理免密登錄

      二、華為云聯(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。

      填寫"session_user"參數(shù),發(fā)起一個POST請求。

      POST? 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)獲取并記錄請求響應(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ā)送一個POST請求。

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

      請求示例

      { ????"auth":?{ ????????"securitytoken":?{ ????????????"access":?"LUJHNN4WB569PGAPBDFT", ????????????"id":?"gQpjbi1ub3J0a...", ????????????"secret":?"7qtrm2cku0XubixiVkBOcvMfpnu7H2mLNCUsuFR8" ????????} ????} }

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

      通過委托獲取臨時訪問密鑰和securitytoken且請求體中填寫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ù)說明:

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

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

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

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

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

      點擊查看詳情:《華為云一站式API解決方案平臺API Explorer上線》

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

      IAM API

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:怎么讓表格自動調(diào)整?(怎么讓表格自動調(diào)整列寬)
      下一篇:2021-08-16 CTFer成長之路-SSRF漏洞
      相關(guān)文章
      亚洲av永久无码精品三区在线4| 久久综合亚洲色HEZYO社区| 久久精品国产亚洲av日韩| 亚洲中久无码永久在线观看同| 亚洲国产成人精品91久久久| 国产精品亚洲一区二区三区久久| 亚洲精品无码久久| 亚洲暴爽av人人爽日日碰| 亚洲无码一区二区三区 | 亚洲人成在线影院| 亚洲成人免费在线| 亚洲AV本道一区二区三区四区| 国产亚洲婷婷香蕉久久精品| 日韩亚洲人成在线综合日本| 国产成人精品日本亚洲| 亚洲Av综合色区无码专区桃色| 国产精品亚洲一区二区三区在线| 亚洲日韩欧洲乱码AV夜夜摸| 亚洲国产精品无码中文字| 久久久久亚洲av无码尤物| 亚洲免费精彩视频在线观看| 老司机亚洲精品影院| 亚洲精品不卡视频| 亚洲人成黄网在线观看| 在线观看亚洲AV每日更新无码| 亚洲人成电影网站色www| 国产精品亚洲lv粉色| 午夜亚洲av永久无码精品| 亚洲精品无码专区久久同性男| 国产精品亚洲精品日韩已方| 亚洲欧洲国产精品香蕉网| 亚洲成在人天堂在线| 亚洲成人福利网站| 自拍偷区亚洲国内自拍| 色天使色婷婷在线影院亚洲| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲VA中文字幕无码一二三区 | 亚洲日韩精品A∨片无码| 亚洲欧洲国产日韩精品| 亚洲毛片在线免费观看| 亚洲日韩国产一区二区三区在线|