isAuthorizedActions
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 .
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 */ |
| 2 | cas mysess; |
| 3 | caslib _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é.
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.isAuthorizedActions RESULT=authRes / |
| 3 | actionSet="table" |
| 4 | actions={"loadTable"} |
| 5 | permission="EXECUTE"; |
| 6 | PRINT authRes; |
| 7 | RUN; |
| 8 | QUIT; |
Résultat Attendu :
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'.
| 1 | PROC 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; |
| 12 | RUN; |
| 13 | QUIT; |