ACLs de consulta
As ACLs de consulta permitem que você defina um controle de acesso mais granular, definindo explicitamente quem pode consultar os dados.
O que é uma ACL de consulta
As ACLs de consulta têm sua operação definida como query_range ou query_match. As ACLs de consulta permitem um controle mais específico das consultas do usuário, restringindo ou habilitando o acesso com base na configuração. As ACLs de consulta são ferramentas poderosas contra ataques de consulta ocultos, em que um invasor consulta os dados de maneira oculta para extrair informações dos resultados, mesmo quando não consegue ver os valores.
Quando usar uma ACL de consulta
Sempre que uma coluna tiver valores confidenciais e permitir acesso parcial/condicional aos dados, uma ACL de consulta deve ser considerada e implementada conforme necessário com base na confidencialidade dos dados. Sempre que houver um acesso parcial/condicional às linhas e suas colunas nas tabelas, principalmente quando esse acesso não for imposto por filtros de dados, as ACLs de consulta devem ser implementadas conforme necessário com base na confidencialidade dos dados.
Controle de consulta de folha de pagamento
Posso ver uma linha na tabela de folha de pagamento com o meu salário, mas não há motivo para eu poder emitir consultas de intervalo para consultar usuários com um salário dentro de 2 limites. Uma ACLquery_range no salário me impediria de emitir essa consulta.Controle de consulta de RH
Posso ver todos os hr_profiles, mas só posso ver o SSN por conta própria. Não tenho nenhum negócio consultando SSN e as ACLs de consulta devem me impedir de executar consultas em SSN de outros perfis de RH para tentar extrair mapeamentos de SSN.
Comportamento das ACLs de consulta
query_match e query_range para um comportamento de consulta de tabela seguro e granular. Os comportamentos são descritos abaixo:query_match-
query_matché composto por: EQUAL, NOT_EQUALS, IN, NOT_IN, SAMEAS, NSAMEAS, ANYTHING, ISEMPTYSTRING, ISEMPTY, ISNOTEMPTY, ISNULL, ISNOTNULL.query_matché composto pelos "operadores seguros", no sentido de que são criados para buscar registros específicos e não podem ser explorados para retornar outros.Resultado da avaliação Resultado Aprovado O usuário pode enviar consultas de correspondência Falha O usuário não poderá enviar consultas de correspondência: - EQUALS
- NOT_EQUALS
- IN
- NOT_IN
- SAMEAS
- NSAMEAS
- ANYTHING
- ISEMPTYSTRING
- ISEMPTY
- ISNOTEMPTY
- ISNULL
- ISNOTNULL
query_range-
query_rangeé composto por todos os outros (STARTS_WITH, CONTAINS, >=, <= etc), que são mais perigosos, pois permitem que os usuários consultem mais registros ajustando os valores de limite.Resultado da avaliação Resultado Aprovado O usuário pode enviar consultas de intervalo e a classificação é irrestrita Falha O usuário não poderá enviar consultas de intervalo com (STARTS_WITH, CONTAINS, >=, <= etc. A classificação por coluna é restrita
As ACLs de consulta (query_match e query_range) têm como padrão uma ACL star.star que delega acesso de leitura. Isso significa que, onde as ACLs são aplicadas em consultas, se nenhuma ACL de consulta tiver sido criada, o acesso de leitura à coluna será avaliado; se as ACLs de consulta forem definidas, elas substituirão o comportamento padrão.