问题描述
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
【Azure 媒体服务】Azure Media Service Explorer 5.4.3.0 不能连接Media Service, 错误消息提示 BadRequest 和 Forbidden