1. 程式人生 > 其它 >【Azure 媒體服務】Azure Media Service Explorer 5.4.3.0 不能連線Media Service, 錯誤訊息提示 BadRequest 和 Forbidden

【Azure 媒體服務】Azure Media Service Explorer 5.4.3.0 不能連線Media Service, 錯誤訊息提示 BadRequest 和 Forbidden

問題描述

Azure Media Service Explorer 5.4.3.0 不能連線Media Service, 錯誤訊息提示 BadRequest 和 Forbidden。

截圖如下: BadRequest

Forbidden

問題解決

BadRequest 和 Forbidden 是在操作中遇見的兩個問題,所以需要分開單獨分析:

1)分析BadRequest的問題,發現根源是Media Service Explorer 5.4.3.0的一個Bug,在連線的時候請求AAD認證時返回400 Bad Request錯誤。但是通過降低到5.4.2.1的版本時,能夠正常連線到Azure媒體服務(Media Servcie).

2)分析Forbidden問題,這是因為在認證時候,401沒有足夠的許可權而引起的。所以第一步就是檢測當前使用的AAD 服務主體(Service Principal) 是否在Media Service的訪問控制【Access Control(IAM)】 中被賦予了足夠的許可權。如:Media Services Account Administrator

注:使用Azure Media Service Explorer工具連線Media Service時候,需要注意時連線的V3, 或者是V2版本的媒體服務。因為它們的終結點是不一樣的。如下的高亮部分:

V2 和V3認證的時候終結點是不一樣的。
####V3:
{
    
"AadClientId": "<<INSERT_AZURE_AD_APP_ID_HERE>>", "AadSecret": "<<INSERT_AZURE_AD_APP_SECRET_HERE>>", "AadTenantDomain": "xxx", "AadTenantId": "xx", "AccountName": "xx", "ResourceGroup": "xx", "SubscriptionId": "xxx", "ArmAadAudience": "https://management.core.chinacloudapi.cn
", "ArmEndpoint": "https://management.chinacloudapi.cn"
} ####V2: { "AadClientId": "<<INSERT_AZURE_AD_APP_ID_HERE>>", "AadSecret": "<<INSERT_AZURE_AD_APP_SECRET_HERE>>", "AadTenantDomain": "xxx", "AadTenantId": "xxx", "AccountName": "xx", "ResourceGroup": "xx", "SubscriptionId": "xx", "Location": "null", "AmsApiResource": "https://rest.media.chinacloudapi.cn", "AmsRestApiEndpoint": "https://testmediaservice.restv2.chinanorth.media.chinacloudapi.cn/api/" }

關於如何從Azure Media Service中獲取用於連線的JSON檔案,完全不用擔心,可以根據以下步驟獲取:

Azure Media Service 門戶 --> 媒體服務 API訪問許可權 --> 檢視V3和V2的用於連線的JSON檔案

參考文件

Azure 媒體服務瀏覽器https://docs.microsoft.com/zh-cn/azure/media-services/latest/media-services-apis-overview#azure-media-services-explorer

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!