accessControl
isAuthorizedTables
##set_accesscontrol
##security
Description
Vérifie si l'accès est autorisé pour une ou plusieurs tables spécifiées. C'est idéal pour s'assurer que vous n'allez pas vous faire recaler par la sécurité en plein milieu de l'exécution de votre code !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| caslib | Spécifie le nom de la bibliothèque CAS (caslib). Ce paramètre est obligatoire. |
| permission | Spécifie le type de permission à tester. Obligatoire. La valeur par défaut est SELECT. Les autres valeurs possibles permettent de vérifier l'ajout (INSERT), la suppression (DELETE, DELETESOURCE, DROPTABLE), la modification (ALTERTABLE, UPDATE) ou d'autres droits d'accès. |
| tables | Spécifie une liste contenant le nom d'une ou de plusieurs tables pour lesquelles l'autorisation doit être vérifiée. |
Préparation des données
Création d'une table d'exemple
On crée et on charge une petite table de test dans la session CAS pour pouvoir interroger nos droits dessus.
| 1 | PROC CAS; |
| 2 | SESSION casauto; |
| 3 | TABLE.loadTable / caslib="casuser" path="cars.csv" casout={name="cars_test", replace=true}; |
| 4 | RUN; |
| 5 | QUIT; |
Exemples d'utilisation
Vérification basique des droits de lecture
Vérifie si l'utilisateur courant a la permission par défaut (SELECT) pour lire la table spécifiée. Simple, net et sans bavure.
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.isAuthorizedTables / caslib="casuser" tables={"cars_test"}; |
| 3 | RUN; |
| 4 | QUIT; |
Résultat Attendu :
Renvoie un tableau détaillant le statut d'autorisation (vrai ou faux) pour l'accès en lecture à la table 'cars_test'.
Vérifier le droit de suppression (DROPTABLE) sur de multiples tables
Vérifie si l'on est autorisé à décharger/supprimer plusieurs tables spécifiques, ce qui évite les erreurs fatales d'accès refusé en plein script de nettoyage.
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.isAuthorizedTables / caslib="casuser" permission="DROPTABLE" tables={"cars_test", "autre_table_test"}; |
| 3 | RUN; |
| 4 | QUIT; |
Résultat Attendu :
Affiche le détail des autorisations pour l'action DROPTABLE concernant chacune des tables demandées, avec une colonne indiquant le résultat de l'évaluation.