Se os usuários do projeto tiverem permissões de consulta em dados sensíveis em um projeto E-MapReduce (EMR), mas você não quiser que visualizem todos os dados sensíveis, aplique o mascaramento dinâmico de dados aos resultados da consulta. Este tópico descreve como ativar o recurso de mascaramento dinâmico de dados para o EMR e fornece um exemplo de referência.
Limites
Os clusters do EMR oferecem suporte apenas aos recursos de identificação de dados sensíveis e mascaramento de dados do Data Security Guard. Não há suporte para outros recursos do Data Security Guard.
A identificação de dados sensíveis e o mascaramento de dados têm suporte apenas para tipos específicos de clusters EMR e tipos de tabelas. Para mais informações, consulte Hive table types that support data preview in Data Map.
O Data Security Guard atualiza metadados com base T+1. Para usar o mascaramento de dados do EMR, crie os dados a serem mascarados com pelo menos um dia de antecedência.
Há suporte apenas para grupos de recursos exclusivos para agendamento. Para mais informações, consulte Billing of exclusive resource groups for scheduling.
Preparações
Pré-requisitos
Por padrão, o Data Security Guard usa a conta do cluster mapeada para a conta Alibaba Cloud para amostrar dados. Se o seu cluster tiver autenticação LDAP ou Kerberos ativada e usar Ranger ou DLF-Auth para gerenciamento de permissões de tabela, configure o mapeamento de contas para a conta Alibaba Cloud e garanta que a conta do cluster mapeada tenha permissão para acessar as tabelas no cluster EMR. Para mais informações, consulte Data Studio (legacy): Register an EMR cluster.
Preparação de dados
Criar uma tabela EMR
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
Na página Data Development, clique em Create e escolha para criar um nó Hive.
-
Edite o código do nó para criar a tabela
onefall_test_dsg.CREATE TABLE IF NOT EXISTS onefall_test_dsg ( username STRING ,gender STRING ,phone STRING ,email STRING ,card_no STRING ,address STRING ,zip_code STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY',' ; -
Importe dados de teste para a tabela
onefall_test_dsg.Baixe o arquivo de dados de teste data.csv.
-
Importe os dados de teste.
-
Faça upload do data.csv em um nó no cluster EMR e carregue os dados de teste usando SQL.
LOAD DATA LOCAL INPATH '/…/data.csv' OVERWRITE INTO TABLE onefall_test_dsg; -
Faça upload do data.csv no Object Storage Service (OSS) e carregue os dados de teste usando SQL.
LOAD DATA INPATH 'oss://bucket-name.Endpoint/…/data.csv' OVERWRITE INTO TABLE onefall_test_dsg ;
-
Atualização de metadados do Data Security Guard
O Data Security Guard atualiza metadados com base T+1. Após criar e publicar a tabela onefall_test_dsg, aguarde até o dia seguinte antes de configurar o mascaramento de dados.
Configurar mascaramento de dados
Etapa 1: Criar regras de identificação de dados
O DataWorks usa regras de identificação para identificar campos em tabelas EMR. Antes de configurar regras de mascaramento, configure as regras de identificação correspondentes. Para mais informações, consulte Configure data detection rules and tasks.
Acessar a página de regras de identificação de dados
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Na página exibida, clique em Go to Security Center.
-
No painel de navegação à esquerda, clique em e, em seguida, clique em Try Now para acessar o Data Security Guard.
NotaSe sua conta Alibaba Cloud já estiver autorizada, você será direcionado para a página inicial do Data Security Guard.
Caso sua conta Alibaba Cloud não esteja autorizada, você será redirecionado para a página de autorização do Data Security Guard. Para usar os recursos do Data Security Guard pela primeira vez, acesse , selecione Data Security Guard na caixa de diálogo pop-up e conclua a autorização.
No painel de navegação à esquerda, escolha para ir à página Data Identification Rules.
Configurar regras de identificação
Este exemplo utiliza a tabela criada na seção de preparação de dados para criar regras de identificação. O objetivo é identificar os campos gender, phone e email na tabela onefall_test_dsg e aplicar mascaramento a esses três campos.
-
Selecione a categoria de dados para os campos sensíveis.
Na seção Built-in Classification Template à esquerda, selecione a categoria de dados para os tipos de campo sensível. Para mais informações, consulte Configure data detection rules and tasks.
-
Crie tipos de campo sensível e configure regras de identificação.
No canto superior direito, clique em Sensitive Field Type para abrir a página de configuração de regra de identificação. Para instruções detalhadas de configuração, consulte Configure data detection rules and tasks.
NotaPara facilitar o entendimento, defina os nomes dos tipos de campo sensível como os nomes dos campos da tabela
onefall_test_dsg:gender,phoneeemail. Após concluir a configuração das Data Identification Rules, clique em Batch Publish no canto superior direito e selecione as regras criadas para publicá-las em lote. Após a configuração, a lista de tipos de campo sensível exibirá gender (nível 4), phone (nível 2) e email (nível 2). O método de definição da regra de identificação é Custom, a precisão é de 100% e o status é Published.
Etapa 2: Criar regras de mascaramento de dados
O DataWorks mascara campos em tabelas EMR usando regras de mascaramento de dados. Antes de configurar regras de mascaramento, consulte Create a data masking rule.
Acessar a página de regras de mascaramento de dados
Faça login no console do DataWorks e acesse a página do Data Security Guard. Para mais informações, consulte Data Security Guard Overview.
Clique em Try Now para ir à Home Page do Data Security Guard.
No painel de navegação à esquerda, escolha . Na página Data Masking Management, crie tipos de cenário de mascaramento e configure regras de mascaramento.
Criar cenários de mascaramento
O DataWorks fornece cenários de mascaramento de nível 1 integrados, como Data Development/Data Map Display Masking, Data Analysis Display Masking, MaxCompute Engine-level Masking, Hologres Engine-level Masking para mascaramento dinâmico e Data Integration Static Masking. Esses cenários de nível 1 são fixos e não podem ser criados, editados ou excluídos. Crie cenários personalizados de nível 2 sob eles conforme as necessidades do seu negócio. Para mais informações, consulte Create a data masking scenario.
-
Este exemplo utiliza Data Development/Data Map Display Masking e Data Analysis Display Masking.
Nome do cenário de nível 2 sob Data Development/Data Map Display Masking:
Development display.Nome do cenário de nível 2 sob Data Analysis Display Masking:
SQL analysis.
Criar regras de mascaramento
Após criar os cenários de mascaramento, clique em Masking Rule no canto superior direito para criar três regras de mascaramento chamadas gender, phone e email. Para mais informações, consulte Create a data masking rule.
-
Selecione o cenário de mascaramento.
Na página Data Masking Management, defina Masking Scenario como e clique em +Masking Rule à direita.
-
Crie regras de mascaramento de dados.
Na página Create Masking Rule, configure Sensitive Field Type, Masking Rule Name, Masking Scenario, Masking Method e outras configurações. Para mais informações, consulte Entry point for data masking rule configuration.
-
A tabela a seguir lista as configurações das três regras de mascaramento neste exemplo.
Item de configuração
Conteúdo da configuração
gender
email
phone
Tipo de campo sensível
gender
email
phone
Nome da regra de mascaramento
gender
email
phone
Cenário de mascaramento
Development display,SQL analysisDevelopment display,SQL analysisDevelopment display,SQL analysisMétodo de mascaramento
Substituição de caracteres
Posição de substituição
Substituir tudo
Método de substituição
Substituição aleatória
Criptografia HASH
Marca d'água de dados
Desativado
Algoritmo de criptografia
MDS
Valor de salt
5
Mascaramento total
Modo de redação
NotaVários métodos de mascaramento estão disponíveis. Este exemplo usa String Replacement, HASH Encryption e Masking Out como exemplos. Para mais informações, consulte Configure masking methods.
Etapa 3: Executar a tarefa de identificação de dados sensíveis
No ambiente de produção, após o Data Security Guard obter metadados do EMR diariamente, ele chama a OpenAPI de metadados do DataWorks para recuperar dados de amostra das tabelas e identifica campos sensíveis com base nas regras de identificação. Como este exemplo é um caso de teste, execute manualmente a tarefa de identificação para identificar campos sensíveis.
No painel de navegação à esquerda, escolha para ir à página Sensitive Data Identification.
-
No canto superior esquerdo da página Sensitive Data Identification, clique em Run Task para abrir o painel Enable Sensitive Data Identification Task e configure as seguintes definições:
Task type: Manual task.
Account Used for Identification: A conta atual é usada para amostrar e verificar dados. Permissões diferentes de conta resultam em escopos diferentes de amostragem de dados. Neste exemplo, selecione a conta Alibaba Cloud.
Content Identification: Escolha entre identificação de conteúdo da tabela ou identificação de metadados. Neste exemplo, selecione identificação de conteúdo.
Sampling quantity: Especifique a quantidade de amostragem. Mantenha o valor padrão de 100.
Scanning Range: Defina como Custom Scope e use o intervalo de workspace/banco de dados para definir o escopo. Na seção Workspace/Database Range, use o seletor em cascata para selecionar o tipo de source de dados (como ODPS, EMR ou HOLO), workspace e banco de dados. Neste exemplo, selecione o banco de dados de destino sob o tipo EMR.
O nome da tabela neste exemplo é
onefall_test_dsg.
-
Após definir o escopo, clique em Enable no canto inferior direito do painel para iniciar a tarefa de identificação.
NotaPara visualizar os detalhes de execução da tarefa de identificação, acesse a página Sensitive Data Identification e clique em Task Execution Records.
Verificar resultados de mascaramento por consulta
Visualizar o resultado de mascaramento na pré-visualização da tabela EMR
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Na página exibida, clique em Go to Data Map.
Clique no ícone
à esquerda para alternar para a página de pesquisa. Clique na lista suspensa na parte superior da página, alterne para a source de dados E-MapReduce e pesquise pelo nome da tabela onefall_test_dsg.Clique no nome da tabela nos resultados da pesquisa. Após a abertura do painel de detalhes da tabela, clique em Data Preview para pré-visualizar os dados da tabela. Após pesquisar a tabela
onefall_test_dsg, visualize os resultados do mascaramento. Os métodos de mascaramento para cada campo são os seguintes: username é substituído por concatenação aleatória de palavras em inglês; gender é substituído por uma string aleatória; phone é mascarado com os quatro dígitos centrais substituídos por asteriscos (por exemplo, 159**4449); email passa por hash (por exemplo, 09154c5cf73f176c1ff964dd351585df); os campos card_no e address são totalmente mascarados e não ficam visíveis; zip_code** mantém o valor original.
Os campos na tabela são mascarados na Preview com base nas regras de identificação e nas regras de mascaramento configuradas.
Visualizar o resultado de mascaramento na página Data Development
Uma opção de nível de projeto no Data Development controla a consulta de dados mascarados na página de desenvolvimento do DataWorks. Execute as etapas a seguir para ativá-la.
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
Clique no ícone
à esquerda para ir à página de configurações do workspace de desenvolvimento.Na página de configurações do workspace de desenvolvimento, clique em Security Settings and Others e ative a opção .
Testar o mascaramento de resultado de consulta
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
Clique no ícone
à esquerda para ir à página Ad Hoc Query. Em seguida, clique em
e escolha para criar um nó de consulta ad hoc.-
No nó, consulte a tabela
onefall_test_dsgpara visualizar o resultado do mascaramento na página Data Development.SELECT * FROM onefall_test_dsg;O resultado da consulta mostra que a coluna phone está parcialmente mascarada (quatro dígitos centrais substituídos por **), a coluna email está criptografada como uma string hash, e as colunas card_no e address** estão totalmente mascaradas e não visíveis.