日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【壹刊】Azure AD(三)Azure资源的托管标识

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【壹刊】Azure AD(三)Azure资源的托管标识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,引言

  來個慣例,吹水!????????????????????

  前一周因為考試,還有個人的私事,一下子差點頹廢了。想了想,寫博客這種的東西還是得堅持,再忙,也要檢查。要養成一種習慣,同時這也是自我約束的一種形式。雖然說不能浪費大量時間在刷朋友圈,看自媒體的新聞,看一些營銷號的視頻等等,不喜勿噴啊,這是我個人的一些觀念,也沒有帶認識眼光啊!好了,廢話不多說,在此先立個Flag,

  1,保證每周輸出一篇文章。

  2,開始檢查每周4次的5公里跑步。

好了,開始今天的分析????????????????????

------------------------------------我是分割線------------------------------------

  之前有個章節講到Azure AD的一些基礎概念,以及Azure AD究竟可以用來做什么?,還講了講如何在我們的項目中集成Azure AD 保護我們的API資源!講了這些,其實遠遠不夠,AD里里面還有好多概念性的知識,同時也是在其他模塊中有使用到的,就比如什么叫“托管標識”,托管標識又分為“系統托管標識”和“用戶托管標識”;什么叫“服務主體”,它又能干什么,和Azure又有什么關系?好的,那么今天就帶著這些問題,我們來剖析,探個究竟!。

二,正文

1,“什么是托管標識”

  • 客戶端ID:Azure AD 生成的唯一標識符,在其初始預配期間與應用程序和服務主體綁定。

  • 主體 ID - 托管標識的服務主體對象的對象 ID,用于授予對 Azure 資源的基于角色的訪問權限。

  • Azure 實例元數據服務 (IMDS)?- 一個 REST 終結點(url鏈接),可供通過 Azure 資源管理器創建的所有 IaaS VM 使用。?

2,托管標識分為兩種類型:

  • 系統分配托管標識:直接在 Azure 服務實例上啟用。?啟用標識后,Azure 將在實例的訂閱信任的 Azure AD 租戶中創建實例的標識。?創建標識后,系統會將憑據預配到實例。?系統分配標識的生命周期直接綁定到啟用它的 Azure 服務實例。?如果實例遭刪除,Azure 會自動清理 Azure AD 中的憑據和標識。

  • 用戶分配托管標識:是作為獨立的 Azure 資源創建的。?在創建過程中,Azure 會在由所用訂閱信任的 Azure AD 租戶中創建一個標識。?在創建標識后,可以將標識分配到一個或多個 Azure 服務實例。?用戶分配標識的生命周期與它所分配到的 Azure 服務實例的生命周期是分開管理的。

下圖演示了托管服務標識如何與 Azure 虛擬機 (VM) 協同工作:

