你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本文中,你将了解网络安全边界的诊断日志,以及如何启用日志记录。 你将了解使用的访问日志类别。 然后,你将了解存储诊断日志的选项以及如何通过 Azure 门户启用日志记录。
重要
网络安全边界现已在所有 Azure 公共云区域中可用。 有关受支持的服务的信息,请参阅支持的 PaaS 服务的 载入专用链接资源 。
访问日志类别
网络安全外围的访问日志类别基于访问规则评估的结果。 诊断设置中选择的日志类别将发送到客户选择的存储位置。 以下是每个访问日志类别的说明,包括它们适用的模式:
| 日志类别 | 描述 | 适用于模式 |
|---|---|---|
| NspPublicInboundPerimeterRulesAllowed | 根据网络安全外围访问规则允许入站访问。 | 转换/强制实施 |
| NspPublicInboundPerimeterRulesDenied | 网络安全边界拒绝公共入站访问。 | 强制 |
| NspPublicOutboundPerimeterRulesAllowed | 根据网络安全外围访问规则允许出站访问。 | 转换/强制实施 |
| NspPublicOutboundPerimeterRulesDenied | 网络安全外围拒绝的公共出站访问。 | 强制 |
| NspOutboundAttempt | 网络安全外围内的出站尝试。 | 转换/强制实施 |
| NspIntraPerimeterInboundAllowed | 允许外围内的入站访问。 | 转换/强制实施 |
| NspPublicInboundResourceRulesAllowed | 当网络安全外围规则拒绝时,将基于 PaaS 资源规则允许入站访问。 | 过渡 |
| NspPublicInboundResourceRulesDenied | 当网络安全外围规则拒绝时,PaaS 资源规则拒绝入站访问。 | 过渡 |
| NspPublicOutboundResourceRulesAllowed | 当网络安全外围规则拒绝时,基于 PaaS 资源规则允许出站访问。 | 过渡 |
| NspPublicOutboundResourceRulesDenied | 当网络安全外围规则拒绝时,PaaS 资源规则拒绝出站访问。 | 过渡 |
| NspPrivateInboundAllowed | 允许专用终结点流量。 | 转换/强制实施 |
注意
网络安全外围的可用访问模式是“转换”和“强制实施”。 “转换”模式以前名为“学习”模式。 在某些情况下,你可能会继续看到对“学习”模式的引用。
访问日志架构
启用时,每个与网络安全外围关联的 PaaS 资源都会生成具有统一日志架构的访问日志。
注意
网络安全边界访问日志可能已被汇总。 如果缺少字段“count”和“timeGeneratedEndTime”,请考虑聚合计数为 1。
| 价值 | 描述 |
|---|---|
| 时间 | 日志聚合窗口中第一个事件的时间戳(UTC)。 |
| timeGeneratedEndTime | 日志聚合窗口中最后一个事件的时间戳(UTC)。 |
| 计数 | 聚合的日志数。 |
| resourceId | 网络安全外围的资源 ID。 |
| 位置 | 网络安全防护边界区域。 |
| operationName | 此事件表示的 PaaS 资源操作名称。 |
| 操作版本 | 与操作关联的 API 版本。 |
| 类别 | 为 Access 日志定义的日志类别。 |
| 性能 | 与此类别事件相关的网络安全边界特定扩展属性。 |
| resultDescription | 此操作在 PaaS 资源中的静态文本描述,例如“获取存储文件”。 |
网络安全外围特定属性
本部分介绍日志架构中的网络安全外围特定属性。
注意
属性的应用程序受日志类别类型的约束。 请引用相应的日志类别架构,了解适用性。
| 价值 | 描述 |
|---|---|
| serviceResourceId | 发出网络安全外围访问日志的 PaaS 资源的资源 ID。 |
| serviceFqdn | 发出网络安全外围访问日志的 PaaS 资源的完全限定的域名。 |
| 轮廓 | 与资源关联的网络安全外围配置文件的名称。 |
| 参数 | 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 地址。 将存在(如适用)。 |
| 港口 | 入站连接的端口号。 可能并非对所有资源类型都存在。 |
| 协议 | 用于入站连接的应用层和传输层协议采用 {AppProtocol}:{TptProtocol} 格式。 例如 HTTPS:TCP。 可能并非对所有资源类型都存在。 |
| perimeterGuids | 源资源的外围 GUID 的列表。 只有在外围 GUID 允许的情况下,才应指定它。 |
| appId | 唯一 GUID,它表示 Azure Active Directory 中源的应用 ID。 |
| 参数 | JSON 字符串格式的可选源属性列表。 例如, { {Param1}: {value1}, {Param2}: {value2}, ...}. |
目标属性
描述出站连接目标的属性。
| 价值 | 描述 |
|---|---|
| resourceId | 出站连接的目标 PaaS 资源的资源 ID。 将存在(如适用)。 |
| fullyQualifiedDomainName | 目标的完全限定域名 (FQDN) 名称。 |
| 参数 | JSON 字符串格式的可选目标属性列表。 例如, { {Param1}: {value1}, {Param2}: {value2}, ...}. |
| 港口 | 出站连接的端口号。 可能并非对所有资源类型都存在。 |
| 协议 | 用于出站连接的应用层和传输层协议格式为 {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 资源日志的正确流。 对于未包含在加入的专用链接资源列表中的资源,如果要为其配置或已为其配置诊断设置,则会导致这些资源的日志流停止。