

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 筛选搜索结果 GuardDuty
<a name="guardduty_filter-findings"></a>

调查发现筛选条件允许您查看匹配指定条件的调查发现，筛选出任何不匹配的调查发现。您可以使用 Amazon GuardDuty 控制台轻松创建查找筛选条件，也可以使用 JSON 通过 [https://docs.amazonaws.cn/guardduty/latest/APIReference/API_CreateFilter.html](https://docs.amazonaws.cn/guardduty/latest/APIReference/API_CreateFilter.html)API 创建筛选条件。查看以下部分，了解如何在控制台中创建筛选条件。要使用这些筛选条件自动存档传入的调查发现，请参阅 [中的抑制规则 GuardDuty](findings_suppression-rule.md)。

创建筛选条件时，请考虑以下事项：
+ 您可以指定最少 1 个属性，最多 50 个属性作为特定筛选条件。
+ 当您使用**等于**或**不等于**运算符来筛选账户 ID 等属性值时，最多可以指定 50 个值。
+ 每个筛选条件属性都作为 `AND` 运算符进行计算。同一属性的多个值计算为 `AND/OR`。
+ 有关每个筛选器中可以创建的最大保存筛选器数量的信息 Amazon Web Services 区域，请参阅[GuardDuty 配额](guardduty_limits.md)。 Amazon Web Services 账户 

以下各节提供有关如何使用 GuardDuty 控制台、API 和 CLI 命令创建和保存筛选器的说明。选择首选访问方法以继续操作。

## 在 GuardDuty 控制台中创建和保存筛选器集
<a name="filter_console"></a>

可以通过 GuardDuty 控制台创建和测试查找过滤器。您可以保存通过控制台创建的筛选条件，以便在抑制规则或在将来的筛选操作中使用。筛选条件由至少一个筛选标准组成，包含一个与至少一个值配对的筛选条件属性。

**创建和保存筛选条件（控制台）**

1. 登录 Amazon Web Services 管理控制台 并打开 GuardDuty 控制台，网址为[https://console.aws.amazon.com/guardduty/](https://console.amazonaws.cn/guardduty/)。

1. 在左侧导航窗格中，选择**发现**。

1. 在**调查发现**页面上，选择**已保存规则**菜单旁边的*筛选调查发现*栏。这将显示展开的**属性筛选条件**列表。  
![\[选择属性筛选器以筛选 GuardDuty 控制台中的搜索结果。\]](http://docs.amazonaws.cn/guardduty/latest/ug/images/guardduty-findings-page-console.png)

1. 从展开的筛选条件列表中，选择希望据以筛选调查发现表的属性。

   例如，要查看可能受影响资源为 **S3Bucket** 的调查发现，请选择**资源**类型。

1. 对于**运算符**，请选择一个有助于筛选调查发现以获得所需结果的运算符。要继续执行上一步中的示例，可以选择**资源类型 =**。这将显示中的资源类型列表 GuardDuty。  
![\[选择 “等于” 或 “不等于” 运算符可在控制台中筛选结果。 GuardDuty\]](http://docs.amazonaws.cn/guardduty/latest/ug/images/guardduty-findings-page-filters-operator-console.png)

   如果使用案例需要排除特定调查发现，则可以选择**不等于**或 **\$1=** 运算符。

1. 为所选属性筛选条件指定值。如果需要，选择**应用**。要继续执行上一步中的示例，可以选择 **S3Bucket**。

   这将显示与应用的筛选条件匹配的调查发现。

1. 要添加多个筛选条件，请重复步骤 3 – 6。

   有关完整的属性列表，请参阅[中的属性筛选器 GuardDuty](#filter_criteria)。

1. 

**（可选）将指定的属性和值保存为筛选条件**

   为了将来能再次应用此筛选条件组合，您可以将指定的属性及其值另存为筛选条件集。

   1. 使用一个或多个属性筛选条件创建筛选条件后，请在**清除筛选条件**菜单中选择*箭头*。  
![\[将过滤器设置保 GuardDuty 存在控制台中，以便能够再次筛选结果。\]](http://docs.amazonaws.cn/guardduty/latest/ug/images/guardduty-findings-page-filters-console.png)

   1. 输入筛选条件集的**名称**。名称必须具有 3 到 64 个字符。有效字符包括 a-z、A-Z、0-9、句点 (.)、连字符 (-) 和下划线 (\$1)。

   1. **描述**是为可选项。如果输入描述，最多可包含 512 个字符。

   1. 选择**创建**。

## 使用 GuardDuty API 和 CLI 创建和保存筛选器集
<a name="guardduty-creating-filters-using-api-cli"></a>

您可以使用 API 或 CLI 命令创建和测试调查发现筛选条件。筛选条件由至少一个筛选标准组成，包含一个与至少一个值配对的筛选条件属性。您可以保存筛选条件以创建 [抑制规则](findings_suppression-rule.md)或稍后执行其他筛选操作。

**使用 API/CLI 创建调查发现筛选条件**
+ 使用要创建过滤器的 Amazon Web Services 账户 位置的区域探测器 ID 运行 [CreateFilter](https://docs.amazonaws.cn/guardduty/latest/APIReference/API_CreateFilter.html)API。

  要查找您的账户和当前区域的，请参阅[https://console.aws.amazon.com/guardduty/](https://console.amazonaws.cn/guardduty/)控制台中的**设置**页面，或运行 [https://docs.amazonaws.cn/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.amazonaws.cn/guardduty/latest/APIReference/API_ListDetectors.html)API。`detectorId`
+ 或者，您可以使用 [create-filter](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/guardduty/create-filter.html) 来创建和保存筛选条件。您可以使用 [中的属性筛选器 GuardDuty](#filter_criteria)中的一个或多个筛选条件。

  使用以下示例，替换以红色显示的占位符值。  
**示例 1**：创建新筛选条件，以查看与特定调查发现类型匹配的所有调查发现  
以下示例创建了一个筛选条件，其与从特定映像中创建的实例的所有 `PortScan` 调查发现匹配。占位符值以红色显示。将这些值替换为适用于账户的值。例如，*12abc34d567e8fa901bc2d34EXAMPLE*替换为您的区域探测器 ID。  

  ```
  aws guardduty create-filter \
  --detector-id 12abc34d567e8fa901bc2d34EXAMPLE \
  --name FilterExampleName \
  --finding-criteria '{"Criterion": {"type": {"Equals": ["Recon:EC2/Portscan"]}, "resource.instanceDetails.imageId": {"Equals":["ami-0a7a207083example"]}} }'
  ```  
**示例 2**：创建新筛选条件，以查看与严重性级别匹配的所有调查发现  
以下示例创建了一个筛选条件，其与所有与 `HIGH` 严重性级别相关联的调查发现匹配。占位符值以红色显示。将这些值替换为适用于账户的值。例如，*12abc34d567e8fa901bc2d34EXAMPLE*替换为您的区域探测器 ID。  

  ```
  aws guardduty create-filter \
  --detector-id 12abc34d567e8fa901bc2d34EXAMPLE \
  --name FilterExampleName \
  --finding-criteria '{"Criterion": {"severity": {"Equals": ["7", "8"]}} }'
  ```
+ 对于 API/CLI，[调查发现的严重性级别](guardduty_findings-severity.md)以数字表示。要根据严重性级别筛选调查发现，请使用以下值：
  + 对于 `LOW` 严重性级别，使用 `{ "severity": { "Equals": ["1", "2", "3"] } }`
  + 对于 `MEDIUM` 严重性级别，使用 `{ "severity": { "Equals": ["4", "5", "6"] } }`
  + 对于 `HIGH` 严重性级别，使用 `{ "severity": { "Equals": ["7", "8"] } }`
  + 对于 `CRITICAL` 严重性级别，使用 `{ "severity": { "Equals": ["9", "10"] } }`
  + 对于具有多个严重性级别的调查发现，请使用类似于以下示例的占位符值：`{ "severity": { "Equals": ["7", "8", "9", "10"] } }`

    此示例将显示具有 `HIGH` 或 `CRITICAL` 严重性级别的调查发现。
**注意**  
如果您指定的示例仅包含一个数值，而不包含与严重性级别相关联的所有数值，API 和 CLI 可能会显示筛选后的调查发现。当您在 GuardDuty 控制台中使用此已保存的筛选器集时，它将无法按预期工作。这是因为 GuardDuty 控制台将筛选器值视为`CRITICAL``HIGH`、`MEDIUM`、和`LOW`。例如，使用包含 `{ "severity": { "Equals": ["9"] } }` 的 CLI 命令创建的筛选条件，预计会在 API/CLI 中显示相应的输出。但是，此保存的筛选器在 GuardDuty 控制台中使用时包括部分严重性级别，并且不会显示预期的输出。这使得 API 和 CLI 必须指定与每个严重性级别相关联的所有数值。

## 中的属性筛选器 GuardDuty
<a name="filter_criteria"></a>

使用 API 操作创建筛选条件或对结果进行排序时，必须在 JSON 中指定筛选条件。这些筛选条件与调查发现的详细信息 JSON 相关。下表列出了筛选条件属性的控制台显示名称，以及其等效的 JSON 字段名称。


| 控制台字段名称 | JSON 字段名称 | 
| --- | --- | 
| 账户 ID | accountId | 
| 调查发现 ID | id | 
| Region | region | 
| 严重性 | severity 您可以根据调查发现类型的严重性级别筛选调查发现类型。有关严重性值的更多信息，请参阅 [GuardDuty 调查结果的严重性级别](guardduty_findings-severity.md)。如果您`severity`与 API、 Amazon CLI、或一起使用 Amazon CloudFormation，则会为其分配一个数值。有关更多信息，请参阅《*亚马逊 GuardDuty * API 参考》中的 “[查找标准](https://docs.amazonaws.cn/guardduty/latest/APIReference/API_CreateFilter.html#guardduty-CreateFilter-request-findingCriteria)”。 | 
| 调查发现类型 | 类型 | 
| 更新时间 | updatedAt | 
| 访问密钥 ID | 资源。 accessKeyDetails。 accessKeyId | 
| 委托人 ID | 资源。 accessKeyDetails.principalID | 
| 用户名 | 资源。 accessKeyDetails。用户名 | 
| 用户类型 | 资源。 accessKeyDetails.userType | 
| IAM 实例配置文件 ID | 资源.instanceDetails。 iamInstanceProfile.id | 
| 实例 ID | resource.instanceDetails.instanceId | 
| 实例映像 ID | resource.instanceDetails.imageId | 
| 实例标签键 | resource.instanceDetails.tags.key | 
| 实例标签值 | resource.instanceDetails.tags.value | 
| IPv6 地址 | resource.instanceDetails.networkInterfaces.ipv6Addresses | 
| 私有 IPv4 地址 | 资源。实例详情。网络接口。 privateIpAddresses。 privateIpAddress | 
| 公有 DNS 名称 | 资源。实例详情。网络接口。 publicDnsName | 
| 公共 IP | resource.instanceDetails.networkInterfaces.publicIp | 
| 安全组 ID | resource.instanceDetails.networkInterfaces.securityGroups.groupId | 
| 安全组名称 | resource.instanceDetails.networkInterfaces.securityGroups.groupName | 
| 子网 ID | resource.instanceDetails.networkInterfaces.subnetId | 
|  - VPC ID | resource.instanceDetails.networkInterfaces.vpcId | 
| Outpost ARN | resource.instanceDetails.outpostARN | 
| 资源类型 | resource.resourceType | 
| 存储桶权限 | 资源.s3 .publicaccess.effective BucketDetails Per | 
| 存储桶名称  | 资源. BucketDetails s3 .name | 
| Bucket tag key | resource.s3 .tags.key BucketDetails | 
| Bucket tag value | 资源. BucketDetails s3 .tags.value | 
| 存储桶类型 | 资源. BucketDetails s3 .type | 
| 操作类型 | service.action.actionType | 
| 调用的 API | 服务行动。 awsApiCallaction.api | 
| API 调用方类型 | 服务行动。 awsApiCall操作.callerType | 
| API 错误代码 | 服务行动。 awsApiCallaction.errorCode | 
| API 调用方城市 | 服务行动。 awsApiCall行动。 remoteIpDetails.city.cityName | 
| API 调用方国家/地区 | 服务行动。 awsApiCall行动。 remoteIpDetails.country.countr | 
| API 呼叫者 IPv4 地址 | 服务行动。 awsApiCall行动。 remoteIpDetails.ipAddressv4 | 
| API 呼叫者 IPv6 地址 | 服务行动。 awsApiCall行动。 remoteIpDetails.ipAddressv6 | 
| API 调用方 ASN ID | 服务行动。 awsApiCall行动。 remoteIpDetails.organication.asn | 
| API 调用方 ASN 名称 | 服务行动。 awsApiCall行动。 remoteIpDetails.organization.asnor | 
| API 调用方服务名称 | 服务行动。 awsApiCall动作.serviceName | 
| DNS 请求域 | 服务行动。 dnsRequestAction.domain | 
| DNS 请求域后缀 | 服务行动。 dnsRequestAction。 domainWithSuffix | 
| 网络连接受阻 | 服务行动。 networkConnectionAction. 已屏蔽 | 
| 网络连接方向 | 服务行动。 networkConnectionAction. 连接方向 | 
| 网络连接本地端口 | 服务行动。 networkConnectionAction。 localPortDetails.port | 
| 网络连接协议 | 服务行动。 networkConnectionAction. 协议 | 
| 网络连接城市 | 服务行动。 networkConnectionAction。 remoteIpDetails.city.cityName | 
| 网络连接国家/地区 | 服务行动。 networkConnectionAction。 remoteIpDetails.country.countr | 
| 网络连接远程 IPv4 地址 | 服务行动。 networkConnectionAction。 remoteIpDetails.ipAddressv4 | 
| 网络连接远程 IPv6 地址 | 服务行动。 networkConnectionAction。 remoteIpDetails.ipAddressv6 | 
| 网络连接远程 IP ASN ID | 服务行动。 networkConnectionAction。 remoteIpDetails.organication.asn | 
| 网络连接远程 IP ASN 名称 | 服务行动。 networkConnectionAction。 remoteIpDetails.organization.asnor | 
| 网络连接远程端口 | 服务行动。 networkConnectionAction。 remotePortDetails.port | 
| 附属的远程账户 | 服务行动。 awsApiCall行动。 remoteAccountDetails. 关联的 | 
| Kubernetes API 调用者地址 IPv4  | 服务行动。 kubernetesApiCall行动。 remoteIpDetails.ipAddressv4 | 
| Kubernetes API 调用者地址 IPv6  | 服务行动。 kubernetesApiCall行动。 remoteIpDetails.ipAddressv6 | 
| Kubernetes 命名空间 | 服务行动。 kubernetesApiCall操作命名空间 | 
| Kubernetes API 调用方 ASN ID | 服务行动。 kubernetesApiCall行动。 remoteIpDetails.organication.asn | 
| Kubernetes API 调用请求 URI | 服务行动。 kubernetesApiCall操作.requesturi | 
| Kubernetes API 状态代码 | 服务行动。 kubernetesApiCallaction.statusCode | 
| 网络连接本地 IPv4 地址 | 服务行动。 networkConnectionAction。 localIpDetails.ipAddressv4 | 
| 网络连接本地 IPv6 地址 | 服务行动。 networkConnectionAction。 localIpDetails.ipAddressv6 | 
| 协议 | 服务行动。 networkConnectionAction. 协议 | 
| API 调用服务名称 | 服务行动。 awsApiCall动作.serviceName | 
| API 调用方账户 ID | 服务行动。 awsApiCall行动。 remoteAccountDetails.accountID | 
| 威胁列表名称 | 服务。附加信息。 threatListName | 
| 资源角色 | service.resourceRole | 
| EKS 集群名称 | 资源。 eksClusterDetails.name | 
| Kubernetes 工作负载名称 | resource.kubernetes 详情。 kubernetesWorkloadDetails.name | 
| Kubernetes 工作负载命名空间 | resource.kubernetes 详情。 kubernetesWorkloadDetails. 命名空间 | 
| Kubernetes 用户名 | resource.kubernetes 详情。 kubernetesUserDetails。用户名 | 
| Kubernetes 容器映像 | resource.kubernetes 详情。 kubernetesWorkloadDetails.containers.image | 
| Kubernetes 容器映像前缀 | resource.kubernetes 详情。 kubernetesWorkloadDetails.containers.imagePref | 
| 扫描 ID | 服务。 ebsVolumeScan详情.scanID | 
| EBS 卷扫描威胁名称 | 服务。 ebsVolumeScan详情。扫描检测。 threatDetectedBy名称.threatnames.names | 
| S3 对象扫描威胁名称 | 服务。 malwareScanDetails.treats.name | 
| 威胁严重性 | 服务。 ebsVolumeScan详情。扫描检测。 threatDetectedBy名称。威胁名称。严重性 | 
| 文件 SHA | 服务。 ebsVolumeScan详情。扫描检测。 threatDetectedByname.threatnames.filePaths | 
| ECS 集群名称 | 资源。 ecsClusterDetails.name | 
| ECS 容器映像 | 资源。 ecsClusterDetails.taskdetails.containers | 
| ECS 任务定义 ARN | 资源。 ecsClusterDetails.taskdetails.definition | 
| 独立容器映像 | resource.containerDetails.image | 
| 数据库实例 Id | 资源。 rdsDbInstance详情。 dbInstanceIdentifier | 
| 数据库集群 Id | 资源。 rdsDbInstance详情。 dbClusterIdentifier | 
| 数据库引擎 | 资源。 rdsDbInstance细节。引擎 | 
| 数据库用户 | 资源。 rdsDbUserDetails. 用户 | 
| 数据库实例标签键 | 资源。 rdsDbInstance详细信息.tags.key | 
| 数据库实例标签值 | 资源。 rdsDbInstance详情标签值值 | 
| 可执行文件 SHA-256 | service.runtimeDetails.process.executableSha256 | 
| 进程名称 | service.runtimeDetails.process.name | 
| 可执行文件路径 | service.runtimeDetails.process.executablePath | 
| Lambda 函数名称 | resource.lambdaDetails.functionName | 
| Lambda 函数 ARN | resource.lambdaDetails.functionArn | 
| Lambda 函数标签键 | resource.lambdaDetails.tags.key | 
| Lambda 函数标签值 | resource.lambdaDetails.tags.value | 
| DNS 请求域 | 服务行动。 dnsRequestAction。 domainWithSuffix | 