Usar mascaramento de dados para ocultar informações sensíveis - AWSDatabase Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar mascaramento de dados para ocultar informações sensíveis

Para ocultar dados sensíveis armazenados em uma ou mais colunas das tabelas que estão sendo migradas, você pode utilizar as ações de regra de transformação de mascaramento de dados. A partir da versão 3.5.4, o AWS DMS permite usar ações de regra de transformação de mascaramento de dados no mapeamento de tabelas, possibilitando que você altere o conteúdo de uma ou mais colunas durante o processo de migração. O AWS DMS carrega os dados modificados nas tabelas de destino.

O AWS Database Migration Service oferece três opções para ações de regra de transformação de mascaramento de dados:

  • Mascaramento de dados: máscara de dígitos

  • Mascaramento de dados: dígitos randomizados

  • Mascaramento de dados: máscara de hash

Essas ações de regra de transformação de mascaramento de dados podem ser configuradas no mapeamento de tabela da sua tarefa de replicação, de forma semelhante a outras regras de transformação. O destino da regra deve ser definido em nível de coluna.

Mascarar números nos dados da coluna com um caractere de mascaramento

A ação de regra de transformação de “Mascaramento de dados: máscara de dígitos” permite mascarar dados numéricos em uma ou mais colunas substituindo dígitos por um único caractere ASCII imprimível especificado por você (exceto caracteres vazios ou de espaço em branco).

Veja aqui um exemplo que mascara todos os dígitos na coluna cust_passport_no da tabela customer_master com o caractere de mascaramento '#' e carrega os dados mascarados na tabela 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 exemplo, se a coluna cust_passport_no na tabela de origem contiver o registro “C6BGJ566669K”, a tarefa AWS DMS gravará esses dados na tabela de destino como "C#BGJ######K".

Substituir números na coluna por números aleatórios

A regra de transformação “Mascaramento de dados: dígitos randomizados” permite que você substitua cada dígito numérico em uma ou mais colunas por um número aleatório. No exemplo a seguir, o AWS DMS substitui cada dígito na coluna cust_passport_no da tabela customer_master de origem por um número aleatório e grava os dados modificados na tabela 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 exemplo, a tarefa do transformará o valor "C6BGJ566669K" na coluna cust_passport_no da tabela de origem "C1BGJ842170K" e o gravará no banco de dados de destino.

Substituir dados da coluna por um valor de hash

A regra de transformação “Mascaramento de dados: máscara de hash” permite substituir os dados da coluna por um hash gerado usando o algoritmo SHA256. O tamanho do hash sempre será de 64 caracteres; portanto, o tamanho da coluna da tabela de destino deve ser de 64 caracteres no mínimo. Ou você pode adicionar uma ação de regra de transformação change-data-type à coluna para aumentar a respectiva largura na tabela de destino.

O seguinte exemplo gera um valor de hash de 64 caracteres para os dados na coluna cust_passport_no da tabela de origem customer_master e carrega os dados transformados na tabela de destino depois de aumentar o tamanho da coluna:

{ "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 exemplo, se a coluna cust_passport_no da tabela de origem contiver o valor “C6BGJ566669K”, a tarefa AWS DMS gravará um hash “7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75” na tabela de destino.

Limitações

  • Cada opção de regra de transformação de mascaramento de dados pode ser usada somente com tipos de dados específicos do AWS DMS:

    • É possível usar “Mascaramento de dados: máscara de dígitos” em colunas dos tipos de dados WSTRING e STRING.

    • É possível usar “Mascaramento de dados: dígitos randomizados” em colunas dos tipos de dados WSTRING, STRING; NUMERIC, INT1, INT2, INT4, and INT8 com equivalentes não assinados.

    • É possível usar “Mascaramento de dados: máscara de hash” em colunas dos tipos de dados WSTRING e STRING.

    Para saber mais sobre a correlação dos de tipos de dados do AWS DMS com os tipos de dados do seu mecanismo de origem, consulte o mapeamento de tipos de dados do seu mecanismo de origem com os tipos de dados do AWS DMS. Veja os tipos de dados de origem para Tipos de dados de origem do Oracle, Tipos de dados de origem no SQL Server, Tipos de dados de origem para o PostgreSQL e Tipos de dados de origem do MySQL.

  • Usar uma ação de regra de mascaramento de dados para uma coluna com um tipo de dados incompatível causará um erro na tarefa do DMS. Consulte DataMaskingErrorPolicy nas configurações de tarefas do DMS para especificar o comportamento de tratamento de erros. Para obter mais informações sobre o DataMaskingErrorPolicy, consulte Configurações de tarefa de tratamento de erros.

  • É possível adicionar uma ação de regra de transformação de alteração para mudar o tipo de dados da coluna para um compatível se o tipo de coluna de origem não for compatível com a opção de mascaramento que você planeja usar. O rule-id da transformação change-data-type deve ser um número menor do que o ID da regra de transformação de mascaramento para que a alteração do tipo de dados ocorra antes do mascaramento.

  • Use a ação “Mascaramento de dados: máscara de hash” para mascarar as colunas de chave primária/chave única/chave estrangeira, pois o valor de hash gerado será único e consistente. Outras duas opções de mascaramento não podem garantir a exclusividade.

  • Enquanto as ações “Mascaramento de dados: máscara de dígitos” e “Mascaramento de dados: dígitos randomizados” afetam somente os dígitos nos dados da coluna e não o tamanho dos dados, a ação “Mascaramento de dados: máscara de hash” modifica a coluna inteira, mudando o tamanho dos dados para 64 caracteres. Portanto, a tabela de destino a ser criada adequadamente ou uma regra de transformação de tipo de dados de alteração deve ser adicionada à coluna que está sendo mascarada.

  • As colunas com a ação da regra de transformação de mascaramento de dados especificada são excluídas da validação de dados no AWS DMS. Se as colunas Chave primária/Chave única estiverem mascaradas, a validação de dados não será executada para essa tabela; o status de validação dessa tabela será igual a No Primary key.