Azure REST API (0) 概述 Windows Azure Platform 系列文章目錄

  《Windows Azure Platform 系列文章目錄

 

  1.概述

  1.我們在使用Azure 雲服務的時候,可以通過Azure Portal: https://portal.azure.com,輸入郵箱地址和密碼,然後通過交互式(鼠標點擊)的方式創建或者刪除微軟雲的資源

  2.我們也可以通過API或者SDK的方式進行調用,集成到用戶自己的平臺:

  (1)Azure API支持REST API調用

  (2)也支持SDK集成,比如Java SDK,Python SDK等

  (3)這樣就可以在用戶的自助式平臺裏,創建和管理微軟雲Azure上的資源

 

  2.Azure Role

  與AWS概念類似:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html,Azure支持的Role有多種,我們以下面兩種爲例:

  (1)Azure Entra ID,類似AWS IAM User。目前很多客戶都使用本地域控制器(Local Domain Controller),同步到微軟雲Azure上

  (2)Azure Service Principal,類似AWS Application。是通過API或者SDK的方式,開發使用

 

  3. API分類

  Azure API主要分爲以下兩類:

  3-1. Azure Management API

  1.Azure Managment API主要是管理Azure資源的,比如說虛擬網絡(Virtual Network),虛擬機,MySQL數據庫,存儲賬戶(Azure Storage)等

  2.我們可以通過Azure Management API來創建和管理Azure微軟雲上的資源

  3-2.MS Graph API

  1.MS Graph API主要是設置和Microsoft 365,Azure Entra ID相關的資源,比如

  (1)新建登錄用戶

  (2)新建用戶組

  (3)新建Service Principal

  (4)訪問用戶聯繫人、日曆等

 

  4.創建

  4-1.創建Azure Entra ID

  Azure Entra ID一般是通過本地域控制,同步到Azure Entra ID的。

  4-2.創建Azure Service Principal

  具體創建步驟,可以參考:Azure REST API (5) Azure創建Service Principal設置Client Secret過期時間100年

 

  5.授權

  5-1.Azure Management 授權

  如果我們需要管理Azure資源的,比如可以創建虛擬機,創建虛擬網絡等,需要進行授權操作。

  注意:管理員可以針對Azure Entra ID或者Service Principal授權,普通用戶沒有授權相關權限。

 

  5-1-1. Azure Entra ID授權

  1.我們以Azure管理員身份登錄,步驟略。

  2.選擇需要授權的對象,這裏我們以整個訂閱爲例。選擇某一個訂閱

  3.點擊下圖的Access Control (IAM),然後點擊Add,點擊Add Role assignment

  

  4.首先選擇需要授權的權限,我們這裏選擇Reader,只讀權限。剩下的步驟略。

 

  5-1-2. Azure Service Principal授權

  1.我們以Azure管理員身份登錄,步驟略

  2.選擇需要授權的對象,這裏我們以整個訂閱爲例

  3.點擊下圖的AccessControl (IAM),然後點擊Add,點擊Add Role Assignment

  

  4.選擇需要授權的權限,我們這裏選擇Contributor,截圖略。

  5.在Member裏,搜索需要授權的Service Principal名稱,截圖略。

  6.剩下的步驟略。

 

  5-2. MS Graph API權限

  1.MS Graph API主要是設置和Microsoft 365, Azure Entra ID相關的資源,比如允許創建新的用戶,用戶組等

  2.如果允許Graph API執行對應的操作,需要授權相關的API權限

  3.我們以創建Entra ID用戶爲例,參考的鏈接爲:

  https://learn.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=http

  4.在上面的鏈接中,從正文中可以查看到Permission

  

  5.如果是API或者SDK方式,調用MS Graph API,我們只要參考上面的Application Permission即可

  6.我們找到之前創建的Service Principal,搜索Microsoft Entra ID

  

  7.選中上面的Entra ID,頁面跳轉。選中下圖的App Regitrations,然後選擇之前創建的Service Principal。下圖是我的演示環境,我之前已經創建1個Service Principal,名稱爲leisso。

  

 

  8.選擇下圖的API Permission,點擊Add a permission,在右側創建中,選擇Microsoft Graph

  

 

  9.選擇下圖的Application Permission

  

 

  10.在下圖中,搜索關鍵字:User.ReadWrite.All,然後勾選中,最後點擊下圖的Add Permissions

  

 

  11.最後,點擊下圖中的Grant admin consent,允許授權操作

 

 

 

  6.登錄

  6-1.Azure Entra ID登錄

  1.我們瀏覽器打開:https://portal.azure.com,直接輸入登錄的用戶、密碼,直接登錄即可

  6-2.Azure Service Principal登錄

  1.Azure Service Principal只能通過API或者SDK方式訪問Azure資源

  2.Azure Service principal無法登錄Azure管理界面https://portal.azure.com

 

 

  7.Python SDK for Azure Managment

  7-1. Service Principal三要素

  1.當我們創建完Service Principal後,會有三個主要參數:

  (1)Tenant ID,即租戶ID

  (2)Client ID,或者叫Application ID

  (3)Client Secret,訪問祕鑰

  請注意,上面這三個參數不能分享給其他人,會有安全風險。

  另外如果我們有多個訂閱的情況下,還需要設置訂閱ID

 

  7-2.Python SDK for Azure Management 

  我們可以參考官網的python sdk 樣例,比如:

  https://github.com/Azure-Samples/azure-samples-python-management/blob/main/samples/compute/manage_virtual_machine.py

 

  7-3.Python SDK for MS Graph

  我們可以參考:

  https://github.com/microsoftgraph/msgraph-sdk-python/blob/main/docs/users_samples.md

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章