L'activation de l'accès administratif aux caslibs personnelles via accessPersonalCaslibsPrivilège autorisant un utilisateur à accéder aux caslibs personnelles d'autres utilisateurs dans l'environnement SAS Cloud Analytic Services (CAS) pour l'administration ou le partage. a des implications significatives. Par défaut, les caslibs CASUSERBibliothèque personnelle et temporaire dans SAS Cloud Analytic Services (CAS). Elle permet de stocker et manipuler des tables en mémoire de façon privée, sans visibilité pour les autres utilisateurs. et CASUSERHDFSCaslib personnelle persistante sur HDFS. Contrairement à CASUSER, elle permet de sauvegarder durablement des tables physiques dans votre espace utilisateur Hadoop tout en les chargeant en mémoire CAS. sont conçues pour être des espaces privés où chaque utilisateur peut charger, stocker et manipuler ses propres données en toute confidentialité. En utilisant cette action, les administrateurs obtiennent la capacité de lire, modifier ou supprimer des données dans ces caslibs, contournant ainsi les permissions standard de l'utilisateur. Il est donc impératif de n'utiliser cette action qu'en cas de nécessité absolue et de respecter les politiques de sécurité et de confidentialité de l'organisation. Une utilisation abusive pourrait entraîner des violations de données ou compromettre la confiance des utilisateurs dans la plateforme. Les administrateurs doivent être formés aux bonnes pratiques et aux procédures d'audit pour garantir la traçabilité de toutes les actions effectuées.
Quelles sont les implications de l'utilisation de accessPersonalCaslibs sur la confidentialité et la sécurité des données utilisateur ?
Équilibre entre Administration et Confidentialité
Exemple de Code Additionnel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* Bonnes pratiques : Traçabilité et journalisation avant intervention sur des données privées /
proc cas;
/ 1. Identification de l'administrateur exécutant le script */
session.sessionId result=sessInfo;
adminUser = sessInfo.userInfo.userId;
/* 2. Écriture d'un message d'audit explicite dans le journal du serveur CAS (AppLogger) /
ticketID = "INC-998877"; / Numéro du ticket justifiant l'action */
msgAudit = "ALERTE AUDIT : L'administrateur " || adminUser || " active accessPersonalCaslibs dans le cadre du ticket " || ticketID;
server.logMsg /
message=msgAudit,
level="warn"; /* Niveau d'alerte pour ressortir dans les logs de sécurité */
run;
/* 3. Élévation des privilèges avec traçabilité garantie */
sessionProp.assumeRole / adminRole="superuser";
accessControl.accessPersonalCaslibs / enable=true;
run;
/* ------------------------------------------------------------------- /
/ ACTIONS DE MAINTENANCE SUR LES DONNÉES PRIVÉES ICI /
/ Exemple : Suppression d'une table sensible d'un utilisateur /
/ ------------------------------------------------------------------- /
/ table.dropTable / caslib="CASUSER(asmith)" name="Salaires_2026_Brouillon"; */
/* 4. Fermeture des accès et restauration de la confidentialité */
accessControl.accessPersonalCaslibs / enable=false;
sessionProp.dropRole / adminRole="superuser";
run;
quit;
proc cas;
/ 1. Identification de l'administrateur exécutant le script */
session.sessionId result=sessInfo;
adminUser = sessInfo.userInfo.userId;
/* 2. Écriture d'un message d'audit explicite dans le journal du serveur CAS (AppLogger) /
ticketID = "INC-998877"; / Numéro du ticket justifiant l'action */
msgAudit = "ALERTE AUDIT : L'administrateur " || adminUser || " active accessPersonalCaslibs dans le cadre du ticket " || ticketID;
server.logMsg /
message=msgAudit,
level="warn"; /* Niveau d'alerte pour ressortir dans les logs de sécurité */
run;
/* 3. Élévation des privilèges avec traçabilité garantie */
sessionProp.assumeRole / adminRole="superuser";
accessControl.accessPersonalCaslibs / enable=true;
run;
/* ------------------------------------------------------------------- /
/ ACTIONS DE MAINTENANCE SUR LES DONNÉES PRIVÉES ICI /
/ Exemple : Suppression d'une table sensible d'un utilisateur /
/ ------------------------------------------------------------------- /
/ table.dropTable / caslib="CASUSER(asmith)" name="Salaires_2026_Brouillon"; */
/* 4. Fermeture des accès et restauration de la confidentialité */
accessControl.accessPersonalCaslibs / enable=false;
sessionProp.dropRole / adminRole="superuser";
run;
quit;
Cette réponse vous a-t-elle aidé ?
Exemples pour l'action accessPersonalCaslibs
Déverrouillage des caslibs personnelles
Découvrez cet exemple pour l'action accessPersonalCaslibs : après avoir endossé le rôle de superuser, elle lève l'isolation des caslibs CASUSER pour permettre une administration globale.
Workflow administratif complet d'investigation
Découvrez cet exemple pour l'action accessPersonalCaslibs : il détaille l'élévation via assumeRole pour auditer un caslib privé, avant de révoquer les privilèges par dropRole.