Scénario de test & Cas d'usage
Gestion des droits d'accès et de la sécurité des données.
Découvrir toutes les actions de accessControlCréation de la table des employés avec données sensibles.
| 1 | |
| 2 | DATA casuser.RH_EMPLOYES; |
| 3 | LENGTH EmpID $5 Nom $20 Bonus 8; |
| 4 | EmpID='E01'; |
| 5 | Nom='Dupont'; |
| 6 | Bonus=5000; |
| 7 | OUTPUT; |
| 8 | EmpID='E02'; |
| 9 | Nom='Martin'; |
| 10 | Bonus=4500; |
| 11 | OUTPUT; |
| 12 | |
| 13 | RUN; |
| 14 |
| 1 | PROC CAS; ACCESSCONTROL.checkOutObject STATUS=s / |
| 2 | checkoutParent=TRUE, |
| 3 | checkOutType="EXCLUSIVE", |
| 4 | ObjectSelector={objType="COLUMN", caslib="casuser", TABLE="RH_EMPLOYES", column="BONUS"}; |
| 5 | PRINT s; |
| 6 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.listCheckedOutObjects RESULT=res / caslib="casuser"; |
| 4 | PRINT res; |
| 5 | |
| 6 | RUN; |
| 7 |
L'action doit réussir même si le verrouillage niveau colonne n'est pas nativement supporté isolément. Grâce à `checkoutParent=TRUE`, le système doit avoir verrouillé la table parente 'RH_EMPLOYES' de manière exclusive. La liste des objets verrouillés doit montrer la table (et non juste la colonne).