Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Para ocultar los datos confidenciales almacenados en una o más columnas de las tablas que se van a migrar, puede aprovechar las acciones de las reglas de transformación del enmascaramiento de datos. A partir de la versión 3.5.4, AWS DMS permite utilizar acciones de reglas de transformación para enmascarar datos en el mapeo de tablas, lo que permite modificar el contenido de una o más columnas durante el proceso de migración. AWS DMS carga los datos modificados en las tablas de destino.
AWS Database Migration Service proporciona tres opciones para las acciones de las reglas de transformación del enmascaramiento de datos:
Enmascaramiento de datos: máscara de dígitos
Enmascaramiento de datos: los dígitos se distribuyen aleatoriamente
Enmascaramiento de datos: máscara hash
Estas acciones de las reglas de transformación del enmascaramiento de datos se pueden configurar en el mapeo de tablas de la tarea de replicación, de forma similar a otras reglas de transformación. El objetivo de la regla debe establecerse en el nivel de columna.
Enmascarar números en los datos de las columnas con un carácter enmascarante
La acción de la regla de transformación «Enmascaramiento de datos: máscara de dígitos» le permite enmascarar los datos numéricos de una o más columnas sustituyendo los dígitos por un único carácter ASCII imprimible que especifique (excluidos los caracteres vacíos o los espacios en blanco).
A continuación, se muestra un ejemplo en el que se ocultan todos los dígitos de la cust_passport_no
columna de la customer_master
tabla con el carácter enmascarante '#'
y se cargan los datos enmascarados en la tabla de destino:
{
"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": "#"
}
]
}
Por ejemplo, si la columna de cust_passport_no
la tabla de origen contiene el registro «C6BGJ566669K», la AWS DMS tarea escribirá estos datos en la tabla de destino como. "C#BGJ######K"
Sustituir los números de la columna por números aleatorios
La regla de transformación «Enmascaramiento de datos: números aleatorios» le permite reemplazar cada dígito numérico de una o más columnas por un número aleatorio. En el siguiente ejemplo, AWS DMS reemplaza cada dígito de la cust_passport_no
columna de la tabla customer_master
de origen por un número aleatorio y escribe los datos modificados en la tabla de destino:
{
"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"
}
]
}
Por ejemplo, la AWS DMS tarea transformará el valor de la cust_passport_no
columna de la tabla de origen "C6BGJ566669K"
en la base de datos de destino "C1BGJ842170K"
y lo escribirá en ella.
Sustituir los datos de la columna por un valor hash
La regla de transformación «Enmascaramiento de datos: máscara de hash» permite reemplazar los datos de la columna por un hash generado mediante el SHA256
algoritmo. La longitud del hash siempre será de 64 caracteres, por lo que la longitud de la columna de la tabla de destino debe ser de 64 caracteres como mínimo. Como alternativa, puede añadir una acción de regla de change-data-type
transformación a la columna para aumentar el ancho de la columna en la tabla de destino.
El siguiente ejemplo genera un valor hash de 64 caracteres para los datos de la cust_passport_no
columna de la tabla de origen customer_master
y carga los datos transformados en la tabla de destino tras aumentar la longitud de la columna:
{
"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"
}
]
}
Por ejemplo, si la columna cust_passport_no
de la tabla de origen contiene un valor“C6BGJ566669K”
, AWS DMS task escribirá un hash “7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75”
en la tabla de destino.
Limitaciones
Cada opción de regla de transformación de enmascaramiento de datos solo se admite para tipos AWS DMS de datos específicos:
Enmascaramiento de datos: se admite la máscara de dígitos para columnas de tipos de datos:
WSTRING
y.STRING
Enmascaramiento de datos: Digits Randomize es compatible con columnas de tipos de datos:
WSTRING, STRING; NUMERIC, INT1, INT2, INT4, and INT8
con contrapartes sin signo.Enmascaramiento de datos: se admite la máscara hash para columnas de tipos de datos: y.
WSTRING
STRING
Para obtener más información sobre la asignación de tipos de AWS DMS datos a los tipos de datos de su motor de origen, consulte la asignación de tipos de datos de su motor de origen con tipos de AWS DMS datos. Consulte los tipos de datos de origen para Tipos de datos de origen para OracleTipos de datos de origen para SQL Server,Tipos de datos de origen para Postgre SQL, yTipos de datos de origen para My SQL.
Si se utiliza una acción de regla de enmascaramiento de datos para una columna con un tipo de datos incompatible, se producirá un error en la DMS tarea. Consulte la sección Configuración DataMaskingErrorPolicy de la DMS tarea para especificar el comportamiento de gestión de errores. Para obtener más información acerca de
DataMaskingErrorPolicy
, consulte Configuración de las tareas de administración de errores.Puede añadir una acción de regla de change-data-type transformación para cambiar el tipo de datos de la columna a un tipo compatible si el tipo de columna de origen no es compatible con la opción de enmascaramiento que va a utilizar. El
rule-id
de lachange-data-type
transformación debe ser un número menor que el identificador de la regla de la transformación de enmascaramiento para que el cambio de tipo de datos se produzca antes del enmascaramiento.Utilice el enmascaramiento de datos: la acción de máscara de hash para enmascarar las columnas de clave principal, clave única o clave externa, ya que el valor hash generado será único y coherente. Las otras dos opciones de enmascaramiento no pueden garantizar la exclusividad.
Mientras que el enmascaramiento de datos (máscara de dígitos) y el enmascaramiento de datos (aleatorización de dígitos) afectan solo a los dígitos de los datos de la columna y no a la longitud de los datos, el enmascaramiento de datos: máscara hash modifica toda la columna y la longitud de los datos cambia a 64 caracteres. Por lo tanto, se debe crear la tabla de destino en consecuencia o se debe añadir una regla de change-data-type transformación para la columna que se va a enmascarar.
Las columnas con la acción de la regla de transformación de enmascaramiento de datos especificada se excluyen de la validación de datos en. AWS DMS Si las columnas de clave principal o clave única están enmascaradas, no se realizará la validación de datos de esta tabla; el estado de validación de dicha tabla será igual a.
No Primary key