Le risque majeur est l'élévation involontaire de privilèges. Si votre sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle. reste active avec le rôle SUPERUSERRôle d'administration CAS disposant de privilèges illimités sur un serveur. Il peut gérer les sessions, les nœuds et toutes les données, indépendamment des permissions d'accès standards., toute instruction lancée, même par inadvertance, sera exécutée avec des droits totaux, contournant les protections habituelles. L'utilisation systématique de dropRole après une intervention technique garantit que vos opérations quotidiennes de Data Science se déroulent dans un cadre sécurisé et auditable.
Hygiène IT : quel est le danger caché de conserver ses privilèges d'administrateur ?
Le risque de la "Session Omnipotente"
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
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
/* CASL Script : Gestion sécurisée du rôle Superuser
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
/* 1. Vérification du statut actuel des rôles */
accessControl.isAuthorized /
accessControl={role="superuser"};
run;
/* 2. Élévation temporaire pour une tâche d'administration spécifique */
/* Exemple : Lister toutes les caslibs du serveur, même cachées */
accessControl.assumeRole / role="superuser";
table.caslibInfo / verbose=true;
run;
/* 3. HYGIÈNE IT : Libération immédiate des privilèges */
accessControl.dropRole / role="superuser";
print "INFO: Rôle Superuser abandonné. Retour au mode de protection standard.";
/* 4. Vérification de sécurité post-intervention */
accessControl.isAuthorized result=rc /
accessControl={role="superuser"};
if (rc.authorized == 0) then
print "SUCCESS: La session est désormais sécurisée.";
else
print "WARNING: Le privilège est encore actif !";
run;
quit;
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
/* 1. Vérification du statut actuel des rôles */
accessControl.isAuthorized /
accessControl={role="superuser"};
run;
/* 2. Élévation temporaire pour une tâche d'administration spécifique */
/* Exemple : Lister toutes les caslibs du serveur, même cachées */
accessControl.assumeRole / role="superuser";
table.caslibInfo / verbose=true;
run;
/* 3. HYGIÈNE IT : Libération immédiate des privilèges */
accessControl.dropRole / role="superuser";
print "INFO: Rôle Superuser abandonné. Retour au mode de protection standard.";
/* 4. Vérification de sécurité post-intervention */
accessControl.isAuthorized result=rc /
accessControl={role="superuser"};
if (rc.authorized == 0) then
print "SUCCESS: La session est désormais sécurisée.";
else
print "WARNING: Le privilège est encore actif !";
run;
quit;
Exemples pour l'action dropRole
Abandon du rôle Superuser par défaut
Cet exemple montre comment renoncer simplement au rôle Superuser, qui est la valeur appliquée par défaut si le paramètre adminRole n'est pas spécifié.
Abandon d'un rôle d'accès spécifique (DATA)
Si vous aviez temporairement pris le rôle DATA spécifiquement pour manipuler ou créer des Caslibs sans être bloqué par les permissions, voici comment le rendre proprement de manière ciblée.
