使用 Azure Media Services Explorer 以 Azure Active Directory 進行身分驗證

Microsoft Azure Media Services 將於 2018 年6月22日更改身分驗證的方式,過去 Azure Media Services 使用的 Azure Access Control Service (ACS) 身分驗證機制將被 Azure Active Directory 的驗證方式所取代 ( https://azure.microsoft.com/en-us/blog/azure-media-service-aad-auth-and-acs-deprecation/ )。在此示範如何使用開放源碼工具 Azure Media Services Explorer ( https://github.com/Azure/Azure-Media-Services-Explorer)  以 Azure Active Directory 進行身分驗證。

以互動式登入方式透過 Azure Active Directory 進行身分驗證

用戶可以在管理入口網站內針對已經建立妥的 Azure Media Services 點選 「API 存取權」(API Access),如下圖我們會看到兩個選項,一個是針對用戶以互動方式鍵入帳號密碼對 Azure Active Directory 進行身分驗證,另一個則是針對無法互動登入的情境,例如 Server 端程式碼,透過 Service Principal 方式來進行身分驗證。


就 Azure Media Services Explorer 而言,採用互動式登入是個最簡單的方式,我們可以點選右側上方採用互動式方式進行登入。當點選完畢後就會出現下圖畫面。

 
請記錄下 Azure Active Directory 租戶網域與 REST API 端點兩項資訊,這兩項資訊將提供後續 Azure Media Services Explore 登入時使用。

啟動 Azure Media Services Explorer 4.0 之後的版本,依據下圖選擇以 Azure AD Interactive 方式進行身分驗證,並在 Mode 處選擇 Interactive,選妥後將之前紀錄的 Azure Active Directory 租戶網域的域名貼入紅色標示的 Azure AD Tenant Domain,以及之前記錄的REST API 端點貼入紅色標示的 REST API Endpoint,當然也需要填入 Azure Storage 的存取鍵值,這部分與過去方法一樣,在此不再贅述。完成後按下 Save to List 按鈕儲存此一登入資訊。


完成後按下 Connect 按鈕即會跳出 Azure Active Directory 登入畫面,用戶可以鍵入一個有權限使用 Azure Media Services 之帳號密碼完成登入動作。

以 Service Principal 方式透過 Azure Active Directory 進行身分驗證

請在已經建立妥的 Azure Media Services 上點選 「API 存取權」(API Access),如下圖我們會看到兩個選項,如果要使用 Service Principal 方式進行身分驗證,請點選下方的選項。

當出現下圖畫面後,同樣地請記錄下 Azure Active Directory 租戶網域與 REST API 端點兩項資訊,這兩項資訊將提供後續 Azure Media Services Explore 登入時使用。使用 Service Principal 方式進行身分驗證時必須在 Azure Active Directory 內註冊一個 Azure AD Application,這個動作已經簡化可在下方畫面中快速完成,我只需要給需要呼叫 Azure Media Services API 的程式一個可供辨識名稱鍵入在「建立應用程式」欄位,輸入完畢後請點選「儲存」按鈕即可完成 Azure AD Application 註冊動作。以下圖的範例,我以 Azure Media Services Explorer 為此一 Azure AD Application 名稱,按下上方儲存按鈕即可完成註冊動作。


當此一 Azure AD Application 註冊完畢,我們即可點選下圖中的「管理應用程式」按鈕,取得並記錄下此一應用程式之「應用程式識別碼」(Application ID),應用程式識別碼 (Application ID) 是一個絕對唯一,代表您這個應用程式的辨識 ID,系統會自動產生後不可修改,當呼叫 Media Services API 時會使用,此 ID 在舊版 Azure Portal 中 Azure Active Directory 管理畫面中稱為 "用戶端識別碼" (clientid),這是沿用了 OAUTH 2.0 規格中的名稱 Client ID,所以 Application ID 與 Client ID 其實是同一件事。接下來我們需要點選下圖右方的「金鑰」準備產生一個的 Service Principal 的「金鑰」。

「金鑰」按下請如下圖鍵入一個可供辨識的金鑰名稱,並設定此一金鑰的有效期限,按下儲存按鈕後金鑰即會產生,特別需要注意的是金鑰產生後僅能顯示一次,請務必保存下來以供後續 Azure Media Services Explorer 登入使用。

接下來啟動 Azure Media Services Explorer 4.0 之後的版本,依據下圖選擇以 Azure AD Interactive 方式進行身分驗證,並在 Mode 處選擇 Service Principal,我們仍需要填入之前記錄的 Azure Active Directory 租戶網域與 REST API 端點於紅色標示的兩個欄位。完成後按下 Save to List 按鈕儲存此一登入資訊。

接下來按下 Connect 按鈕開始準備以 Service Principal 進行登入。如下圖我們需要填入之前記錄的「應用程式識別碼」(Application ID) 於 Client Id 欄位,填入之前產生只顯示一次的金鑰於 Client Secret 欄位,按下 OK 按鈕即可完成以Service Principal 進行登入。