AWS Security ChangesHomeSearch

AWS dms medium security documentation change

Service: dms · 2025-04-23 · Security-related medium

File: dms/latest/userguide/CHAP_Tasks.AssessmentReport.MySQL.md

Summary

Added new premigration assessment checks including validation of incompatible Data Validation/Data Masking combinations, Aurora read replica status, binary log retention time, and invisible column detection

Security assessment

The changes add validation checks to prevent simultaneous use of Data Validation with Data Masking features (Digit Randomize/Hashing/Digit mask), which could lead to security misconfigurations where sensitive data might not be properly masked. Data Masking is a security feature, and improper configuration could result in exposure of sensitive information. Other changes like binary log retention and replica checks are operational improvements.

Diff

diff --git a/dms/latest/userguide/CHAP_Tasks.AssessmentReport.MySQL.md b/dms/latest/userguide/CHAP_Tasks.AssessmentReport.MySQL.md
index b89bacb3c..133b83fdc 100644
--- a//dms/latest/userguide/CHAP_Tasks.AssessmentReport.MySQL.md
+++ b//dms/latest/userguide/CHAP_Tasks.AssessmentReport.MySQL.md
@@ -5 +5 @@
-Validate if Binary Log transaction compression is disabledValidate if DMS user has REPLICATION CLIENT and REPLICATION SLAVE permissions for the source databaseValidate if DMS user has SELECT permissions for the source database tablesValidate if the server_id is set to 1 or greater in the source databaseValidate if DMS user has necessary permissions for the MySQL database as a targetValidate if automatic removal of binary logs is set for the source databaseValidate that limited LOB mode only is used when BatchApplyEnabled is set to trueValidate if a table uses a storage engine other than InnodbValidate if auto-increment is enabled on any tables used for migrationValidate if the database binlog image is set to FULL to support DMS CDCValidate if the source database is a MySQL Read-ReplicaValidate if a table has partitions, and recommend target_table_prep_mode for full-load task settingsValidate if DMS supports the database versionValidate if the target database is configured to set local_infile to 1Validate if target database has tables with foreign keysValidate if source tables in the task scope have cascade constraintsValidate if the timeout values are appropriate for a MySQL source or targetValidate max_statement_time database parameterValidate if Primary Key or Unique Index exist on target for Batch ApplyValidate if both Primary Key and Unique index exist on target for Batch ApplyValidate if secondary indexes are enabled during full load on the target databaseValidate if table has primary key or unique index when DMS validation is enabledRecommendation on using MaxFullLoadSubTasks settingCheck Transformation Rule for Digits RandomizeCheck Transformation Rule for Digits maskCheck Transformation Rule for Hashing mask
+Validate if Binary Log transaction compression is disabledValidate if DMS user has REPLICATION CLIENT and REPLICATION SLAVE permissions for the source databaseValidate if DMS user has SELECT permissions for the source database tablesValidate if the server_id is set to 1 or greater in the source databaseValidate if DMS user has necessary permissions for the MySQL database as a targetValidate if automatic removal of binary logs is set for the source databaseValidate that limited LOB mode only is used when BatchApplyEnabled is set to trueValidate if a table uses a storage engine other than InnodbValidate if auto-increment is enabled on any tables used for migrationValidate if the database binlog image is set to FULL to support DMS CDCValidate if the source database is a MySQL Read-ReplicaValidate if a table has partitions, and recommend target_table_prep_mode for full-load task settingsValidate if DMS supports the database versionValidate if the target database is configured to set local_infile to 1Validate if target database has tables with foreign keysValidate if source tables in the task scope have cascade constraintsValidate if the timeout values are appropriate for a MySQL source or targetValidate max_statement_time database parameterValidate if Primary Key or Unique Index exist on target for Batch ApplyValidate if both Primary Key and Unique index exist on target for Batch ApplyValidate if secondary indexes are enabled during full load on the target databaseValidate if table has primary key or unique index when DMS validation is enabledRecommendation on using MaxFullLoadSubTasks settingCheck Transformation Rule for Digits RandomizeCheck Transformation Rule for Digits maskCheck Transformation Rule for Hashing maskVerify that Data Validation task settings and Data Masking Digit randomization are not enabled simultaneouslyVerify that Data Validation task settings and Data Masking Hashing mask are not enabled simultaneouslyVerify that Data Validation task settings and Data Masking Digit mask are not enabled simultaneouslyCheck if source Amazon Aurora MySQL instance is not a read replicaCheck if binary log retention time is set properlyCheck if source tables do not have invisible columns.
@@ -64,0 +65,12 @@ This section describes individual premigration assessments for migration tasks t
+  * Verify that Data Validation task settings and Data Masking Digit randomization are not enabled simultaneously
+
+  * Verify that Data Validation task settings and Data Masking Hashing mask are not enabled simultaneously
+
+  * Verify that Data Validation task settings and Data Masking Digit mask are not enabled simultaneously
+
+  * Check if source Amazon Aurora MySQL instance is not a read replica
+
+  * Check if binary log retention time is set properly
+
+  * Check if source tables do not have invisible columns.
+
@@ -294,0 +307,36 @@ This assessment validates whether any of the columns used in the table mapping a
+## Verify that Data Validation task settings and Data Masking Digit randomization are not enabled simultaneously
+
+**API key** : `all-to-all-validation-with-datamasking-digits-randomize`
+
+This premigration assessment verifies that Data Validation setting and Data Masking Digit randomization are not simultaneously enabled, as these features are incompatible.
+
+## Verify that Data Validation task settings and Data Masking Hashing mask are not enabled simultaneously
+
+**API key** : `all-to-all-validation-with-datamasking-hash-mask`
+
+This premigration assessment verifies that Data Validation setting and Data Masking Hashing mask are not simultaneously enabled, as these features are incompatible.
+
+## Verify that Data Validation task settings and Data Masking Digit mask are not enabled simultaneously
+
+**API key** : `all-to-all-validation-with-digit-mask`
+
+This premigration assessment verifies that Data Validation setting and Data Masking Digit mask are not simultaneously enabled, as these features are incompatible.
+
+## Check if source Amazon Aurora MySQL instance is not a read replica
+
+**API key** : `mysql-check-aurora-read-only`
+
+This premigration assessment validates whether migrating between two Amazon Aurora MySQL clusters, the source endpoint must be a read/write instance, not a replica instance.
+
+## Check if binary log retention time is set properly
+
+**API key** : `mysql-check-binlog-retention-time`
+
+This premigration assessment validates whether the value of 'binlog retention hours' is larger than 24 hours.
+
+## Check if source tables do not have invisible columns.
+
+**API key** : `mysql-check-invisible-columns`
+
+This premigration assessment validates whether source tables do not have invisible columns. AWS DMS does not migrate data from invisible columns in your source database.
+