本文介绍网络安全外围的诊断日志以及如何启用日志记录。 你将了解使用的访问日志类别。 然后,可以发现用于存储诊断日志的选项,以及如何通过 Azure 门户启用日志记录。
访问日志类别
网络安全外围的访问日志类别基于访问规则评估的结果。 诊断设置中选择的日志类别将发送到客户选择的存储位置。 以下是每个访问日志类别的说明,包括它们适用的模式:
日志类别 | 说明 | 适用于模式 |
---|---|---|
NspPublicInboundPerimeterRulesAllowed | 根据网络安全外围访问规则允许入站访问。 | 转换/强制转换 |
NspPublicInboundPerimeterRulesDenied | 网络安全外围拒绝的公共入站访问。 | 执行 |
NspPublicOutboundPerimeterRulesAllowed | 基于网络安全外围访问规则允许出站访问。 | 转换/强制转换 |
NspPublicOutboundPerimeterRulesDenied | 网络安全外围拒绝的公共出站访问。 | 执行 |
NspOutboundAttempt | 网络安全外围内的出站尝试。 | 转换/强制转换 |
NspIntraPerimeterInboundAllowed | 允许在外围进行入站访问。 | 转换/强制转换 |
NspPublicInboundResourceRulesAllowed | 当网络安全外围规则拒绝时,允许基于 PaaS 资源规则进行入站访问。 | Transition |
NspPublicInboundResourceRulesDenied | 当网络安全外围规则拒绝时,PaaS 资源规则拒绝入站访问。 | Transition |
NspPublicOutboundResourceRulesAllowed | 当网络安全外围规则拒绝时,基于 PaaS 资源规则允许出站访问。 | Transition |
NspPublicOutboundResourceRulesDenied | 当网络安全外围规则拒绝时,PaaS 资源规则拒绝出站访问。 | Transition |
NspPrivateInboundAllowed | 允许专用终结点流量。 | 转换/强制转换 |
注释
网络安全外围的可用访问模式是 转换 和 强制实施。 转换模式以前名为学习模式。 在某些情况下,你可能会继续看到对 学习 模式的引用。
访问日志架构
启用时,每个与网络安全外围关联的 PaaS 资源都会生成具有统一日志架构的访问日志。
注释
网络安全外围访问日志可能已聚合。 如果缺少字段“count”和“timeGeneratedEndTime”,请考虑聚合计数为 1。
价值 | 说明 |
---|---|
time | 日志聚合窗口中第一个事件的时间戳(UTC)。 |
timeGeneratedEndTime | 日志聚合窗口中最后一个事件的时间戳(UTC)。 |
计数 | 聚合的日志数。 |
resourceId | 网络安全外围的资源 ID。 |
location | 网络安全外围区域。 |
operationName | 此事件表示的 PaaS 资源作的名称。 |
operationVersion | 与作关联的 API 版本。 |
类别 | 为 Access 日志定义的日志类别。 |
性能 | 与此类事件相关的特定于网络安全外围的扩展属性。 |
resultDescription | PaaS 资源的此作的静态文本说明,例如“获取存储文件”。 |
网络安全外围特定属性
本部分介绍日志架构中的网络安全外围特定属性。
注释
属性的应用程序受日志类别类型的约束。 请引用相应的日志类别架构,了解适用性。
价值 | 说明 |
---|---|
serviceResourceId | 发出网络安全外围访问日志的 PaaS 资源的资源 ID。 |
serviceFqdn | 发出网络安全外围访问日志的 PaaS 资源的完全限定域名。 |
profile | 与资源关联的网络安全外围配置文件的名称。 |
参数 | JSON 字符串格式的可选 PaaS 资源属性列表。 例如, { {Param1}: {value1}, {Param2}: {value2}, ...}. |
appId | 表示 Azure Active Directory 中资源的应用 ID 的唯一 GUID。 |
matchedRule | 包含匹配 accessRule 名称 {“accessRule” : “{ruleName}”} 的 JSON 属性包。 它可以是网络安全外围访问规则名称或资源规则名称(而不是 ArmId)。 |
源 | 描述入站连接的源的 JSON 属性包。 |
目的地 | 描述出站连接的目标的 JSON 属性包。 |
accessRulesVersion | 包含资源访问规则版本的 JSON 属性包。 |
源属性
描述入站连接源的属性。
价值 | 说明 |
---|---|
resourceId | 入站连接的源 PaaS 资源的资源 ID。 如果适用,将存在。 |
ipAddress | 进行入站连接的源的 IP 地址。 如果适用,将存在。 |
港口 | 入站连接的端口号。 所有资源类型都可能不存在。 |
protocol | 采用 {AppProtocol}:{TptProtocol} 格式的入站连接的应用程序和传输层协议。 例如 HTTPS:TCP。 所有资源类型都可能不存在。 |
perimeterGuids | 源资源的外围 GUID 列表。 仅当基于外围 GUID 允许时,才应指定它。 |
appId | 表示 Azure Active Directory 中源的应用 ID 的唯一 GUID。 |
参数 | JSON 字符串格式的可选源属性列表。 例如, { {Param1}: {value1}, {Param2}: {value2}, ...}. |
目标属性
描述出站连接目标的属性。
价值 | 说明 |
---|---|
resourceId | 出站连接的目标 PaaS 资源的资源 ID。 如果适用,将存在。 |
fullyQualifiedDomainName | 目标的完全限定域 (FQDN) 名称。 |
参数 | JSON 字符串格式的可选目标属性列表。 例如, { {Param1}: {value1}, {Param2}: {value2}, ...}. |
港口 | 出站连接的端口号。 所有资源类型都可能不存在。 |
protocol | 应用程序与出站连接的传输层协议的格式为 {AppProtocol}:{TptProtocol}。 例如 HTTPS:TCP。 所有资源类型都可能不存在。 |
入站类别的示例日志条目
{
"time" : "{timestamp}",
"timeGeneratedEndTime" : "{timestamp}",
"count" : "{countOfAggregatedLogs}",
"resourceId" : "/SUBSCRIPTIONS/{subsId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYPERIMETERS/{perimeterName}",
"operationName" : "{PaaSOperationName}" ,
"operationVersion" : "{api-version}",
"category" : "{inboundCategory}",
"location" : "{networksecurityperimeterRegion}",
"properties" : {
"serviceResourceId" : "/subscriptions/{paasSubsId}/resourceGroups/{paasResourceGroupName}/providers/{provider}/{resourceType}/{resourceName}",
"serviceFqdn": "{PaaSResourceFQDN}",
"accessRulesVersion" : "{accessRulesVersion}",
"profile" : "{networksecurityperimeterProfileName}",
"appId" : "{resourceAppId}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
"matchedRule" : {
"accessRule" : "{matchedRuleName}",
},
"source" : {
"resourceId" : "/subscriptions/{sourceSubscriptionId}/resourceGroups/{sourceResourceGroupName}/providers/{sourceProvider}/{sourceResourceType}/{sourceResourceName}",
"ipAddress": "{sourceIPAddress}",
"perimeterGuids" : ["{sourcePerimeterGuid}"], // Only included if request comes from perimeter
"appId" : "{sourceAppId}",
"port" : "{Port}",
"protocol" : "{Protocol}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
},
},
"resultDescription" : "The static text description of this operation on the PaaS resource. For example, \"Get storage file.\""
}
出站类别的示例日志条目
{
"time" : "{timestamp}",
"timeGeneratedEndTime" : "{timestamp}",
"count" : "{countOfAggregatedLogs}",
"resourceId" : "/SUBSCRIPTIONS/{subsId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYPERIMETERS/{perimeterName}",
"operationName" : "{PaaSOperationName}" ,
"operationVersion" : "{api-version}",
"category" : "{outboundCategory}",
"location" : "{networksecurityperimeterRegion}",
"properties" : {
"serviceResourceId" : "/subscriptions/{paasSubsId}/resourceGroups/{paasResourceGroupName}/providers/{provider}/{resourceType}/{resourceName}",
"serviceFqdn": "{PaaSResourceFQDN}",
"accessRulesVersion" : "{accessRulesVersion}",
"profile" : "{networksecurityperimeterProfileName}",
"appId" : "{resourceAppId}",
"parameters" : "{{ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
"matchedRule" : {
"accessRule" : "{matchedRuleName}",
},
"destination" : {
"resourceId" : "/subscriptions/{destSubsId}/resourceGroups/{destResourceGroupName}/providers/{destProvider}/{destResourceType}/{destResourceName}",
"fullyQualifiedDomainName" : "{destFQDN}",
"appId" : "{destAppId}",
"port" : "{Port}",
"protocol" : "{Protocol}",
"parameters" : "{ {ParameterType1}: {value1}, {ParameterType2}: {value2}, ...}", // Parsable JSON
},
},
"resultDescription" : "The static text description of this operation on the PaaS resource. For example, \"Get storage file.\""
}
访问日志的日志记录目标选项
存储网络安全外围诊断日志的目标包括 Log Analytic 工作区(表名称:NSPAccessLogs)、Azure 存储帐户和 Azure 事件中心等服务。 有关支持的目标的完整列表和详细信息,请参阅 诊断日志支持的目标。
通过 Azure 门户启用日志记录
可以使用诊断设置下的 Azure 门户为网络安全外围启用诊断日志记录。 添加诊断设置时,可以选择要收集的日志类别以及要传送日志的目标。
注释
将 Azure Monitor 与网络安全外围配合使用时,要与网络安全外围关联的 Log Analytics 工作区需要位于 Azure Monitor 支持的区域之一。
警告
日志目标必须与 PaaS 资源位于相同的网络安全外围内,以确保 PaaS 资源日志的正确流。 为未包含在 载入专用链接资源列表中的资源配置/已配置诊断设置将导致这些资源的日志流停止。