使用PHP 取得 Azure Active Directory 令牌 的方法
在呼叫 Azure Rest API 時,如果是屬於 Azure Resource Manager 的 API,則需要使用 Azure Active Directory (Azure AD)認證取得令牌(Token),然後才能夠進行存取。
以下是建立 Azure AD 應用,並授權其可以存取管理 Azure 的資源的步驟:
取得更好的閱讀體驗也可以點擊此處。
Note
以下認證方式,只適用於 Azure Resource Manager 的 API。 即 endpoint 為 management.chinacloudapi.cn
的 API,不適用於 Azure Service Manager 的 API(endpoint 為 management.core.chinacloudapi.cn
的 API)。
登入Azure 帳戶(PowerShell)
- # 記錄取得到的TenantID 以供後續程式使用。 選擇目前訂閱ID
-
設定目前訂閱,多訂閱環境下需要執行該步驟:
Set-AzureRmContext -SubscriptionId <subscription ID>
登入後複製建立AD 應用程式
查看新建立的應用對象,屬性ApplicationId,在後續會用來建立服務憑證,角色設定和Access Token。
$azureAdApplication = New-AzureRmADApplication -DisplayName "exampleapp" -HomePage "https://www.contoso.org" -IdentifierUris "https://www.contoso.org/example" -Password "<Your_Password>"
建立服務憑證
- Azure AD 應用程式建立服務憑證:
New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
登入後複製- 當創建完成服務憑證後,初始是沒有任何權限的,我們需要為其設定權限範圍。 授權
為您的服務憑證新增角色設置,在該範例中,為您的服務憑證設定存取您訂閱下所有資源的讀取權限。 如果想了解更多內容,請參考:Azure Role-based Access Control。
New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $azureAdApplication.ApplicationId
登入後複製其中
有三種權限設定:
Reader 對Azure資源有讀取權限。
Contributor 對Azure資源有管理權限,但無法授權他人。
$tenlent_id = 'Your Sub Tenlent ID'; $client_id = 'Application ID'; $client_secret = 'Application Password'; $auth_url = 'https://login.chinacloudapi.cn/'.$tenlent_id.'/oauth2/token?api-version=1.0'; $auth = curl_init($auth_url); $post_data= 'grant_type=client_credentials&resource=https://management.chinacloudapi.cn/&client_id='.$client_id.'&client_secret='.urlencode($client_secret); curl_setopt_array($auth, array( CURLOPT_VERBOSE => 1, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $post_data, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded' ) )); curl_exec($atuh); echo "\n";
{ "token_type": "Bearer", "expires_in": "3600", "expires_on": "1455680701", "not_before": "1455676801", "resource": "https://management.azure.com/", "access_token": "eyJ0eXAiOi…" }
$token = 'eyJ0eXA…'; $host = 'management.chinacloudapi.cn'; $version = '2015-09-01'; $url = 'https://'.$host.'/subscriptions/5bbf0cbb-647d-4bd8-b4e6-26629f109bd7/resourceGroups/Default-MySql-ChinaNorth/providers/Microsoft.MySql/servers/poddbtest/databases/kevintest?api-version='.$version; $ch = curl_init($url); $data = array( 'properties' => array( 'charset' => 'utf8', 'collation' => 'utf8_general_ci' ), ); $json = json_encode($data); curl_setopt_array($ch, array( CURLOPT_VERBOSE => 1, CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_POSTFIELDS => $json, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTPHEADER => array( 'Content-type:application/json', 'Authorization:Bearer '.$token ) )); $ret =curl_exec($ch); if (empty($ret)) { // some kind of an error happened echo 'Curl error: ' . curl_error($ch); } else { $info = curl_getinfo($ch); } echo "\n";
以上是使用PHP 取得 Azure Active Directory 令牌 的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

錯誤801c03ed通常附帶以下訊息:管理員策略不允許此使用者加入設備。這個錯誤訊息將阻止你安裝Windows並加入網絡,從而阻止你使用電腦,因此盡快解決此問題非常重要。什麼是錯誤代碼801c03ed?這是Windows安裝錯誤,由於以下原因而發生:Azure設定不允許新用戶加入。 Azure上未啟用裝置物件。 Azure面板中的硬體雜湊發生故障。如何修復Windows801上的錯誤代碼03c11ed? 1.檢查Intune設定登入Azure入口網站。導航至“設備”,然後選擇“設備設定”。將「用戶可以將
![Active Directory 使用者和電腦遺失 [以 3 種方式修復]](https://img.php.cn/upload/article/000/465/014/168196830849131.png?x-oss-process=image/resize,m_fill,h_207,w_330)
ActiveDirectory使用者和電腦(ADUC)遺失是許多WindowsPro使用者報告的最令人沮喪的問題之一。 ADUC是一個令人難以置信的MMC管理單元,它使管理員能夠管理MicrosoftActiveDirectory。但是,由於某種原因,它在Windows伺服器或Enterprise/Pro版本中缺失。讓我們深入了解它丟失的原因以及我們如何修復它。 Windows11是否有ActiveDirectory? ActiveDirectory是任何想要管理遠端

旨在簡化文件搜索,多種服務和平台的結合都是獲得無與倫比性能的關鍵。在本文中,我們將探索一種將 Azure 認知服務的強大功能與 OpenAI 的功能結合的整體方法。透過深入研究意圖識別、文件過濾、特定領域的演算法和文字摘要,您將學習創建一個不僅可以理解用戶意圖而且可以有效處理和呈現資訊的系統。

本站12月17日訊息,AzureOpenAI服務提供對OpenAI強大語言模型的RESTAPI訪問,這些模型包括GPT-4、GPT-3.5-Turbo和嵌入模型系列。微軟宣布進一步加強AzureOpenAI服務的功能,並為客戶提供了最新的GPT-4TurbowithVision的公開預覽版本這個先進的多模態AI模型繼承了GPT-4Turbo的所有強大功能,並且還加入了圖像處理和分析的能力。這樣一來,我們就有了利用GPT-4處理更多任務的機會,例如改善無障礙輔助功能、解釋和分析視覺化數據,以及進行

本站8月16日消息,微軟昨天發布了一則公告,宣布將從10月開始強制實施多因素身分驗證(MFA)功能,以協助降低帳號被入侵的可能性。微軟表示,MFA可以阻止99.2%以上的此類帳戶入侵攻擊,因此該措施是強制性的。根據介紹,這個過程將分為兩個階段逐步實施,本站總結如下:第1階段:從10月開始,登入Azure入口網站、MicrosoftEntra管理中心和Intune管理中心都將需要MFA,但不會影響其他Azure客戶端。第2階段:從2025年初開始,MFA要求將逐步拓展到其他Azure客戶端,例如Azur

微軟去年11月,它緩解了3.47TbpsDDoS(分散式阻斷服務)攻擊,無意中創造了新記錄。在一篇部落格文章中,這家Redmond巨頭分享了2021年第三季的AzureDDoS保護資料。該公司指出,2021年下半年DDoS攻擊數量增加。由於攻擊服務價格低廉,DDoS是任何人都可以使用的流行攻擊方法。 2021年下半年,微軟平均每天緩解1,955次攻擊,比上半年增加40%。然而,與2021年8月10日緩解的4,296次攻擊相比,這相形見絀。總體而言,

微軟已發布 Windows Server Insider Preview 的新版本。本週的 build 25099 現在可以從Windows Server Insider 網站下載 ISO和 VHDX,但按照慣例,沒有完整的變更日誌可言,因此不清楚有什麼新內容。微軟再次表示品牌尚未更新,在預覽版中仍為 Windows Server 2022。此外,微軟鼓勵內部人員在Azure
