Filtragem de linhas em regras de proteção de dados

Você pode selecionar para filtrar linhas como a ação em regras de proteção de dados. Você pode incluir ou excluir linhas com base em valores em uma coluna especificada no mesmo ativo ou em um ativo de referência. Para selecionar um ativo de referência, é possível escolher qualquer ativo de dados que você tenha permissão para visualizar em qualquer catálogo no qual você é colaborador.

Dica:Você deve ter um entendimento completo dos esquemas e valores de dados de seus ativos de dados para implementar esses tipos de regras de forma efetiva. Por exemplo, definir um filtro baseado em caracteres em uma coluna de tipo de dados numéricos resulta em um erro quando o filtro se aplica a um ativo de dados.

Para o IBM Data Virtualization, a filtragem de linhas pode ser baseada em colunas de qualquer tipo de dados. O valor de filtro deve ser válido para o tipo de dado da coluna ao qual ele se aplica. Por exemplo, não é possível definir uma regra como incluir linhas em que CREDIT_SCORE = 'ABC' if CREDIT_SCORE é uma coluna integer . Como ABC é um valor de filtro de sequência , mas a coluna é do tipo número inteiro, as consultas com esse filtro de linha resultam em um erro.

Cuidado: Qualquer ativo que não inclua as colunas que são usadas para filtrar as linhas pode acabar sendo negado. Para assegurar que a ação de filtragem de linha seja aplicada apenas aos ativos com a coluna usada para filtragem, é necessário incluir uma condição para verificar se o ativo contém essa coluna.

Métodos de filtragem de linha

Ao criar uma regra de proteção de dados, você pode selecionar Filtrar linhas a partir da lista de ações e, em seguida, especificar o método do filtro.

Por exemplo, suponhamos que você tenha um banco de dados com tabelas que combinam dados de governo, empresa e cliente de varejo. A tabela Faturamento possui dados para todos os tipos de clientes e uma coluna CustomerType que indica o tipo de cliente.. Você pode criar uma regra de proteção de dados que exclua todas as linhas para clientes do governo. É possível criar uma regra que exclua todas as linhas se o valor da coluna CustomerType for governmentou criar uma regra que inclua apenas as linhas em que o valor da coluna CustomerType seja igual a enterprise ou retail

Agora suponha que sua tabela Faturamento não inclua uma coluna CustomerType , mas inclua uma coluna CustomerID . Você tem outra tabela, CustomerInfo, que contém as colunas CustomerID e CustomerType. Você pode criar uma regra de proteção de dados que une efetivamente as tabelas Billing e CustomerInfo e filtra as linhas com base nos valores CustomerType.

Método do filtro Descrição Exemplo
Incluir linhas Inclua apenas as linhas que se encaixam nos critérios dos valores especificados na coluna especificada do ativo. Inclua linhas se a coluna CustomerType tiver valores iguais a enterprise ou retail.
Excluir linhas Excluir as linhas que se encaixam nos critérios dos valores especificados na coluna especificada do ativo. Exclua as linhas se a coluna CustomerType tiver valores iguais a government.
Incluir linhas com base no ativo de referência Inclua apenas as linhas que se encaixam nos critérios dos valores especificados na coluna especificada do ativo de referência. Inclua linhas se os valores da coluna CustomerID corresponderem aos valores na coluna CustomerID do ativo de dados de referência para linhas em que a coluna CustomerType possui valores iguais a enterprise ou retail.
Excluir linhas com base no ativo de referência Excluir as linhas que se encaixam nos critérios dos valores especificados na coluna especificada do ativo de referência. Exclua as linhas se os valores da coluna CustomerID corresponderem aos valores na coluna CustomerID do ativo de dados de referência para linhas em que a coluna CustomerType possui valores iguais a government.

Condições de filtragem de linha

As condições de filtragem de linhas especificam a coluna e os valores para filtrar.

