accessControl accessPersonalCaslibs

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.

Découvrir toutes les actions de accessControl
Préparation 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é !
1cas mySession sessopts=(caslib=casuser);
2LIBNAME mycas cas sessref=mySession;
3DATA mycas.PROJET_FINANCE_2025;
4 LENGTH ID_PROJET $10;
5 INPUT ID_PROJET $ MONTANT_EUROS;
6 DATALINES;
7PRJ-001 150000
8PRJ-002 275000
9;
10RUN;
11cas 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é !
1PROC CAS;
2 TABLE.tableInfo / caslib='CASUSER(datascientist01)';
3RUN;
4/* Attendu : Erreur dans le log indiquant que la caslib n'est pas accessible */
2
L'administrateur exécute l'action 'accessPersonalCaslibs' pour obtenir les privilèges nécessaires.
Copié !
1PROC CAS;
2 ACCESSCONTROL.accessPersonalCaslibs RESULT=r;
3 PRINT r;
4RUN;
3
L'administrateur réessaye de lister les tables, ce qui doit maintenant réussir.
Copié !
1PROC CAS;
2 TABLE.tableInfo RESULT=r_info / caslib='CASUSER(datascientist01)';
3 PRINT r_info;
4RUN;
4
L'administrateur sauvegarde la table en la promouvant vers une caslib partagée ('Public').
Copié !
1 
2PROC CAS;
3TABLE.promote / name='PROJET_FINANCE_2025', caslib='CASUSER(datascientist01)', target='PROJET_FINANCE_2025_BACKUP', targetCaslib='Public';
4RUN;
5 

Résultat Attendu


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.