3,系統分配托管標識如何與 Azure VM 協同工作

  • Azure 資源管理器收到請求,要求在 VM 上啟用系統分配托管標識。(圖1)

  • Azure 資源管理器在 Azure AD 中創建與 VM 標識相對應的服務主體。?服務主體在此訂閱信任的 Azure AD 租戶中創建。

  • Azure 資源管理器通過使用服務主體客戶端 ID 和證書更新 Azure 實例元數據服務標識終結點來配置 VM 上的標識。

  • VM 有了標識以后,請根據服務主體信息向 VM 授予對 Azure 資源的訪問權限。?若要調用 Azure 資源管理器,請在 Azure AD 中使用基于角色的訪問控制 (RBAC) 向 VM 服務主體分配相應的角色。?若要調用 Key Vault,請授予代碼對 Key Vault 中特定機密或密鑰的訪問權限。

  • 在 VM 上運行的代碼可以從只能從 VM 中訪問的 Azure 實例元數據服務終結點請求令牌:http://169.254.169.254/metadata/identity/oauth2/token

    • resource 參數指定了要向其發送令牌的服務。?若要向 Azure 資源管理器進行身份驗證,請使用?resource=https://management.azure.com/。

    • API 版本參數指定 IMDS 版本,請使用 api-version=2018-02-01 或更高版本。

    • 調用了 Azure AD,以便使用在步驟 3 中配置的客戶端 ID 和證書請求訪問令牌(在步驟 5 中指定)。?Azure AD 返回 JSON Web 令牌 (JWT) 訪問令牌。

    • 代碼在調用支持 Azure AD 身份驗證的服務時發送訪問令牌。

    • 4,用戶分配托管標識如何與 Azure VM 協同工作

    • Azure 資源管理器收到請求,要求創建用戶分配托管標識。

    • Azure 資源管理器在 Azure AD 中創建與用戶分配托管標識相對應的服務主體。?服務主體在此訂閱信任的 Azure AD 租戶中創建。

    • Azure 資源管理器收到在 VM 上配置用戶分配的托管標識的請求,并使用用戶分配的托管標識服務主體客戶端 ID 和證書更新 Azure 實例元數據服務標識終結點。

    • 創建用戶分配托管標識以后,請根據服務主體信息向標識授予對 Azure 資源的訪問權限。?若要調用 Azure 資源管理器,請在 Azure AD 中使用 RBAC 向用戶分配標識的服務主體分配相應的角色。?若要調用 Key Vault,請授予代碼對 Key Vault 中特定機密或密鑰的訪問權限。

      ?備注

      也可在步驟 3 之前執行此步驟。

    • 在 VM 上運行的代碼可以從只能從 VM 中訪問的 Azure 實例元數據服務標識終結點請求令牌:http://169.254.169.254/metadata/identity/oauth2/token

      • resource 參數指定了要向其發送令牌的服務。?若要向 Azure 資源管理器進行身份驗證,請使用?resource=https://management.azure.com/。

      • 客戶端 ID 參數指定為其請求令牌的標識。?當單臺 VM 上有多個用戶分配的標識時,此值是消除歧義所必需的。

      • API 版本參數指定 Azure 實例元數據服務版本。?請使用?api-version=2018-02-01?或指定更高的版本。

    • 調用了 Azure AD,以便使用在步驟 3 中配置的客戶端 ID 和證書請求訪問令牌(在步驟 5 中指定)。?Azure AD 返回 JSON Web 令牌 (JWT) 訪問令牌。

    • 代碼在調用支持 Azure AD 身份驗證的服務時發送訪問令牌。

    • ?稍后會提示

      ?注意,此時在AD的應用注冊頁面是找不到剛剛注冊的應用的,只有在給Azure 資源分配托管標識訪問Azure資源管理器,我這里是提前創建了是一個vm資源,也就是使用vm系統分配的托管標識訪問Azure Key Vault。簡而言之,Azure Key Vault作為密鑰保管庫,Key Vault 隨后可讓客戶端應用程序使用機密訪問未受 Azure Active Directory (AD) 保護的資源。?托管服務標識由 Azure 自動管理,可用于向支持 Azure AD 身份驗證的服務進行身份驗證,這樣就無需在代碼中插入憑據了。

      但是Azure中資源和資源之間是相互隔離的,不能夠相互訪問。

      所以,我們需要開啟vm的系統分配的托管標識,然后再key vault 中開啟 vm的訪問策略。如下所示

      添加 “vm001” 對 “key vault” 的訪問策略

      ?

      ?

      ?創建 “機密” 信息

      ?

      ?

      名稱輸入:conn;值輸入 123 ,點擊“創建”,

      然后使用ssh 登陸剛剛創建好的vm001上,獲取訪問 “key vault” 的 “access_token”?

      在終端窗口中,使用 CURL 向 Azure 資源終結點的本地托管標識發出請求,以獲取 Azure Key Vault 的訪問令牌

      <strong>世紀互聯版</strong

      curl?'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.cn'?-H?Metadata:true

      <strong>全球版</strong>

      curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true  

      ?可以使用此訪問令牌對 Azure Key Vault 進行身份驗證。? 下一個 CURL 請求顯示如何使用 CURL 和 Key Vault REST API 從 Key Vault 讀取密鑰。? 將需要 Key Vault 的 URL,該 URL 位于 Key Vault 的“概述” 頁的“軟件包” 部分。? 另外,還需要在前面的調用中獲取的訪問令牌

      curl https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01 -H "Authorization: Bearer <ACCESS TOKEN>"

      通過在請求頭添加Bearer認證,獲取key vault 中剛剛創建的機密信息? 名稱 “conn”,值 “123”

      bingo,成功的拿到密鑰。開啟系統分配的托管標識,其實就是授予例如 Azure VM資源的托管標識對另外一個Azure 資源的訪問權限。

      三,結尾

      今天的文章大概介紹了 Azure系統的托管標識到底是個什么東西,可以用來干什么,這里不僅僅可以去 VM 訪問 "key Vault",還可以訪問 “Azure 存儲”,“Azure Cosmos DB”等,都是同樣的道理。

      下一篇開始講解一下關于用戶自己分配的托管標識,已經作一下演示,同時演示使用用戶分配的托管身份運行應用程序。

      版權:轉載請在文章明顯位置注明作者及出處。如發現錯誤,歡迎批評指正。

      作者:Allen 版權:轉載請在文章明顯位置注明作者及出處。如發現錯誤,歡迎批評指正。

    總結

    以上是生活随笔為你收集整理的【壹刊】Azure AD(三)Azure资源的托管标识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。