ACL de requêtes
Les ACL de requête vous permettent de définir un contrôle d’accès plus granulaire en définissant explicitement qui peut interroger les données.
Qu’est-ce qu’une ACL de requête
L’opération des ACL de requête est définie sur query_range ou sur query_match. Les ACL de requête permettent un contrôle plus spécifique des requêtes utilisateur, en limitant ou en activant l’accès en fonction de leur configuration. Les ACL de requête sont des outils puissants contre les attaques de requête aveugle, où un attaquant interroge aveuglément les données pour extraire des informations des résultats, même lorsqu’il ne peut pas voir les valeurs.
Quand utiliser une ACL de requête
Lorsqu’une colonne contient des valeurs sensibles et autorise un accès partiel/conditionnel aux données, une ACL de requête doit être envisagée et mise en œuvre si nécessaire en fonction de la sensibilité des données. Lorsqu’il existe un accès partiel/conditionnel aux lignes et à leurs colonnes dans les tables, en particulier lorsque cet accès n’est pas appliqué par des filtres de données, des ACL de requête doivent être implémentées si nécessaire en fonction de la sensibilité des données.
Contrôle de la requête de paie
Je peux voir une ligne dans le tableau de salaire avec mon salaire, mais il n’y a aucune raison pour que je puisse émettre des requêtes de plage pour interroger des utilisateurs dont le salaire est contenu dans 2 limites. Unequery_range ACL sur le salaire m’empêcherait d’émettre cette requête.Contrôle de requête RH
Je peux voir tout hr_profiles, mais je ne peux voir le SSN que par moi-même. Je n’ai pas à interroger le NSS, et les ACL de requête doivent m’empêcher d’exécuter des requêtes sur le NSS d’autres profils RH pour essayer d’extraire des mappages de NSS.
Comportement de l’ACL de requête
query_match et query_range pour un comportement d’interrogation de table sécurisé et granulaire. Leurs comportements sont décrits ci-dessous :query_match-
query_matchest composé de : EQUALS, NOT_EQUALS, IN, NOT_IN, SAMEAS, NSAMEAS, ANYTHING, ISEMPTYSTRING, ISEMPTY, ISNOTEMPTY, ISNULL, ISNOTNULL.query_matchest faite des « opérateurs sûrs », dans le sens où ils sont construits pour récupérer des enregistrements spécifiques et ne peuvent pas être exploités pour en renvoyer d’autres.Résultat de l’évaluation Résultat Succès L’utilisateur peut soumettre des requêtes de correspondance Échec L’utilisateur ne sera pas en mesure de soumettre des requêtes de correspondance : - ÉGALE
- NOT_EQUALS
- DANS
- NOT_IN
- SAMEAS
- NSAMEAS
- RIEN
- CHAÎNE D’OBJETS ISEMPTYSTRING
- ISEMPTY
- ISNOTEMPTY
- ISNULL
- ISNOTNULL
query_range-
query_rangeest composé de tous les autres (STARTS_WITH, CONTAINS, >=, <= etc.) qui sont plus dangereux car ils permettent aux utilisateurs d’interroger plus d’enregistrements en ajustant les valeurs limites.Résultat de l’évaluation Résultat Succès L’utilisateur peut soumettre des requêtes de plage et le tri est illimité Échec L’utilisateur ne sera pas en mesure de soumettre des requêtes de plage avec (STARTS_WITH, CONTAINS, >=, <=, etc. Le tri par colonne est restreint
Les ACL de requête (query_match et query_range) sont par défaut une ACL star.star qui délègue l’accès en lecture. Cela signifie que lorsque les ACL sont appliquées aux requêtes, si aucune ACL de requête n’a été créée, l’accès en lecture à la colonne est évalué ; si des ACL de requête sont définies, elles remplacent le comportement par défaut.