

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

# 在 Macie 中筛选您的 S3 存储桶清单
<a name="monitoring-s3-inventory-filter"></a>

要识别并关注具有特定特征的存储桶，您可以在 Amazon Macie 控制台和使用 Amazon Macie API 以编程方式提交的查询中筛选您的 S3 存储桶清单。创建筛选条件时，您可以使用特定的存储桶属性来定义在视图或查询结果中包含或排除存储桶的标准。*存储桶属性*是存储存储桶特定元数据的字段。

Macie 中的筛选条件包含一个或多个条件。每个条件，也称为*标准*，由三个部分组成：
+ 基于属性的字段，例如**存储桶名称**、**标签键**或**在作业中定义**。
+ 一个运算符，例如*等于*或*不等于*。
+ 一个或多个值。值的类型和数量取决于您选择的字段和运算符。

如何定义和应用筛选条件取决于您使用的是 Amazon Macie 主机还是 Amazon Macie API。

**Topics**
+ [在主机上筛选您的库存](#monitoring-s3-inventory-filter-console)
+ [以编程方式筛选库存](#monitoring-s3-inventory-filter-api)

## 在 Amazon Macie 主机上筛选您的库存
<a name="monitoring-s3-inventory-filter-console"></a>

如果您使用 Amazon Macie 控制台筛选 S3 存储桶清单，Macie 会提供一些选项来帮助您为各个条件选择字段、运算符和值。您可以使用 **S3 存储桶**页面上的筛选框访问这些选项，如下图中所示。

![\[S3 存储桶页面的筛选框。\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/scrn-buckets-filter-bar-empty.png)


当您将光标置于筛选条件框中时，Macie 会显示可在筛选条件中使用的字段列表。这些字段按逻辑类别组织。例如，**常用字段**类别包括存储有关 S3 存储桶的一般信息的字段。**公共访问**类别包括存储有关可应用于存储桶的各种类型的公共访问权限设置数据的字段。这些字段在每个类别中按字母顺序排序。

要添加条件，请先从列表中选择一个字段。要查找字段，请浏览完整列表，或输入部分字段名称以缩小字段列表范围。

根据您选择的字段，Macie 显示不同的选项。这些选项反映了您选择的字段的类型和性质。例如，如果您选择**共享访问权限**字段，Macie 会显示一个值列表供您选择。如果您选择**存储桶名称**字段，Macie 会显示一个文本框，您可以在其中输入 S3 存储桶的名称。无论您选择哪个字段，Macie 都会指导您完成添加包含该字段所需设置的条件的步骤。

添加条件后，Macie 会为该条件应用标准，并在筛选框下方的筛选条件令牌中显示该条件，如下图所示。

![\[带有条件筛选令牌的筛选条件框。\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/scrn-buckets-filter-bar-public.png)


在此示例中，条件配置为包括所有可公开访问的存储桶，并排除所有其他存储桶。它返回**有效权限**字段的值*等于*** Public **的存储桶。

当您添加更多条件时，Macie 会应用其标准并将其显示在筛选框下方。如果您添加多个条件，Macie 会使用 AND 逻辑来连接条件并评测筛选标准。这意味着，只有当 S3 存储桶与筛选条件中的所有条件都匹配时，它才会匹配筛选标准。您可以随时参考筛选框下方的区域，以确定您应用了哪些标准。

**使用控制台筛选清单**

1. 打开亚马逊 Macie 主机，网址为。[https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)

1. 在导航窗格中，选择** S3 存储桶**。**S3 存储桶**页面显示您的存储桶清单。

   如果启用了自动敏感数据发现，则默认视图不会显示当前被排除在自动敏感数据发现之外的其他存储桶的数据。如果您是组织的 Macie 管理员，则它也不会显示当前禁用了自动发现的账户的数据。要显示这些数据，请在筛选框下方的**由自动发现筛选器监控**标记中选择 **X**。

1. 在页面顶部，可以选择刷新 (![\[The refresh button, which is a button that displays an empty blue circle with an arrow.\]](http://docs.aws.amazon.com/zh_cn/macie/latest/user/images/btn-refresh-data.png))，从 Amazon S3 检索最新的存储桶元数据。

1. 将光标置于筛选框中，然后选择要用于条件的字段。

1. 请记住以下提示，为该字段选择或输入适当的值类型。

     
**日期、时间和时间范围**  
对于日期和时间，使用**从**和**到**框定义包含的时间范围：  
   + 要定义固定的时间范围，请使用**从**和**到**框分别指定该范围内的第一个日期和时间以及最后一个日期和时间。
   + 要定义从特定日期和时间开始并在当前时间结束的相对时间范围，请在**从**框中输入开始日期和时间，然后删除**到**框中的任何文本。
   + 要定义在特定日期和时间结束的相对时间范围，请在**到**框中输入结束日期和时间，然后删除**从**框中的任何文本。
请注意，时间值使用 24 小时表示法。如果您使用日期选择器选择日期，则可以通过直接在**从**和**到**框中输入文本来细化值。  
**数字和数值范围**  
对于数值，使用**从**和**到**框输入定义包含数值范围的整数：  
   + 要定义固定的数值范围，请使用**从**和**到**框分别指定该范围内的最小和最高数字。
   + 要定义仅限于一个特定值的固定数值范围，请在**从**和**到**框中输入该值。例如，要仅存储恰好包含 15 个对象的 S3 存储桶，请在**从**和**到**框中输入 **15**。
   + 要定义从某个数字开始的相对数值范围，请在**从**框中输入数字，不要在**到**框中输入任何文本。
   + 要定义以特定数字结尾的相对数值范围，请在**到**框中输入数字，不要在**从**框中输入任何文本。  
**文本（字符串）值**  
对于此类值，请为该字段输入一个完整、有效的值。值区分大小写。  
请注意，您不能在此类型的值中使用部分值或通配符。唯一的例外是**存储桶名称**字段。对于该字段，您可以指定前缀而不是完整的存储桶名称。例如，要查找名称以 *my-S3* 开头的所有 S3 存储桶，请输入 **my-S3** 作为**存储桶名称**字段的筛选值。如果您输入任何其他值，例如 **My-s3** 或 **my\$1**，Macie 将不会返回存储桶。

1. 为该字段添加完值后，选择 **应用**。Macie 应用筛选标准并在筛选条件框下方的筛选器令牌中显示条件。

1. 对于要添加的每个附加条件，重复步骤 4 到 6。

1. 要删除条件，请在筛选条件令牌中为该条件选择 **X**。

1. 要更改条件，请通过在条件的筛选条件令牌中选择 **X** 来移除该条件。然后重复步骤 4 到 6，添加设置正确的条件。

## 使用 Amazon Macie API 以编程方式筛选您的库存
<a name="monitoring-s3-inventory-filter-api"></a>

要以编程方式筛选 S3 存储桶清单，请在使用 Amazon Macie API 的[DescribeBuckets](https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html)操作提交的查询中指定筛选标准。此操作返回对象数组。每个对象都包含与筛选标准相匹配的存储桶的统计数据和其他信息。

要在查询中指定筛选标准，请在请求中加入筛选条件地图。为每个条件指定一个字段、一个运算符以及该字段的一个或多个值。值的类型和数量取决于您选择的字段和运算符。有关可在条件中使用的字段、运算符和值类型的信息，请参阅* Amazon Macie API 参考*中的 [Amazon S3 数据来源](https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html)。

以下示例向您展示了如何在使用 [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 提交的查询中指定筛选标准。您也可以使用其他 AWS 命令行工具或 AWS SDK 的当前版本，或者直接向 Macie 发送 HTTPS 请求来执行此操作。有关 AWS 工具和的信息 SDKs，请参阅[构建工具 AWS](https://aws.amazon.com/developer/tools/)。

**Topics**
+ [按存储桶名称查找存储桶](#monitoring-s3-inventory-filter-api-example1)
+ [查找可公开访问的存储桶](#monitoring-s3-inventory-filter-api-example2)
+ [查找存储未加密对象的存储桶](#monitoring-s3-inventory-filter-api-example3)
+ [查找将数据复制到外部账户的存储桶](#monitoring-s3-inventory-filter-api-example5)
+ [查找未受敏感数据发现任务监控的存储桶](#monitoring-s3-inventory-filter-api-example4)
+ [查找不受自动敏感数据发现监控的存储桶](#monitoring-s3-inventory-filter-api-example-asdd)
+ [根据多个条件查找存储桶](#monitoring-s3-inventory-filter-api-example6)

这些示例使用 [describe-buckets](https://docs.aws.amazon.com/cli/latest/reference/macie2/describe-buckets.html) 命令。如果命令成功运行，Macie 将返回一个 `buckets` 数组。该数组包含当前存储桶中 AWS 区域 且符合筛选条件的每个存储桶的对象。有关此输出的示例，请展开以下部分。

### `buckets` 数组示例
<a name="monitoring-s3-inventory-buckets-array"></a>

在此示例中，`buckets` 数组提供了与查询中指定的筛选条件相匹配的两个存储桶的详细信息。

```
{
    "buckets": [
        {
            "accountId": "123456789012",
            "allowsUnencryptedObjectUploads": "FALSE",
            "automatedDiscoveryMonitoringStatus": "MONITORED", 
            "bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket1",
            "bucketCreatedAt": "2020-05-18T19:54:00+00:00",
            "bucketName": "amzn-s3-demo-bucket1",
            "classifiableObjectCount": 13,
            "classifiableSizeInBytes": 1592088,
            "jobDetails": {
                "isDefinedInJob": "TRUE",
                "isMonitoredByJob": "TRUE",
                "lastJobId": "08c81dc4a2f3377fae45c9ddaexample",
                "lastJobRunTime": "2024-05-26T14:55:30.270000+00:00"
            },
            "lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00",
            "lastUpdated": "2024-06-12T07:33:06.337000+00:00",
            "objectCount": 13,
            "objectCountByEncryptionType": {
                "customerManaged": 0,
                "kmsManaged": 2,
                "s3Managed": 7,
                "unencrypted": 4,
                "unknown": 0
            },
            "publicAccess": {
                "effectivePermission": "NOT_PUBLIC",
                "permissionConfiguration": {
                    "accountLevelPermissions": {
                        "blockPublicAccess": {
                            "blockPublicAcls": true,
                            "blockPublicPolicy": true,
                            "ignorePublicAcls": true,
                            "restrictPublicBuckets": true
                        }
                    },
                    "bucketLevelPermissions": {
                        "accessControlList": {
                            "allowsPublicReadAccess": false,
                            "allowsPublicWriteAccess": false
                        },
                        "blockPublicAccess": {
                            "blockPublicAcls": true,
                            "blockPublicPolicy": true,
                            "ignorePublicAcls": true,
                            "restrictPublicBuckets": true
                        },
                        "bucketPolicy": {
                            "allowsPublicReadAccess": false,
                            "allowsPublicWriteAccess": false
                        }
                    }
                }
            },
            "region": "us-east-1",
            "replicationDetails": {
                "replicated": false,
                "replicatedExternally": false,
                "replicationAccounts": []
            },
            "sensitivityScore": 78,
            "serverSideEncryption": {
                "kmsMasterKeyId": null,
                "type": "NONE"
            },
            "sharedAccess": "NOT_SHARED",
            "sizeInBytes": 4549746,
            "sizeInBytesCompressed": 0,
            "tags": [
                {
                    "key": "Division",
                    "value": "HR"
                },
                {
                    "key": "Team",
                    "value": "Recruiting"
                }
            ],
            "unclassifiableObjectCount": {
                "fileType": 0,
                "storageClass": 0,
                "total": 0
            },
            "unclassifiableObjectSizeInBytes": {
                "fileType": 0,
                "storageClass": 0,
                "total": 0
            },
            "versioning": true
        },
        {
            "accountId": "123456789012",
            "allowsUnencryptedObjectUploads": "TRUE",
            "automatedDiscoveryMonitoringStatus": "MONITORED",
            "bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket2",
            "bucketCreatedAt": "2020-11-25T18:24:38+00:00",
            "bucketName": "amzn-s3-demo-bucket2",
            "classifiableObjectCount": 8,
            "classifiableSizeInBytes": 133810,
            "jobDetails": {
                "isDefinedInJob": "TRUE",
                "isMonitoredByJob": "FALSE",
                "lastJobId": "188d4f6044d621771ef7d65f2example",
                "lastJobRunTime": "2024-04-09T19:37:11.511000+00:00"
            },
            "lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00",
            "lastUpdated": "2024-06-12T07:33:06.337000+00:00",
            "objectCount": 8,
            "objectCountByEncryptionType": {
                "customerManaged": 0,
                "kmsManaged": 0,
                "s3Managed": 8,
                "unencrypted": 0,
                "unknown": 0
            },
            "publicAccess": {
                "effectivePermission": "NOT_PUBLIC",
                "permissionConfiguration": {
                    "accountLevelPermissions": {
                        "blockPublicAccess": {
                            "blockPublicAcls": true,
                            "blockPublicPolicy": true,
                            "ignorePublicAcls": true,
                            "restrictPublicBuckets": true
                        }
                    },
                    "bucketLevelPermissions": {
                        "accessControlList": {
                            "allowsPublicReadAccess": false,
                            "allowsPublicWriteAccess": false
                        },
                        "blockPublicAccess": {
                            "blockPublicAcls": true,
                            "blockPublicPolicy": true,
                            "ignorePublicAcls": true,
                            "restrictPublicBuckets": true
                        },
                        "bucketPolicy": {
                            "allowsPublicReadAccess": false,
                            "allowsPublicWriteAccess": false
                        }
                    }
                }
            },
            "region": "us-east-1",
            "replicationDetails": {
                "replicated": false,
                "replicatedExternally": false,
                "replicationAccounts": []
            },
            "sensitivityScore": 95,
            "serverSideEncryption": {
                "kmsMasterKeyId": null,
                "type": "AES256"
            },
            "sharedAccess": "EXTERNAL",
            "sizeInBytes": 175978,
            "sizeInBytesCompressed": 0,
            "tags": [
                {
                    "key": "Division",
                    "value": "HR"
                },
                {
                    "key": "Team",
                    "value": "Recruiting"
                }
            ],
            "unclassifiableObjectCount": {
                "fileType": 3,
                "storageClass": 0,
                "total": 3
            },
            "unclassifiableObjectSizeInBytes": {
                "fileType": 2999826,
                "storageClass": 0,
                "total": 2999826
            },
            "versioning": true
        }
    ]
}
```

如果没有符合筛选标准的存储桶，Macie 将返回一个空的 `buckets` 数组。

```
{
    "buckets": []
}
```

### 示例：按存储桶名称查找存储桶
<a name="monitoring-s3-inventory-filter-api-example1"></a>

此示例查询当前存储桶的元数据，这些存储桶的名称以 *m AWS 区域 * y-S3 开头。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"bucketName":{"prefix":"my-S3"}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"bucketName\":{\"prefix\":\"my-S3\"}}
```

其中：
+ *bucketName*指定**存储桶名称字段的 JSON 名称**。
+ *prefix*指定前*缀*运算符。
+ *my-S3*是 “**存储桶名称**” 字段的值。

### 示例：查找可公开访问的存储桶
<a name="monitoring-s3-inventory-filter-api-example2"></a>

此示例查询当前存储桶的元数据，这些存储桶处于当前状态， AWS 区域 并且基于权限设置的组合，可以公开访问。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"publicAccess.effectivePermission":{"eq":["PUBLIC"]}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"publicAccess.effectivePermission\":{\"eq\":[\"PUBLIC\"]}}
```

其中：
+ *publicAccess.effectivePermission*指定**有效权限**字段的 JSON 名称。
+ *eq* 指定 *等于* 运算符。
+ *PUBLIC*是 “**有效权限**” 字段的枚举值。

### 示例：查找存储未加密对象的存储桶
<a name="monitoring-s3-inventory-filter-api-example3"></a>

此示例查询当前存储桶的元数据 AWS 区域 并存储未加密的对象。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"objectCountByEncryptionType.unencrypted":{"gte":1}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"objectCountByEncryptionType.unencrypted\":{\"gte\":1}}
```

其中：
+ *objectCountByEncryptionType.unencrypted*指定 “**不加密**” 字段的 JSON 名称。
+ *gte*指定*大于或等于*运算符。
+ *1*是 “**不加密**” 字段在包含的相对数值范围内的最低值。

### 示例：查找将数据复制到外部账户的存储桶
<a name="monitoring-s3-inventory-filter-api-example5"></a>

此示例查询当前存储桶的元数据 AWS 区域 ，这些存储桶配置为将对象复制到不 AWS 账户 属于您的组织的存储桶。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"replicationDetails.replicatedExternally":{"eq":["true"]}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"replicationDetails.replicatedExternally\":{\"eq\":[\"true\"]}}
```

其中：
+ *replicationDetails.replicatedExternally*指定 “**外部复制**” 字段的 JSON 名称。
+ *eq* 指定 *等于* 运算符。
+ *true*为 “**外部复制**” 字段指定布尔值。

### 示例：查找未受敏感数据发现任务监控的存储桶
<a name="monitoring-s3-inventory-filter-api-example4"></a>

此示例查询当前存储桶的元数据，这些存储桶处于当前状态 AWS 区域 且与任何定期敏感数据发现任务无关。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"jobDetails.isMonitoredByJob":{"eq":["FALSE"]}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"jobDetails.isMonitoredByJob\":{\"eq\":[\"FALSE\"]}}
```

其中：
+ *jobDetails.isMonitoredByJob*指定 “受任务**主动监控” 字段的 J** SON 名称。
+ *eq* 指定 *等于* 运算符。
+ *FALSE*是 “受**工作主动监控**” 字段的枚举值。

### 示例：查找不受自动敏感数据发现监控的存储桶
<a name="monitoring-s3-inventory-filter-api-example-asdd"></a>

此示例查询当前存储桶的元数据，这些存储桶处于当前状态 AWS 区域 且不在自动敏感数据发现范围内。

对于 Linux、macOS 或 Unix：

```
$ aws macie2 describe-buckets --criteria '{"automatedDiscoveryMonitoringStatus":{"eq":["NOT_MONITORED"]}}'
```

对于 Microsoft Windows：

```
C:\> aws macie2 describe-buckets --criteria={\"automatedDiscoveryMonitoringStatus\":{\"eq\":[\"NOT_MONITORED\"]}}
```

其中：
+ *automatedDiscoveryMonitoringStatus*指定 “**由自动发现监控” 字段的** JSON 名称。
+ *eq* 指定 *等于* 运算符。
+ *NOT\$1MONITORED*是 “**由自动发现监控**” 字段的枚举值。

### 示例：根据多个条件查找存储桶
<a name="monitoring-s3-inventory-filter-api-example6"></a>

此示例查询当前 AWS 区域 存储桶的元数据，这些存储桶符合以下条件：可根据权限设置组合公开访问；存储未加密的对象；以及不与任何定期敏感数据发现任务相关联。

对于 Linux、macOS 或 Unix，使用反斜杠 (\$1) 行继续符来提高可读性：

```
$ aws macie2 describe-buckets \
--criteria '{"publicAccess.effectivePermission":{"eq":["PUBLIC"]},"objectCountByEncryptionType.unencrypted":{"gte":1},"jobDetails.isMonitoredByJob":{"eq":["FALSE"]}}'
```

对于 Microsoft Windows，使用脱字符 (^) 行继续符来提高可读性：

```
C:\> aws macie2 describe-buckets ^
--criteria={\"publicAccess.effectivePermission\":{\"eq\":[\"PUBLIC\"]},\"objectCountByEncryptionType.unencrypted\":{\"gte\":1},\"jobDetails.isMonitoredByJob\":{\"eq\":[\"FALSE\"]}}
```

其中：
+ *publicAccess.effectivePermission*指定**有效权限**字段的 JSON 名称，以及：
  + *eq* 指定 *等于* 运算符。
  + *PUBLIC*是 “**有效权限**” 字段的枚举值。
+ *objectCountByEncryptionType.unencrypted*指定 “**不加密**” 字段的 JSON 名称，以及：
  + *gte*指定*大于或等于*运算符。
  + *1*是 “**不加密**” 字段在包含的相对数值范围内的最低值。
+ *jobDetails.isMonitoredByJob*指定 “受任务**主动监控” 字段的 J** SON 名称，以及：
  + *eq* 指定 *等于* 运算符。
  + *FALSE*是 “受**工作主动监控**” 字段的枚举值。