

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

# 创建自定义数据标识符
<a name="cdis-create"></a>

*自定义数据标识符*是您定义的一组标准，用于检测 Amazon Simple Storage Service (Amazon S3) 对象中的敏感数据。在创建自定义数据标识符时，指定一个正则表达式 (*regex*) 来定义要在 S3 对象中匹配的文本模式。您还可以指定字符序列和邻近规则，以优化结果。字符序列可以是：*关键字*，即必须出现在与正则表达式匹配的文本附近的单词或短语；或*忽略单词*，即从结果中排除的单词或短语。通过使用自定义数据标识符，您可以补充 Amazon Macie 提供的[托管数据标识符](managed-data-identifiers.md)，并检测反映组织的特定场景、知识产权或专有数据的敏感数据。

例如，许多公司都有针对员工的特定语法 IDs。其中一种语法可能是：一个大写字母，表示员工是全职 (*F*) 还是兼职 (*P*) 员工，后跟一个连字符 (-)，然后是一个用于识别员工的八位数序列。*例如：*F—12345678 适用于全职员工，P—876543* 21 适用于兼职员工。*要检测使用 IDs 此语法的员工，您可以创建一个自定义数据标识符来指定以下正则表达式：。`[A-Z]-\d{8}`为了完善分析并避免误报，您还可以配置标识符以使用关键字（`employee` 和 `employee ID`），最大匹配距离为 20 个字符。*根据这些标准，如果文本出现在关键字 employee 或 employee *ID* 之后，并且所有文本都出现在其中一个关键字的 20 个字符以内，则结果将包括与正则表达式匹配的文本。*

要演示关键字如何帮助您查找敏感数据并避免误报，请观看以下视频：




除了检测标准外，您还可以为自定义数据标识符生成的调查发现指定自定义严重性设置。严重性可以根据符合标识符检测标准的文本的出现次数来确定。如果您不指定这些设置，Macie 会自动将标识符生成的所有调查发现指定为*中等*严重性。严重性不会因符合标识符检测标准的文本出现次数而变化。

有关这些设置和其他设置的详细信息，请参阅 [自定义数据标识符的配置选项](cdis-options.md)。

**若要创建自定义数据标识符**  
您可以使用亚马逊 Macie 控制台或亚马逊 Macie API 创建自定义数据标识符。

------
#### [ Console ]

按照以下步骤，通过使用 Amazon Macie 控制台创建自定义数据标识符。

**若要创建自定义数据标识符**

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

1. 在导航窗格中的**设置**下方，选择**自定义数据标识符**。

1. 选择**创建**。

1. 对于**名称**，输入自定义数据标识符的名称。名称可以包含多达 128 个字符。

1. 对于**描述**，可以选择输入自定义数据标识符的简要描述。描述可包含多达 512 个字符。
**注意**  
避免在自定义数据标识符的名称或描述中包含敏感数据。您账户的其他用户可能能够访问该名称或描述，具体取决于他们在 Macie 中被允许执行的操作。

