Scénario: ExampleBANK avec contrôle d'accès de ligne et de colonne-Droits de ligne

L'administrateur de sécurité de ExampleBANK, commence à restreindre l'accès aux données en utilisant les autorisations de ligne, qui font partie du contrôle d'accès aux lignes et aux colonnes. Les droits d'accès aux lignes filtrent les données renvoyées aux utilisateurs par ligne.

Les caissiers sont autorisés à afficher les données client uniquement à partir de leur succursale d'origine. Les télévendeurs et les CSR sont autorisés à voir tous les clients ExampleBANK dans le système, mais les télévendeurs ne peuvent pas voir le numéro de compte complet.

Les droits d'accès aux lignes restreignent ou filtrent les lignes en fonction de l'utilisateur qui s'est connecté à la base de données. Dans ExampleBANK, les autorisations de ligne créent une restriction horizontale des données sur la table CLIENT.

L'administrateur de la sécurité implémente les droits d'accès aux lignes suivants afin qu'un utilisateur de chaque rôle soit limité à l'affichage d'un ensemble de résultats qu'il est autorisé à afficher:
CREATE PERMISSION TELLER_ROW_ACCESS ON RCACTSPM.CUSTOMER
-------------------------------------------------------
-- Teller information:
-- ROLE TELLER is allowed to access client data only 
-- in their branch.
------------------------------------------------------------
FOR ROWS WHERE VERIFY_ROLE_FOR_USER(USER, 'TELLER') = 1
AND 
BRANCH = (SELECT HOME_BRANCH FROM RCACTSPM.INTERNAL_INFO WHERE EMP_ID = USER)
ENFORCED FOR ALL ACCESS
ENABLE;

CREATE PERMISSION CSR_ROW_ACCESS ON RCACTSPM.CUSTOMER
-------------------------------------------------------
-- CSR and telemarketer information:
-- ROLE TELEMARKETER and CSR are allowed to access all client
-- data rows in ExampleBANK.
------------------------------------------------------------
FOR ROWS WHERE VERIFY_ROLE_FOR_USER (USER, 'CSR') = 1 
OR
VERIFY_ROLE_FOR_USER (USER, 'TELEMARKETER') = 1
ENFORCED FOR ALL ACCESS
ENABLE;
L'administrateur de la sécurité observe que même après avoir créé un droit de ligne, toutes les données peuvent toujours être affichées par les employés. Un droit sur les lignes n'est pas appliqué tant qu'il n'est pas activé sur la table pour laquelle il a été défini. L'administrateur de la sécurité doit maintenant activer le droit:
--Activate row access control to implement row permissions

ALTER TABLE RCACTSPM.CUSTOMER ACTIVATE ROW ACCESS CONTROL;