网络安全边界的诊断日志

本文介绍了网络安全边界的诊断日志,以及如何启用日志记录。 你将了解使用的访问日志类别。 接下来,你将了解诊断日志的存储选项,以及如何通过 Azure 门户启用日志记录。

重要

网络安全边界现已在由世纪互联运营的以下 Azure 区域正式可用。 有关受支持的服务的信息,请参阅支持的 PaaS 服务的 载入专用链接资源

  • 中国东部 2
  • 中国北部 2
  • 中国北部 3

访问日志类别

网络安全外围的访问日志类别基于访问规则评估的结果。 诊断设置中选择的日志类别将发送到客户选择的存储位置。 以下是每个访问日志类别的说明,包括它们适用的模式:

日志类别 说明 适用于模式
NspPublicInboundPerimeterRulesAllowed 根据网络安全外围访问规则允许入站访问。 过渡/强制
NspPublicInboundPerimeterRulesDenied 公共入站访问被网络安全边界拒绝。 已强制实施
允许公共出站边界规则 根据网络安全边界访问规则,允许出站访问。 过渡/强制
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 资源日志的正确流。 为未包含在 已载入的专用链接资源 列表中的资源配置诊断设置,或已为其配置诊断设置,将导致这些资源的日志流中断。

后续步骤