accessControl

isAuthorizedActions

##admin ##set_accesscontrol ##security

Description

Cette action permet de vérifier si l'utilisateur actuel possède les autorisations nécessaires pour interagir avec une ou plusieurs actions d'un ensemble d'actions (Action SetGemini said

Groupe logique de fonctionnalités CAS (Cloud Analytic Services) contenant des actions spécifiques (statistiques, data mining, etc.) pour traiter les données en mémoire de manière optimisée.
) dans CAS. C'est l'outil parfait pour contrôler préventivement vos droits et éviter qu'un long script ne s'interrompe brutalement en cours de route ! (Une petite astuce : si ça retourne false, c'est l'heure d'offrir un café à votre administrateur SAS ☕). Pour plus de détails techniques, consultez la %%documentation SAS .

Syntaxe Officielle
proc cas;
accessControl.isAuthorizedActions result=r status=rc /
actionSet="nom_action_set"
permission="EXECUTE" /* ou MANAGEACCESS, READINFO */
actions={"action1", "action2"};
run;
quit;

Paramètres Clés

Nom du paramètre Description
actionSet Spécifie le nom de l'ensemble d'actions (Action Set) à évaluer. (Requis)
permission Définit le type de permission à tester. Peut être 'EXECUTE' (par défaut, pour vérifier si vous pouvez lancer l'action), 'MANAGEACCESS' (gérer les accès) ou 'READINFO' (voir l'objet). (Requis)
actions Liste d'une ou plusieurs chaînes de caractères représentant les actions spécifiques à tester au sein de l'Action Set. (Optionnel)

Préparation des données

Préparation de l'environnement

Cette action vérifie des métadonnées système et ne requiert pas de charger une table de données au préalable. On s'assure juste d'avoir une session CAS.

1/* Démarrage de la session CAS */
2cas mysess;
3caslib _all_ assign;

Exemples d'utilisation

Vérifier le droit d'exécution d'une action

Ce code vérifie si vous êtes autorisé à exécuter l'action 'loadTable' de l'Action Set 'table'. Le résultat est stocké et affiché.

1PROC CAS;
2 ACCESSCONTROL.isAuthorizedActions RESULT=authRes /
3 actionSet="table"
4 actions={"loadTable"}
5 permission="EXECUTE";
6 PRINT authRes;
7RUN;
8QUIT;
Résultat Attendu :
Le log affichera un dictionnaire avec la clé 'loadTable' valant 1 (vrai/autorisé) ou 0 (faux/refusé).
Vérification multiple et affichage conditionnel

Ici, nous vérifions d'un seul coup les droits sur plusieurs actions ('loadTable', 'promote', 'dropTable'). Nous utilisons ensuite une boucle pour parcourir le dictionnaire de résultats et afficher un rapport compréhensible. L'omission du paramètre 'permission' applique implicitement 'EXECUTE'.

1PROC CAS;
2 ACCESSCONTROL.isAuthorizedActions RESULT=r /
3 actionSet="table"
4 actions={"loadTable", "promote", "dropTable"};
5 PRINT "--- Rapport des autorisations ---";
6 DO action_name, is_auth in dictionary(r);
7 IF is_auth == 1 THEN
8 PRINT "✅ Vous avez le droit d'utiliser : " || action_name;
9 else
10 print "❌ Accès refusé pour : " || action_name;
11 END;
12RUN;
13QUIT;
Résultat Attendu :
Affiche dans le log SAS Studio une liste claire avec des icônes de validation ou de refus pour chaque action testée, permettant un audit rapide de vos droits actuels.