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.
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;
--Activate row access control to implement row permissions
ALTER TABLE RCACTSPM.CUSTOMER ACTIVATE ROW ACCESS CONTROL;