Data Security Center (DSC) oferece suporte a mascaramento de dados estático e dinâmico. O mascaramento estático cria uma tarefa, especifica os ativos de dados de destino, identifica campos sensíveis com base em regras e aplica algoritmos — como omissão, criptografia ou substituição — para processar os campos especificados. Os dados mascarados são salvos em um destino escolhido por você. Já o mascaramento dinâmico utiliza a API ExecDatamask para aplicar regras a campos específicos em dados formatados em JSON.
Escolher um método de mascaramento
|
Método de mascaramento |
Fontes de dados compatíveis |
Cenários |
Como operar |
|
Mascaramento estático |
|
Use este método para compartilhar dados sem expor campos sensíveis. Após mascarar tabelas ou arquivos, salve o resultado em outro local para compartilhamento seguro, preservando os dados originais. |
No console do DSC, crie uma tarefa de mascaramento e configure a origem, as regras, o destino e o cronograma de execução. |
|
Mascaramento dinâmico |
Construa dados em formato JSON atendendo aos seguintes requisitos: dataHeaderList define os nomes das colunas, dataList contém os dados a mascarar e a ordem das colunas em dataHeaderList deve corresponder à ordem dos dados em dataList. Use ruleList para especificar as regras. Para detalhes, consulte Executar mascaramento de dados dinâmico.
|
Oferece maior flexibilidade, pois permite construir a própria fonte de dados para mascaramento. |
Chame a API Executar mascaramento de dados dinâmico usando a depuração online da OpenAPI, SDKs da Alibaba Cloud ou integrações personalizadas. |
Exemplos de resultados de mascaramento
O DSC fornece algoritmos que incluem mascaramento por hash, omissão, substituição, arredondamento, criptografia e embaralhamento. As tabelas a seguir mostram exemplos de resultados para cada algoritmo.
Mascaramento por hash
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Exemplo de configuração |
Exemplo de dados originais |
Exemplo de resultado mascarado |
|
Algoritmo irreversível. Compatível com algoritmos de hash comuns e permite configurar um deslocamento (valor de salt). Útil para senhas ou cenários que exigem verificação de dados sensíveis por comparação.
|
MD5 |
Valor de salt: |
123456 |
d6f82c64df3dc34921d79e5f22e5d43a |
|
SHA-1 |
59056c7c6faa5eeb7151d30a01c17b25f35b021c |
|||
|
SHA-256 |
84ca63076a5966e9b726490c8b6a5c9c6d6bdc018bb0a05df754c0c2770aca72 |
|||
|
HMAC |
ed029027322fedb0ac40b7759ac1521f0121cb018cf0f6f078e61764d810e00f |
Mascaramento por omissão
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Exemplo de configuração |
Exemplo de dados antes do mascaramento |
Exemplo de resultado mascarado |
|
Algoritmo irreversível. Usa caracteres especiais como asteriscos (*) ou cerquilhas (#) para omitir partes do texto e mascarar dados sensíveis. Indicado para exibição no frontend ou compartilhamento de dados sensíveis.
|
Manter os primeiros n e os últimos m caracteres |
Caractere de omissão: |
123456 |
1****6 |
|
Manter caracteres da posição x até y |
Caractere de omissão: |
34 |
||
|
Omitir os primeiros n e os últimos m caracteres |
Caractere de omissão: |
34 |
||
|
Omitir caracteres da posição x até y |
Caractere de omissão: |
1****6 |
||
|
Omitir antes de um caractere especial ( |
& |
1@34&6 |
****&6 |
|
|
Omitir após um caractere especial ( |
@ |
1@**** |
Mascaramento por substituição
Os dados a mascarar são substituídos com base em uma tabela de consulta aleatória definida na configuração do algoritmo. Cada operação produz resultados diferentes. Por exemplo, mascarar o número de telefone “1390000**” pode gerar resultados como “1327156 ”, “1835537 ” ou “1885654**”.
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Configuração do algoritmo |
|
Algoritmo parcialmente reversível. Usa uma tabela de consulta de substituição para mapeamento (reversível) ou um intervalo aleatório (irreversível) para mascarar campos inteiros ou parciais. O DSC fornece várias tabelas de consulta integradas e suporta algoritmos personalizados. Ideal para mascarar campos com formatos fixos, como números de identificação.
|
Substituição por mapeamento de carteira de identidade |
Tabela de consulta aleatória de região administrativa |
|
Substituição aleatória de carteira de identidade |
Tabela de consulta aleatória de região administrativa |
|
|
Substituição aleatória de identidade militar |
Tabela de consulta aleatória de região administrativa |
|
|
Substituição aleatória de passaporte |
Código aleatório do campo de finalidade |
|
|
Substituição aleatória de permissão de viagem Hong Kong/Macau |
Código aleatório do campo de finalidade |
|
|
Substituição aleatória de cartão bancário |
Tabela de consulta aleatória de código Bin |
|
|
Substituição aleatória de telefone fixo |
Tabela de consulta aleatória de região administrativa |
|
|
Substituição aleatória de celular |
Número de rede |
|
|
Substituição aleatória de código de crédito social unificado |
Tabela de consulta aleatória de departamento de registro, tabela de consulta aleatória de código de categoria, tabela de consulta aleatória de região administrativa |
|
|
Substituição por mapeamento Bogue geral |
Código de mapeamento de letra maiúscula, código de mapeamento de letra minúscula, código de mapeamento de dígito, código de mapeamento de caractere especial |
|
|
Substituição aleatória Bogue geral |
Código aleatório de letra maiúscula, código aleatório de letra minúscula, código aleatório de dígito, código aleatório de caractere especial |
Mascaramento por arredondamento
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Exemplo de configuração |
Exemplo de dados antes do mascaramento |
Exemplo de resultado mascarado |
|
Algoritmo parcialmente reversível. Oferece dois tipos: arredondamento de números ou datas (irreversível) e deslocamento de caracteres de texto (reversível). Indicado para análise e estatística envolvendo conjuntos de dados sensíveis.
|
Arredondamento numérico: Mantém dígitos até a N-ésima casa antes do ponto decimal. N varia de 1 a 19. |
N=4 |
12345.6789 |
12000 |
|
Arredondamento de data: Arredonda datas para ano, mês, dia, hora ou minuto. |
Hora |
2023-04-15 14:30:45 |
2023-04-15 14:00:00 |
|
|
Deslocamento de bits: deslocamento cíclico global de bits, para a esquerda ou direita. |
Deslocar 3 bits para a esquerda |
test |
ttes |
Mascaramento por criptografia
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Exemplo de configuração |
Exemplo de dados originais |
Exemplo de resultado mascarado |
|
Algoritmo reversível. Suporta algoritmos de criptografia simétrica comuns. Apropriado para criptografar campos que exigem recuperação da origem.
|
Algoritmo DES |
Chave de criptografia: |
123456 |
c2TwheTI+rw= |
|
Algoritmo 3DES |
Chaves de criptografia: |
XUwzslGadsk= |
||
|
Algoritmo AES |
Chave de criptografia: |
YueDcm92UuqvKpVbeS+0Ng== |
Mascaramento por embaralhamento
|
Tipos aplicáveis e cenários típicos |
Descrição do algoritmo |
Configuração do algoritmo |
|
Algoritmo irreversível. Após extrair dados da tabela de origem e confirmar o intervalo de valores, este método realiza embaralhamento no nível da coluna e seleção aleatória dentro do intervalo para ofuscar os dados. Ideal para mascaramento no nível da coluna em dados estruturados.
|
Embaralhamento aleatório |
|
Por exemplo, ao embaralhar informações de cidade para um grupo de dispositivos:
|
Dados antes do mascaramento |
Dados mascarados |
||
|
ID do dispositivo |
Cidade |
ID do dispositivo |
Cidade |
|
D001 |
Shanghai |
D001 |
Xi'an |
|
D002 |
Hangzhou |
D002 |
Shanghai |
|
D003 |
Xi'an |
D003 |
Chengdu |
|
D004 |
Chengdu |
D004 |
Hangzhou |
Faturamento
Somente instâncias do DSC Enterprise Edition oferecem suporte a mascaramento de dados. Após adquirir uma instância Enterprise Edition, você poderá usar o recurso. O DSC utiliza faturamento por assinatura. Para detalhes, consulte Faturamento. O mascaramento estático pode gerar cobranças adicionais.
|
Método de mascaramento |
Fonte de dados |
Faturamento do DSC |
Cobranças adicionais |
|
Mascaramento estático |
|
Os ativos de dados a mascarar devem ser autorizados e conectados ao DSC. Isso consome suas instâncias de proteção de banco de dados e capacidade de proteção de armazenamento adquiridas. |
Se os serviços em nuvem mascarados usarem pagamento conforme o uso, haverá cobrança baseada no volume de acesso ou gravação de dados. |
|
Arquivos estruturados TXT, CSV, XLSX e XLS salvos no computador local. |
Não consome recursos da instância. |
Sem cobranças adicionais. |
|
|
Mascaramento dinâmico |
Dados construídos pelo usuário. |
Não consome recursos da instância. |
Sem cobranças adicionais. |
Ativar o serviço
Se sua conta não ativou o DSC ou usa apenas a Free Edition, você pode adquirir uma instância do DSC Enterprise Edition diretamente. Para detalhes, consulte Adquirir o Data Security Center.
Se você já usa a Free Edition do DSC, mas não a Enterprise Edition, atualize sua instância para usar o mascaramento de dados. Para etapas de atualização, consulte Atualização de instância.
Para usar mascaramento estático, autorize e conecte os ativos de dados relevantes ao DSC primeiro. Certifique-se de ter instâncias de proteção de banco de dados e capacidade de proteção do OSS disponíveis suficientes.
Mascaramento de dados estático
Visão geral do recurso
Ao criar uma tarefa de mascaramento estático, selecione um modelo de mascaramento existente como regra de mascaramento ou defina diretamente o algoritmo de mascaramento para os campos sensíveis de destino. Para configurar modelos, consulte Configurar modelos e algoritmos de mascaramento.
Pré-requisitos
Para usar mascaramento estático em bancos de dados ou arquivos do OSS, conclua a autorização do DSC e conecte os ativos de dados a mascarar. Consulte as etapas abaixo:
Autorizar e conectar tabelas RDS, PolarDB-X, PolarDB, OceanBase e AnalyticDB-MySQL.
Autorizar e conectar bancos de dados autogerenciados no ECS.
Para armazenar dados mascarados em tabelas RDS, PolarDB-X, MaxCompute, PolarDB, OceanBase, AnalyticDB-MySQL, bancos de dados autogerenciados ou buckets do OSS, o DSC deve ter autorização e conexão com o ativo de destino. Use uma conta com permissão de leitura e gravação. Para bancos de dados RDS, PolarDB-X, PolarDB, OceanBase ou AnalyticDB-MySQL, use autenticação por conta e senha para conectar o DSC.
Criar uma tarefa de mascaramento
Mascarar dados diretamente em ambiente de produção pode reduzir o desempenho do banco de dados.
Crie uma tarefa de mascaramento para definir o escopo e as regras de mascaramento.
Faça logon no console do Data Security Center.
No painel de navegação à esquerda, selecione .
Na aba Static Desensitization, acesse a aba Task Configurations e clique em Add Desensitization Task.
-
Siga as instruções da página para configurar a tarefa.
-
Insira as Basic Task Information e clique em Next.
NotaNão há restrições para nomes de tarefas.
-
Configure as informações do arquivo de origem e clique em Next.
Tabelas RDS / PolarDB-X / MaxCompute / PolarDB / OceanBase / **AnalyticDB**-MySQL / Bancos de dados autogerenciados
Item de configuração da origem
Obrigatório
Descrição
Types of data storage
Sim
Selecione RDS tables / PolarDB-X tables / MaxCompute tables / PolarDB tables / OceanBase tables / AnalyticDB-MySQL tables / Self-managed database tables.
Source Service
Sim
Selecione o produto que contém os dados a mascarar. Produtos suportados: RDS, PolarDB-X, OceanBase, MaxCompute, AnalyticDB-MySQL, PolarDB ou Self-managed database.
Source Database/Project
Sim
Selecione o projeto que contém a tabela com os dados a mascarar.
SOURCE table name
Sim
Selecione a tabela que contém os dados a mascarar.
Source Partition
Não
Configure a Source Partition apenas quando o Source Service for MaxCompute.
Insira o nome da partição dos dados a mascarar. Deixar em branco mascara todos os dados sensíveis da tabela.
Partições são espaços definidos na criação de tabelas do MaxCompute para limitar dados por região, permitindo consultas rápidas. Para mais informações, consulte Partition.
Sample SQL
Não
Se o Source Service for RDS, PolarDB-X, OceanBase ou self-managed database, configure o Sample SQL.
Insira uma instrução SQL para definir o escopo dos dados. Deixar em branco mascara a tabela inteira.
Arquivos do OSS
ImportanteSuporta apenas arquivos estruturados nos formatos TXT, CSV, XLSX e XLS.
Item de configuração da origem
Obrigatório
Descrição
Types of data storage
Sim
Selecione OSS files.
File source
Sim
Selecione a origem do arquivo OSS. Opções: Uploaded Local File e OSS bucket.
Upload file
Sim
Se a File source for Uploaded Local File, clique em Select a local file para carregar o arquivo a mascarar.
OSS Bucket where the source file is located
Sim
Se a File source for OSS bucket, selecione o bucket que contém o arquivo de origem na lista suspensa. Você também pode pesquisar por palavras-chave.
Source file name
Sim
Se a File source for OSS bucket, insira o nome do arquivo de origem incluindo a extensão.
-
Arquivo único: Insira o nome exato. Exemplo: test.csv.
-
Lote de arquivos: Ative o modo curinga (clique no interruptor Open the pass). O sistema aplica a mesma regra a todos os arquivos de destino, que devem ter o mesmo formato e estrutura de colunas.
Use asterisco () para especificar um lote. Atualmente, apenas prefixos são suportados. Exemplo: test.xls corresponde a todos os arquivos XLS começando com test.
Source file description (optional)
Não
Se a File source for Uploaded Local File, insira uma descrição para o arquivo de origem do OSS.
Separator selection
Não
Para arquivos CSV e TXT, especifique o delimitador de coluna. Delimitadores suportados:
-
Ponto e vírgula “;” (padrão para macOS e Linux).
-
Vírgula “,” (padrão para Windows).
-
Barra vertical “|”.
Table contains header rows
Não
Selecione conforme o arquivo de origem incluir ou não linha de cabeçalho.
-
-
Configure o algoritmo de mascaramento e clique em Next.
Os algoritmos disponíveis incluem mascaramento por omissão (como manter os primeiros n e últimos m), mascaramento por embaralhamento (como embaralhamento aleatório) e mascaramento por substituição (como substituição por mapeamento de identidade). Escolha o algoritmo conforme o tipo de campo (nome, telefone, identificação, etc.).
-
Selecione um modelo de mascaramento existente acima da lista de dados. A lista de campos de origem ativa automaticamente a opção Desensitization e define o Select Algorithm com base no modelo.
A lista de regras no modelo deve corresponder aos campos de origem dos dados a mascarar. Caso contrário, o modelo não terá efeito. Para configurar modelos, consulte Configurar modelos e algoritmos de mascaramento.
Na lista de campos de origem, localize o campo a mascarar, ative a opção Desensitization e defina o Select Algorithm.
Clique em View and Modify Parameters ao lado do algoritmo para visualizar e editar regras. Para sintaxe de partição, consulte a Tabela de referência de sintaxe de partição.
NotaSe você ativar Forcefully Enable Template, não será possível modificar parâmetros do algoritmo nesta página. Modifique as regras do modelo.
-
-
-
Defina o destino para armazenar os dados mascarados, clique em Test para confirmar as permissões de gravação e clique em Next.
ImportanteA conta usada pelo DSC para conectar-se ao ativo de destino deve ter permissão de gravação.
Os itens de configuração incluem Data storage type (escolha RDS tables / PolarDB-X tables / MaxCompute tables / PolarDB tables / OceanBase tables / ADB-MySQL tables / Self-managed database tables ou OSS files), Destination (como RDS), Destination database/project name e nome da tabela de destino. Se não encontrar um banco de dados ou tabela, verifique a autorização de ativos para garantir que o mascaramento esteja habilitado.
-
Confirme a lógica de processamento.
Item de configuração de destino
Obrigatório
Descrição
Trigger method
Sim
O método de acionamento determina como a tarefa é executada. Opções:
-
Manual Only: Inicie a tarefa manualmente.
-
Scheduled Only: Execute a tarefa automaticamente em horários agendados (hora, dia, mês ou semana).
-
Manual + Scheduled: Inicie manualmente clicando em Start ou permita execução automática em horários agendados.
Enable incremental masking
Não
Ative o mascaramento incremental se necessário. Ele processa apenas novos dados adicionados desde a última tarefa. Selecione um campo que incremente ao longo do tempo como coluna de incremento, como horário de criação ou ID de incremento automático.
ImportanteApenas dados do RDS suportam mascaramento incremental.
Shard field
Não
O DSC fragmenta os dados de origem por campo durante o mascaramento estático para melhorar a eficiência via processamento simultâneo. Selecione campos de fragmentação conforme necessário. Vários campos são suportados.
-
Apenas bancos de dados RDS suportam mascaramento incremental. Use a chave primária ou índice único como campo de fragmentação.
-
Se nenhum campo for selecionado, o DSC usa a chave primária como campo de fragmentação padrão.
ImportanteSe os dados de origem não tiverem chave primária, selecione um campo de fragmentação. Caso contrário, a tarefa falhará.
-
Muitos campos de fragmentação podem afetar o desempenho da consulta e a precisão dos dados. Escolha com cuidado.
Table name conflict resolution
Sim
Como lidar com conflitos de nome de tabela. Opções:
-
Delete target table and create a new table with the same name.
-
Add new data to the target table. Recomendamos esta opção.
Row conflict resolution
Sim
Como lidar com conflitos de linhas na tabela. Opções:
-
Keep conflicting rows in the target table and discard new data. Recomendamos esta opção.
-
Delete conflicting rows from the target table and insert new data.
-
Clique em Submit.
Executar e visualizar tarefas de mascaramento
Se o método de acionamento for Manual Only, inicie a tarefa manualmente. Se for Scheduled Only, a tarefa será executada automaticamente. Se for Manual + Scheduled, inicie-a manual ou automaticamente.
-
Na aba Static Desensitization, em Task Configurations, clique em Start na coluna Actions para executar a tarefa.
A lista mostra ID, nome, horário de criação, produtos de origem e destino, execuções, entre outros. A coluna Actions inclui botões de alternância, Delete, Edit e Run. Esses botões ficam desabilitados durante a execução.
-
Na aba Static Desensitization, clique na subaba Status para visualizar o progresso e status.
A lista de status inclui colunas para Task ID, Running time, End time, Execution count, Execution method, Source product type, Destination product type e Execution progress. A coluna Actions fornece links para Stop task, View subtasks e Download masked file.
Solucionar problemas de tarefas de mascaramento com falha
Se uma tarefa falhar, consulte a tabela a seguir para identificar a causa.
|
Mensagem de erro |
Causa |
|
Tarefa de mascaramento não encontrada. Ela pode ter sido excluída ou desabilitada. |
A tarefa foi excluída ou desabilitada (o interruptor na coluna Actions está desligado). |
|
O ciclo de agendamento da tarefa agendada é inválido. |
O horário de execução diária é inválido. |
|
Instância de origem para mascaramento não encontrada. |
A instância que contém a tabela de origem não existe. |
|
Instância de destino para mascaramento não encontrada. |
Possíveis causas: autorização cancelada ou instância de destino excluída. |
|
Tabela de origem para mascaramento não encontrada. |
Possíveis causas: autorização cancelada ou tabela de origem excluída. |
|
Parâmetros do algoritmo de mascaramento são inválidos. |
Os parâmetros do algoritmo estão incorretos. |
|
Coluna da tabela de origem está vazia. |
A coluna do campo de partição de origem não tem dados. |
|
Falha ao gravar na tabela de destino. |
A gravação na tabela de destino falhou durante a configuração. |
|
Falha ao consultar a tabela de origem. |
Dados não encontrados na tabela de origem. |
|
Falha ao criar a tabela de destino. |
A tabela pode não existir no destino. |
|
Chave primária não encontrada. |
A tabela de origem RDS não possui chave primária. |
|
Campo de partição do MaxCompute na configuração da tarefa é inválido. |
A partição de origem ou de destino configurada é inválida. |
Editar ou excluir tarefas de mascaramento
Não é possível editar ou excluir tarefas aguardando execução ou em andamento.
-
Editar uma tarefa de mascaramento
Para ajustar configurações, clique em Modify na coluna Actions da tarefa desejada.
-
Excluir uma tarefa de mascaramento
ImportanteTarefas excluídas não podem ser restauradas. Proceda com cautela.
Para excluir uma tarefa desnecessária, clique em Delete na coluna Actions da tarefa e confirme clicando em OK.
Mascaramento de dados dinâmico
Visão geral do recurso
Tarefas de mascaramento dinâmico exigem um modelo de mascaramento existente como regra. Chame a API ExecDatamask, passe os dados a mascarar (Data) e o ID do modelo (TemplateId), e aplique o Matching mode do modelo (Field name ou Sensitive type) para mascarar os dados dataList em Data.
No console do Data Security Center, acesse , depois a aba Masking Configurations para obter o ID do modelo. Modelos personalizados são suportados. Para etapas, consulte Configurar modelos de mascaramento.
Métodos de modelo de mascaramento para a API ExecDatamask:
|
Método de correspondência |
Descrição do mascaramento |
|
Field name |
Corresponda nomes de colunas em dataHeaderList com nomes de campos e algoritmos na Rule list do modelo para mascarar colunas correspondentes em dataList. |
|
Sensitive type |
Corresponda IDs de regra para tipos sensíveis em ruleList com IDs identificadores na Rule list do modelo. Aplique o nome do campo e o algoritmo da regra para mascarar colunas correspondentes em dataList. Campos de regra para tipos sensíveis vêm da página Data features em Data Insight, que inclui recursos integrados e personalizados. Esses nomes também servem como nomes de regra na Rule list. Chame a API DescribeRules, passe CustomType (tipo de regra, ou seja, Data feature Source: integrado ou personalizado) e Name (nome da regra, ou seja, nome do Data feature) para obter o ID identificador da regra (Id). |
Diagrama de exemplo de mascaramento:
Limites
Ao chamar a API ExecDatamask para mascaramento dinâmico, os dados de cada solicitação (Data) devem ser menores que 2 MB.
Visualizar registros de chamadas da API de mascaramento dinâmico
Faça logon no console do Data Security Center.
No painel de navegação à esquerda, selecione .
Na página Data Desensitization, clique na aba Dynamic desensitization.
-
Na página Dynamic desensitization, visualize os registros de chamadas da API ExecDatamask.
NotaSe você chamar a API várias vezes com a mesma conta e IP, o log de operações mostrará apenas uma entrada e registrará o Cumulative number of calls.
Exemplo: Usar mascaramento estático para compartilhamento de dados
Use o mascaramento estático para mascarar dados sensíveis em um arquivo CSV estruturado em um bucket do OSS de origem e salve o arquivo mascarado em um bucket de destino na mesma conta. Compartilhe o bucket de destino com usuários específicos para garantir segurança. Para etapas, consulte Mascarar dados sensíveis em arquivos de tabela do OSS.