Usar mascaramento de dados para ocultar informações sensíveis - AWS Database 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, AWS DMS permite o uso de ações de regras de transformação de mascaramento de dados no mapeamento de tabelas, permitindo que você altere o conteúdo de uma ou mais colunas durante o processo de migração. AWS DMS carrega os dados modificados nas tabelas de destino.

AWS Database Migration Service fornece três opções para ações de regras 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 “C6 BGJ566669 K”, a AWS DMS tarefa 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 a substituição de cada dígito numérico em uma ou mais colunas por um número aleatório. No exemplo a seguir, AWS DMS substitui cada dígito na cust_passport_no coluna 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 AWS DMS tarefa transformará o valor "C6BGJ566669K" na cust_passport_no coluna 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. Outra opção é 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 valor“C6BGJ566669K”, a AWS DMS tarefa gravará um hash “7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75” na tabela de destino.

Limitações

  • Cada opção de regra de transformação de mascaramento de dados é compatível somente com tipos de AWS DMS dados específicos:

    • É 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 o mapeamento de tipos de AWS DMS dados para os tipos de dados do seu mecanismo de origem, consulte o mapeamento de tipos de dados do seu mecanismo de origem com tipos de AWS DMS dados. 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 as configurações DataMaskingErrorPolicy de tarefas do DMS para especificar o comportamento de tratamento de erros. Para saber mais sobre o DataMaskingErrorPolicy, consulte Configurações de tarefa de tratamento de erros.

  • Você pode adicionar uma ação de regra de change-data-type transformação para alterar o tipo de dados da coluna para um tipo 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 deve ser criada adequadamente ou uma regra de change-data-type transformaçã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.