1. 对于**正则表达式**，输入定义要匹配的文本模式的正则表达式 (*regex*)。正则表达式可以包含多达 512 个字符。

   Macie 支持 [Perl 兼容正则表达式 (PCRE)](https://www.pcre.org/) 库提供的模式语法子集。有关更多详细信息和提示，请参阅[自定义数据标识符的检测标准](cdis-options.md#cdis-detection-criteria)。

1. 对于**关键字**，可以选择输入多达 50 个字符序列（用逗号分隔）以定义特定文本，该文本必须贴近与正则表达式模式匹配的文本。

   只有当文本与正则表达式模式匹配并且文本在其中一个关键字的最大匹配距离之内时，Macie 才会在结果中包含出现次数。每个关键字可以包含 3–90 个 UTF-8 字符。关键字不区分大小写。

1. 对于 “**忽略单词**”，可以选择输入多达 10 个字符序列（用逗号分隔），用于定义要从结果中排除的特定文本。

   如果文本与正则表达式模式相匹配，但它包含其中一个忽略词，则 Macie 会从结果中排除出现。每个忽略字词可以包含 4–90 个 UTF-8 字符。忽略字词区分大小写。

1. 对于**最大匹配距离**，可以选择输入关键字结尾与匹配正则表达式的文本结尾之间的最大字符数。

   只有当文本与正则表达式模式匹配并且文本与完整关键字的距离之内时，Macie 才会在结果中包含出现次数。距离可以为 1–300 个字符。默认距离为 50 个字符。

1. 对于**严重性**，请选择如何确定自定义数据标识符生成的敏感数据调查发现的严重性：
   + 要自动为所有调查发现分配*中*严重性，请选择**为任意数量的匹配项使用“中”严重性（默认）**。使用此选项，如果受影响的 S3 对象包含一次或多次符合检测标准的文本，则 Macie 会自动为调查发现分配*中*严重性。
   + 要根据您指定的出现次数阈值来分配严重性，请选择**使用自定义设置来确定严重性**。然后使用**出现次数阈值**和**严重性级别**选项来指定 S3 对象中必须存在的最小匹配数，以生成具有所选严重性的调查发现。

     您最多可以指定三个出现次数阈值，Macie 支持的每个严重性级别对应一个阈值：*低*（最不严重）、*中*或*高*（最严重）。如果指定多个阈值，则阈值必须按严重性从*低*到*高*升序排列。如果 S3 对象包含的出现次数少于最低阈值，则 Macie 不会创建查找结果。

1. （可选）对于**标签**，请选择**添加标签**，然后最多输入 50 个要分配给自定义数据标识符的标签。

   *标签*是您定义并分配给某些类型的 AWS 资源的标签。每个标签都包含一个必需的标签键和一个可选的标签值。标签可以帮助您以不同的方式识别、分类和管理资源，例如，按用途、所有者、环境或其他标准。要了解更多信息，请参阅[为 Macie 资源添加标签](tagging-resources.md)。

1. （可选）对于**评测**，在**样本数据**框中输入最多 1000 个字符，然后选择**测试**以测试检测标准。Macie 评测样本数据，并报告与检测标准匹配的文本出现次数。您可根据需要多次重复此步骤，以完善和优化标准。
**注意**  
我们强烈建议您使用样本数据测试和完善检测标准。由于敏感数据发现任务使用自定义数据标识符，因此您无法在创建自定义数据标识符后对其进行更改。这有助于确保您拥有敏感数据调查发现和发现结果的不可变历史记录。  
由于 Macie 在处理结构化记录时会应用其他逻辑，因此 “**评估**” 框返回的匹配计数在某些情况下可能与作业生成的结果不同。

1. 完成后，选择 **Submit（提交）**。

Macie 测试设置并验证它是否可以编译正则表达式。如果设置或正则表达式有问题，Macie 会显示一个描述问题的错误。解决任何问题后，您可以保存自定义数据标识符。

------
#### [ API ]

要以编程方式创建自定义数据标识符，请使用 Amazon Macie API 的[CreateCustomDataIdentifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers.html)操作。或者，如果您使用的是 AWS Command Line Interface (AWS CLI)，请运行该[create-custom-data-identifier](https://docs.aws.amazon.com/cli/latest/reference/macie2/create-custom-data-identifier.html)命令。

**注意**  
在创建自定义数据标识符之前，我们强烈建议您使用样本数据测试和完善其检测标准。由于敏感数据发现任务使用自定义数据标识符，因此您无法在创建自定义数据标识符后对其进行更改。这有助于确保您拥有敏感数据调查发现和发现结果的不可变历史记录。  
要以编程方式测试标准，您可以使用亚马逊 Macie API 的[TestCustomDataIdentifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-test.html)操作。此操作提供了一个使用检测标准评估样本数据的环境。如果您使用的是 AWS CLI，则可以运行[test-custom-data-identifier](https://docs.aws.amazon.com/cli/latest/reference/macie2/test-custom-data-identifier.html)命令来测试标准。

准备好创建自定义数据标识符时，请使用以下参数来定义其检测标准：
+ `regex`— 指定用于定义要匹配的文本模式的正则表达式 (*regex*)。正则表达式可以包含多达 512 个字符。

  Macie 支持 [Perl 兼容正则表达式 (PCRE)](https://www.pcre.org/) 库提供的模式语法子集。有关更多详细信息和提示，请参阅[自定义数据标识符的检测标准](cdis-options.md#cdis-detection-criteria)。
+ `keywords`—（可选）指定 1—50 个字符序列（*关键字*），这些序列必须靠近与正则表达式模式匹配的文本。

  只有当文本与正则表达式模式匹配并且文本在其中一个关键字的最大匹配距离之内时，Macie 才会在结果中包含出现次数。每个关键字可以包含 3–90 个 UTF-8 字符。关键字不区分大小写。
+ `maximumMatchDistance`—（可选）指定关键字结尾和与正则表达式模式匹配的文本结尾之间可以存在的最大字符数。如果您使用的是 AWS CLI，请使用`maximum-match-distance`参数来指定此值。

  只有当文本与正则表达式模式匹配并且文本与完整关键字的距离之内时，Macie 才会在结果中包含出现次数。距离可以为 1–300 个字符。默认距离为 50 个字符。
+ `ignoreWords`—（可选）指定 1—10 个字符序列（*忽略单词*）以从结果中排除。如果您使用的是 AWS CLI，请使用`ignore-words`参数来指定这些字符序列。

  如果文本与正则表达式模式相匹配，但它包含其中一个忽略词，则 Macie 会从结果中排除出现。每个忽略字词可以包含 4–90 个 UTF-8 字符。忽略字词区分大小写。

要指定自定义数据标识符产生的敏感数据发现的严重性，请使用`severityLevels`参数，或者如果使用的是 AWS CLI，则使用`severity-levels`参数：
+ 要自动为所有发现指定`MEDIUM`严重性，请省略此参数。然后，Macie 使用默认设置。默认情况下，如果受影响的 S3 对象包含一次或多次符合检测条件的文本，则 Macie 会为发现结果分配`MEDIUM`严重性。
+ 要根据您指定的发生次数阈值来分配严重性，请指定 S3 对象中必须存在的最小匹配项数才能生成具有指定严重性的查找结果。

  您最多可以指定三个发生次数阈值，Macie 支持的每个严重级别各有一个阈值：`LOW`（最不严重）`MEDIUM`、或`HIGH`（最严重）。如果指定多个阈值，则阈值必须按严重性升序排列，从变`LOW`为`HIGH`。如果 S3 对象包含的出现次数少于最低阈值，则 Macie 不会创建查找结果。

使用其他参数为自定义数据标识符指定名称和其他设置，例如标签。避免在这些设置中包含敏感数据。您账户的其他用户可能能够访问这些值，具体取决于他们在 Macie 中被允许执行的操作。

当您提交请求时，Macie 会测试设置并验证它是否可以编译正则表达式。如果设置或正则表达式有问题，则请求会失败，Macie 会返回一条描述问题的消息。如果请求成功，您将收到类似于以下内容的输出：

```
{
    "customDataIdentifierId": "393950aa-82ea-4bdc-8f7b-e5be3example"
}
```

其中，`customDataIdentifierId`指定创建的自定义数据标识符的唯一标识符 (ID)。

要随后检索和查看自定义数据标识符的设置，请使用[GetCustomDataIdentifier](https://docs.aws.amazon.com/macie/latest/APIReference/custom-data-identifiers-id.html)操作，或者，如果您使用的是 AWS CLI，则运行[get-custom-data-identifier](https://docs.aws.amazon.com/cli/latest/reference/macie2/get-custom-data-identifier.html)命令。对于`id`参数，请指定自定义数据标识符的 ID。

以下示例说明如何使用创建自定义数据标识符。 AWS CLI 这些示例创建了一个自定义数据标识符，该标识符旨在检测使用特定语法且与指定关键字相近的员工 IDs 。这些示例还为标识符生成的结果定义了自定义严重性设置。

此示例针对 Linux、macOS 或 Unix 进行格式化，并使用反斜杠 (\\) 行继续符来提高可读性。

```
$ aws macie2 create-custom-data-identifier \
--name "{{EmployeeIDs}}" \
--regex "{{[A-Z]-\d{8}}}" \
--keywords '[{{"employee","employee ID"}}]' \
--maximum-match-distance {{20}} \
--severity-levels '[{"occurrencesThreshold":{{1}},"severity":"{{LOW}}"},{"occurrencesThreshold":{{50}},"severity":"{{MEDIUM}}"},{"occurrencesThreshold":{{100}},"severity":"{{HIGH}}"}]' \
--description "{{Detects employee IDs in proximity of a keyword.}}" \
--tags '{"{{Stack}}":"{{Production}}"}'
```

此示例针对 Microsoft Windows 进行格式化，并使用脱字号 (^) 行继续符来提高可读性。

```
C:\> aws macie2 create-custom-data-identifier ^
--name "{{EmployeeIDs}}" ^
--regex "{{[A-Z]-\d{8}}}" ^
--keywords "[\"{{employee}}\",\"{{employee ID}}\"]" ^
--maximum-match-distance {{20}} ^
--severity-levels "[{\"occurrencesThreshold\":{{1}},\"severity\":\"{{LOW}}\"},{\"occurrencesThreshold\":{{50}},\"severity\":\"{{MEDIUM}}\"},{\"occurrencesThreshold\":{{100}},\"severity\":\"{{HIGH}}\"}]" ^
--description "{{Detects employee IDs in proximity of a keyword.}}" ^
--tags={\"{{Stack}}\":\"{{Production}}\"}
```

其中：
+ `{{EmployeeIDs}}`是自定义数据标识符的名称。
+ `{{[A-Z]-\d{8}}}`是要匹配的文本模式的正则表达式。
+ `{{employee}}`和`{{employee ID}}`的关键字必须靠近符合正则表达式模式的文本。
+ `{{20}}`是关键字结尾与正则表达式模式匹配的文本结尾之间可以存在的最大字符数。
+ `description`指定自定义数据标识符的简要描述。
+ `severity-levels`为自定义数据标识符生成的发现的严重性定义自定义发生次数阈值：`{{LOW}}`1—49 次事件；50—99 次事件；以及 `{{MEDIUM}}` 100 次或更多事件。`{{HIGH}}`
+ `{{Stack}}`是要分配给自定义数据标识符的标签密钥。 `{{Production}}`是指定标签键的标签值。

------

创建自定义数据标识符后，您可以[创建和配置敏感数据发现任务](discovery-jobs-create.md)以使用它，或者[将其添加到您的设置中以自动发现敏感数据](discovery-asdd-account-configure.md)。