【问题标题】:getting token for Azure ML获取 Azure ML 的令牌
【发布时间】:2022-08-26 17:22:41
【问题描述】:
我对 Azure 很陌生。我已经将使用 Azure ML 工作室的模型部署到需要对令牌进行身份验证的 Web 服务。我可以使用 Python SDK 获取令牌。但我需要使用邮递员获取令牌。为此,我在 Azure Active Directory 中注册和应用程序以获取使用它的访问令牌,但此令牌不是 Azure ML 的有效令牌,当我使用此令牌调用我的 Web 服务时,它会给出“未授权、指定的无效 AAD 令牌”。有人对这个问题有什么建议吗?
【问题讨论】:
标签:
azure-active-directory
azure-machine-learning-service
【解决方案1】:
按照这个official document
为 Web 服务启用令牌身份验证时,用户必须
向 Web 服务提供 Azure 机器学习 JSON Web 令牌以
访问它。令牌在指定的时间范围后过期,需要
刷新以继续拨打电话。
若要使用令牌进行身份验证,Web 服务将调用创建 Azure 机器学习工作区的区域。如果您的工作区区域不可用,您将无法为您的 Web 服务获取令牌,即使您的集群位于与您的工作区不同的区域中。结果是在您的工作区区域再次可用之前,Azure AD 身份验证不可用。
此外,集群区域和工作区区域之间的距离越大,获取令牌所需的时间就越长。
【解决方案2】:
您可以使用使用 Python SDK 检索到的相同令牌,只要它没有过期,您就可以通过设置标头值使用 Postman 向 Web 服务发出请求。
请参考 official docs 中的 cURL 示例,该示例可以修改以在 Postman 中使用
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_TOKEN" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json