Se você escolher o método Incluir linhas ou Excluir linhas , selecione um nome de coluna, selecione um operador e especifique um nome de coluna. Os operadores disponíveis incluem igual a, maior que, menor que, maior que igual a (maior que ou igual a) ou maior que igual a (maior que ou igual a). É possível incluir mais condições.

Se você escolher o método Incluir linhas com base no ativo de referência ou Excluir linhas com base no ativo de referência , selecione o ativo de referência e, em seguida, corresponda a coluna no ativo de referência à coluna no ativo de destino. Em seguida, especifique um nome de coluna no ativo de referência para filtrar, selecione um operador e especifique um nome de coluna. Os operadores disponíveis incluem igual a, maior que, menor que, maior que igual a (maior que ou igual a) ou maior que igual a (maior que ou igual a). Você pode adicionar mais condições.

Diretrizes de Valor

  • Os valores que incluem apenas números são processados como um tipo de dados numéricos
  • Os valores que incluem apenas os números que são colocados entre aspas simples são processados como um tipo de dados de cadeia.
  • Valores que incluem quaisquer caracteres que não sejam números são processados como um tipo de dados string.
  • Curingas não são suportados. Você deve incluir valores reais.
  • Os valores fazem distinção entre maiúsculas e minúsculas. Por exemplo, se você criar uma regra para filtrar linhas com base no valor de government, a regra não filtra linhas com o valor de Government.

Diretrizes de ativos de referência

  • O ativo de dados de referência deve ter uma coluna com alguns dos mesmos valores que a coluna correspondente especificada nos ativos de dados de destino ou a regra não é aplicada.
  • Se o ativo de dados de referência estiver em um catálogo diferente do ativo de destino, a preview do ativo alvo não pode ser vista e o ativo não pode ser baixado.
  • Se o ativo de dados de referência referencia um ativo de conexão diferente do ativo de destino, a preview do ativo alvo não pode ser vista e o ativo não pode ser baixado.
  • Para ativos de dados Apache Hive , o ativo de referência deve pertencer ao mesmo banco de dados que o ativo de dados de origem.

Limitações para filtragem de linhas

A filtragem de linha executa uma instrução SQL para aplicar a regra no ativo de dados de destino. A instrução SQL é executada exatamente como codificada. A única maneira de saber se a regra funciona como esperado é examinar o esquema dos ativos de dados em catálogos governados que possuem critérios de correspondência. Quaisquer ativos de dados com colunas que tenham valores semelhantes mas nomes de colunas diferentes não são afetados. Por exemplo, se a regra especificar um nome de coluna CustomerID, ela não afetará os ativos com o nome de coluna CustomerIdentifier. Você pode não receber qualquer indicação direta de uma regra que não tenha acionado devido a critérios de filtro ausentes ou incorretos, entretanto os administradores podem inspecionar o log de aplicação da política para visualizar quaisquer tais situações. Sua qualidade de dados também deve ser alta. Os valores que a sua regra de proteção de dados com filtragem de linhas dependem deve ser consistente. Por exemplo, se government é digitado mal como goverment ou escrito como Government, essa linha não é filtrada.

Se os seus critérios de filtragem incluirão um ativo de dados de referência, o acesso aos dados pode encontrar atrasos de desempenho inerentes à junção. Por exemplo, a falta de erros de indexação ou SQL adequados devido a um objeto de junção ausente pode causar atrasos.

Previews e downloads podem não estar disponíveis

Não é possível visualizar ou fazer download de um ativo que é afetado pelas regras de proteção de dados que filtram linhas nas situações a seguir:

  • O ativo de dados é afetado por mais de uma regra de proteção de dados que filtra linhas por mais de um ativo de referência.
  • O ativo de dados é afetado por uma regra de proteção de dados que filtra linhas por um ativo de referência que não está em um mesmo catálogo que o ativo de dados de origem.
  • O ativo de dados é afetado por uma regra de proteção de dados que filtra linhas por um ativo de referência que não usa a mesma conexão que o ativo de dados de origem.

Saiba Mais