Scénario Standard : Sauvegarde d'urgence des données d'un utilisateur
Scénario de test & Cas d'usage
Contexte Métier
Un data scientist (utilisateur 'datascientist01') a quitté l'entreprise subitement. Un administrateur CAS doit accéder à sa caslib personnelle ('CASUSER(datascientist01)') pour sauvegarder une table critique ('PROJET_FINANCE_2025') avant que son compte ne soit purgé.
À propos du Set : accessControl
Gestion des droits d'accès et de la sécurité des données.
Simulation de la création d'une table dans la caslib personnelle de l'utilisateur 'datascientist01'. Note : Ce code doit être exécuté par 'datascientist01' ou un admin ayant déjà les droits pour simuler l'état initial.
Copié !
cas mySession sessopts=(caslib=casuser);\nlibname mycas cas sessref=mySession;\ndata mycas.PROJET_FINANCE_2025;\n length ID_PROJET $10;\n input ID_PROJET $ MONTANT_EUROS;\n datalines;\nPRJ-001 150000\nPRJ-002 275000\n;\nrun;\ncas mySession terminate;
1
cas mySession sessopts=(caslib=casuser);
2
LIBNAME mycas cas sessref=mySession;
3
DATA mycas.PROJET_FINANCE_2025;
4
LENGTH ID_PROJET $10;
5
INPUT ID_PROJET $ MONTANT_EUROS;
6
DATALINES;
7
PRJ-001150000
8
PRJ-002275000
9
;
10
RUN;
11
cas mySession terminate;
Étapes de réalisation
1
L'administrateur se connecte et tente d'abord de lister les tables de 'datascientist01' sans droits. Cette étape doit échouer.
Copié !
proc cas;\n table.tableInfo / caslib='CASUSER(datascientist01)';\nrun;\n/* Attendu : Erreur dans le log indiquant que la caslib n'est pas accessible */
L'administrateur réussit à lister puis à copier la table 'PROJET_FINANCE_2025' de la caslib personnelle de 'datascientist01' vers la caslib 'Public'. L'étape 1 échoue comme prévu, tandis que les étapes 3 et 4 réussissent, validant l'octroi des permissions par l'action.