选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用数据屏蔽隐藏敏感信息

聚焦模式
使用数据屏蔽隐藏敏感信息 - AWS 数据库迁移服务

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

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

要隐藏存储在要迁移的表的一列或多列中的敏感数据,可以利用数据屏蔽转换规则操作。从版本 3.5.4 开始, AWS DMS 允许在表映射中使用数据屏蔽转换规则操作,使您能够在迁移过程中更改一列或多列的内容。 AWS DMS 将修改后的数据加载到目标表中。

AWS Database Migration Service 为数据屏蔽转换规则操作提供了三个选项:

  • 数据屏蔽:数字掩码

  • 数据屏蔽:数字随机化

  • 数据屏蔽:哈希掩码

与其他转换规则类似,可以在复制任务的表映射中配置这些数据屏蔽转换规则操作。规则目标应设置为列级别。

使用掩码字符掩盖列数据中的数字

“数据屏蔽:数字掩码” 转换规则操作允许您使用您指定的单个ASCII可打印字符(不包括空字符或空格字符)替换数字,从而掩盖一列或多列中的数字数据。

以下示例使用掩码字符掩盖customer_mastercust_passport_no列中的所有数字,'#'并将屏蔽的数据加载到目标表中:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "cust_schema", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "column", "object-locator": { "schema-name": "cust_schema", "table-name": "customer_master", "column-name": "cust_passport_no" }, "rule-action": "data-masking-digits-mask", "value": "#" } ] }

例如,如果源表cust_passport_no中的列包含记录 “C6BGJ566669K”,则 AWS DMS 任务会将此数据写入目标表。"C#BGJ######K"

用随机数替换列中的数字

转换规则 “数据屏蔽:随机数字” 允许您将一列或多列中的每个数字替换为随机数。在以下示例中, AWS DMS 用随机数替换源表cust_passport_nocustomer_master列中的每个数字,并将修改后的数据写入目标表:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "cust_schema", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "column", "object-locator": { "schema-name": "cust_schema", "table-name": "customer_master", "column-name": "cust_passport_no" }, "rule-action": "data-masking-digits-randomize" } ] }

例如,该 AWS DMS 任务会将源表cust_passport_no"C6BGJ566669K"中的值转换为目标数据库"C1BGJ842170K"并将其写入目标数据库。

用哈希值替换列数据

转换规则 “数据屏蔽:哈希掩码” 允许您将列数据替换为使用该SHA256算法生成的哈希值。哈希值的长度将始终为 64 个字符,因此目标表列的长度应至少为 64 个字符。或者,您可以向列添加change-data-type转换规则操作,以增加目标表中列的宽度。

以下示例为源表列中的数据生成一个 64 个字符长的哈希值,customer_master并在增加cust_passport_no列长后将转换后的数据加载到目标表:

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "cust_schema", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "column", "object-locator": { "schema-name": "cust_schema", "table-name": "customer_master", "column-name": "cust_passport_no" }, "rule-action": "change-data-type", "data-type": { "type": "string", "length": "100", "scale": "" } }, { "rule-type": "transformation", "rule-id": "3", "rule-name": "3", "rule-target": "column", "object-locator": { "schema-name": "cust_schema", "table-name": "customer_master", "column-name": "cust_passport_no" }, "rule-action": "data-masking-hash-mask" } ] }

例如,如果源表cust_passport_no的列包含值“C6BGJ566669K”,则 t AWS DMS ask 将“7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75”向目标表写入哈希。

限制

  • 每个数据屏蔽转换规则选项仅支持特定 AWS DMS 数据类型:

    • 数据掩码:数据类型的列支持数字掩码:WSTRING和。STRING

    • 数据屏蔽:数据类型列支持数字随机化:无WSTRING, STRING; NUMERIC, INT1, INT2, INT4, and INT8 符号对应列。

    • 数据屏蔽:数据类型的列支持哈希掩码:WSTRING和。STRING

    要详细了解如何将 AWS DMS 数据类型映射到源引擎的数据类型,请参阅源引擎与数据类型的 AWS DMS 数据类型映射。请参阅Oracle 的源数据类型SQL Server 的源数据类型Postgre 的源数据类型 SQL、和的源数据类型“我的” 的源数据类型 SQL

  • 对数据类型不兼容的列使用数据屏蔽规则操作会导致DMS任务出错。要 DataMaskingErrorPolicy 指定错误处理行为,请参阅DMS任务设置。有关 DataMaskingErrorPolicy 的更多信息,请参阅 错误处理任务设置

  • 如果您计划使用的掩码选项不支持您的源列类型,则可以添加 change-data-type转换规则操作,将列的数据类型更改为兼容类型。change-data-type转换rule-id的数字应小于掩码转换的规则 ID,以便在掩码之前发生数据类型更改。

  • 使用 Data Masking:Hashing Mask 操作对主键/唯一键/外键列进行掩码,因为生成的哈希值将是唯一且一致的。其他两个掩码选项不能保证唯一性。

  • 虽然数据屏蔽:数字掩码和数据屏蔽:数字随机化仅影响列数据中的数字而不影响数据长度,但数据掩码:哈希掩码会修改整列,数据长度更改为 64 个字符。因此,应相应地创建要创建的目标表或为被屏蔽的列添加 change-data-type转换规则。

  • 中将指定了 “数据屏蔽转换规则” 操作的列排除在 AWS DMS数据验证之外。如果主键/唯一键列被屏蔽,则不会对此表运行数据验证;该表的验证状态将等于。No Primary key

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。