Filtres de données de sécurité
Les filtres de données de sécurité restreignent l’accès aux enregistrements en fonction du rôle ou des assertions liées à l’attribut de sécurité.
Explorer les filtres de données de sécurité
Les filtres de données de sécurité permettent de restreindre l’accès aux enregistrements en fonction du rôle d’un utilisateur ou d’autres affirmations liées à un attribut de sécurité. Les filtres de données de sécurité garantissent que seuls les utilisateurs autorisés peuvent afficher les enregistrements, quelle que soit la manière dont ils accèdent aux données. Les filtres de données de sécurité sont appliqués avant l’exécution d’une requête.
Fonctionnalités des filtres de données de sécurité
- Les filtres de données de sécurité sont appliqués dans la requête.
- Conditions de filtre des données de sécurité ET à la requête sur la table cible et entre elles.
- Les filtres de données de sécurité ne sont pas vérifiés par
canRead. Voir Utilisations des filtres de données de sécurité pour plus de détails - Les règles de définition du champ d’application du filtre de données sont basées sur le champ d’application de la table, les filtres de données ne suivent pas les règles de champ d’application ScopeMaster ou sys_scope
Application et mise en application du filtre de données de sécurité
En général, les filtres de données de sécurité sont appliqués après les ACL absolues (également appelées ACL au niveau de la table) et avant les ACL de ligne. Les filtres de données de sécurité sont appliqués par défaut et ont un impact sur le comportement du système s’ils ne sont pas utilisés avec précaution. Consultez la liste Emplacements des filtres de sécurité par défaut des filtres de données de sécurité par défaut.
enableSecurityFeature et disableSecurityFeature qui peuvent être utilisées dans les scripts Java et côté serveur pour activer ou désactiver les filtres de données pour une requête spécifique. Utilisations des filtres de données de sécurité
- Empêcher les données sensibles de quitter la base de données
- Supprimer le message « lignes masquées par la sécurité »
- Empêcher les fuites de données sensibles par rapport aux rapports
- En tant que contrôles de visibilité
- Avec un grand nombre de conditions de filtre
- Sur les colonnes non indexées
Comportement du filtre de données de sécurité
ET combine des opérandes. À titre d’exemple, trois filtres de données de sécurité sont donnés :- Filtre 1 : « actif = vrai »
- Filtre 2 :
priority=1 - Filtre 3 :
état=ouvert
SELECT * FROM task WHERE state != closed AND active = true AND
priority = 1La dernière question est la suivante :SELECT * FROM task WHERE state != closed
AND active = true AND priority = 1 AND state = openUne différence importante dans la façon dont les filtres de données de sécurité et les ACL sont appliqués est que les filtres de données d’une table enfant ne s’appliquent pas à la table parente lorsque les données sont interrogées à partir de la table parent. Ajoutez un filtre de données sur les tables enfant et parente pour restreindre l’accès aux enregistrements de la table parente.
Considérations relatives aux performances des filtres de données de sécurité
- Nombre de filtres appliqués
- Complexité de la requête utilisateur
- Complexité des filtres appliqués aux conditions
- Interrogation des colonnes non indexées
- Utilisation de l’opérateur contains
- Analyses complètes de la table
Lors de la création d’un filtre de données de sécurité, utilisez-le pour évaluer l’impact sur les Outil d’analyse des performances du filtre de données de sécurité performances et assurez-vous d’appliquer les filtres de données de sécurité de manière responsable.