通过Azure Rest API查询流日志状态时AuthorizationFailed

时间:2018-02-20 06:29:36

标签: azure azure-monitoring

我正在尝试查询基于docs的NSG的流日志状态: https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-rest

但我得到了这个例外:

{
    "error": {
        "code": "AuthorizationFailed",
        "message": "The client '4eabxxxx-xxxx-4713-8c17-695fd78e7747' with object id '4eabxxxx-xxxx-4713-8c17-695fd78e7747' does not have authorization to perform action 'Microsoft.Network/networkWatchers/queryFlowLogStatus/action' over scope '/subscriptions/fe57c71a-xxxx-xxxx-b007-65ae3645bda1/ResourceGroups/networkwatcherrg/providers/Microsoft.Network/networkWatchers/NetworkWatcher_westcentralus'."
    }
}

我的应用程序有" READER"角色(也尝试过" MONITORING READER"角色)

我也试过点击

POST https://management.azure.com/subscriptions/{{subscriptionId}}/providers/Microsoft.Insights/register?api-version=2016-09-01

注册Insights.Provider(在上面的文档中提到),但仍然是同样的错误。

获取流日志状态所需的权限是什么?

2 个答案:

答案 0 :(得分:0)

  

获取流日志状态所需的权限是什么?

您需要网络观察程序中的查询流日志状态权限。

此权限属于参与者权限操作。

enter image description here

<强>解决方案:

  1. 您可以为您的应用分配网络贡献者角色。

  2. 您可以创建包含权限和其他足够权限的自定义角色。然后,您可以将此角色分配给您的应用程序。

答案 1 :(得分:0)

这是一个较旧的 API,很快就会被弃用。请移至新 API:https://docs.microsoft.com/en-us/rest/api/network-watcher/flowlogs/get

新 API 仅适用于在订阅/RG/资源范围内添加的“Microsoft.Network/networkWatchers/flowLogs/read”权限。 SG