有没有办法从网络窗格中查看 Azure 存储的流量日志,以了解被防火墙设置阻止的连接?

问题描述 投票:0回答:1

在 Azure Monitor/Log Analytics 工作区中的哪里可以找到日志,该日志通知由于防火墙设置而被丢弃的某些连接尝试(此处来自 PowerBi 服务)?到处都可以查到吗?

在 Azure 存储帐户中,我已启用所有可能的“诊断设置”(帐户级别、blob、队列、表等),并为每个设置设置“发送到 Log Analytics 工作区”。然后,在“网络”中,我将“公共网络访问”设置为“禁用”,并触发了一些已发布的 PowerBi 报告数据集刷新,该刷新在提到的 Azure 存储帐户中使用 Azure 表存储。刷新失败并显示:

“处理数据集中的数据时出现错误。隐藏详细信息 数据源错误:为 AzureTables 源提供的凭据无效。 (来源https://.table.core.windows.net/。)。该异常是由 IDataReader 接口引发的。请查看错误消息和提供商文档以获取更多信息和纠正措施。表:。”由于防火墙设置而导致的错误。但是,在 Log Analytics 工作区中,我没有找到任何被拒绝的连接的任何日志。

azure azure-storage azure-table-storage azure-log-analytics azure-monitoring
1个回答
0
投票

有没有办法从网络窗格中查看 Azure 存储的流量日志,了解被防火墙设置阻止的连接?

要检查

Azure Storage
的流量日志并查看被网络中的防火墙设置阻止的连接,您可以按照以下步骤操作。

为了测试,我在存储帐户中禁用了公共网络访问,然后当我尝试访问 blob 时,防火墙会阻止连接。

enter image description here

  1. 启用诊断设置,如果已设置,请跳过此步骤。

  2. 转到见解 > 失败。

enter image description here

  1. 如果有任何流量被阻止存储事务的网络,您可以在此处过滤日志。

enter image description here

  1. KQL 查询以检查 Azure 存储的流量日志以查找被防火墙阻止的连接。
let serviceValues = dynamic(['blob']);
let operationValues = dynamic(['*']);
let statusValues = dynamic(['AuthorizationFailure']);
StorageBlobLogs
| union StorageQueueLogs
| union StorageTableLogs
| union StorageFileLogs
| where StatusText != "Success"
| where "*" in ('blob') or ServiceType in ('blob')
| where "*" in ('*') or OperationName in ('*')
| where "*" in ('AuthorizationFailure') or StatusText in ('AuthorizationFailure')
| extend Service = ServiceType
| extend AuthType = AuthenticationType
| extend CallerIpAddress = split(CallerIpAddress, ":")[0]
| summarize ErrorCount = count()
    by
    Service,
    OperationName,
    StatusText,
    StatusCode,
    AuthType,
    tostring(CallerIpAddress),
    Uri
| sort by ErrorCount desc

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.