Azure rest API AuthorizationFailed error



我尝试通过以下azure API读取警报

endpoint = 'https://management.azure.com/subscriptions/{subscription_id}/providers/microsoft.Security/alerts?api-version=2016-03-01'
headers = {"Authorization": 'Bearer ' + access_token}
json_output = requests.get(endpoint, headers=headers).json()

返回以下错误信息

{u'error': {u'message': u"对象id为'8447xxxx-xxxx-xxxx-xxxx- xxxx-49bb99abxxxx'的客户端'8447xxxx-xxxx-xxxx-xxxx-49bb99abxxxx'没有执行操作'microsoft '的授权。安全/警报/读取'超出范围'/订阅/{subscription_id}'.", u'code': u' authorizationfailed '}}

关于您的消息,您需要将"Security Manager"角色添加到您的凭据中:

  • 见角色描述:https://azure.microsoft.com/documentation/articles/role-based-access-built-in-roles/#security-manager
  • 如何应用角色(PS, CLI或RestAPI): https://azure.microsoft.com/documentation/articles/role-based-access-control-manage-access-azure-cli/

在订阅范围内应用"Security Manager"角色应该可以解决您的问题。

最新更新