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 accessControlSimulation de la création de tables par deux utilisateurs différents ('user_a', 'user_b'). 'user_a' a une table volumineuse.
| 1 | /* Simulé par user_a */ |
| 2 | cas sess_a sessopts=(caslib=casuser); |
| 3 | LIBNAME cas_a cas sessref=sess_a; |
| 4 | DATA cas_a.BIG_DATA_LOGS (copies=10); |
| 5 | DO i = 1 to 10000000; |
| 6 | x=rand('UNIFORM'); y=rand('NORMAL'); OUTPUT; |
| 7 | END; |
| 8 | RUN; |
| 9 | cas sess_a terminate; |
| 10 | |
| 11 | /* Simulé par user_b */ |
| 12 | cas sess_b sessopts=(caslib=casuser); |
| 13 | LIBNAME cas_b cas sessref=sess_b; |
| 14 | DATA cas_b.SMALL_REFERENCE; |
| 15 | INPUT ID NAME $; |
| 16 | DATALINES; |
| 17 | 1 John |
| 18 | 2 Jane |
| 19 | ; |
| 20 | RUN; |
| 21 | cas sess_b terminate; |
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.accessPersonalCaslibs; |
| 4 | RUN; |
| 5 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.fileInfo / caslib='CASUSER(user_a)'; |
| 4 | RUN; |
| 5 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.fileInfo / caslib='CASUSER(user_b)'; |
| 4 | RUN; |
| 5 |
L'administrateur peut exécuter avec succès l'action `table.fileInfo` sur les caslibs 'CASUSER(user_a)' et 'CASUSER(user_b)'. Les résultats affichent les informations des fichiers, y compris la taille, permettant à l'admin d'identifier que la table 'BIG_DATA_LOGS' est volumineuse, tandis que 'SMALL_REFERENCE' ne l'est pas. Cela valide que l'accès est bien accordé à plusieurs caslibs distinctes.