accessControl

isAuthorized

##caslib ##set_accesscontrol ##security

Description

Cette action permet de vérifier si l'accès à un objet spécifique (comme une table, une caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. ou une action) est autorisé pour l'utilisateur. C'est un peu le videur à l'entrée de votre club de données, qui vérifie si vous êtes sur la liste VIP avant de vous laisser passer ! Vous pouvez spécifier le type d'objet et le niveau de permission requis pour obtenir une réponse claire et agir en conséquence dans vos scripts.

Syntaxe Officielle
proc cas;
accessControl.isAuthorized <result=results> <status=rc> /
action="string"
actionSet="string"
caslib="string"
column="string"
objType="ACTION" | "ACTIONSET" | "ADMIN" | "CASLIB" | "COLUMN" | "TABLE"
permission="ALTERCASLIB" | "ALTERTABLE" | "CREATETABLE" | "DELETE" | "DELETESOURCE" | "DROPTABLE" | "EXECUTE" | "INSERT" | "LIMITEDPROMOTE" | "LOAD" | "MANAGEACCESS" | "PROMOTE" | "READINFO" | "SELECT" | "UPDATE"
table="string";
run;
quit;

Paramètres Clés

Nom du paramètre Description
action Spécifie le nom de l'action à vérifier.
actionSet Spécifie le nom de l'ensemble d'actions (action set).
caslib Spécifie le nom de la bibliothèque CAS (caslib).
column Spécifie le nom de la colonne à vérifier.
objType (Requis) Détermine le type d'objet pour lequel vous souhaitez vérifier l'autorisation d'accès. Valeurs possibles : ACTION, ACTIONSET, ADMIN, CASLIB, COLUMN, TABLE.
permission (Requis) Spécifie le type de permission à vérifier (ex: SELECT, UPDATE, EXECUTE).
table Spécifie le nom de la table cible.

Préparation des données

Préparation de l'environnement de test

Pour illustrer cette action, nous allons simplement assigner les caslibs de base. Pas besoin de créer une table complexe, l'action isAuthorized interroge directement les métadonnées de sécurité de l'environnement.

1PROC CAS;
2 SESSION casauto;
3 caslib _all_ assign;
4RUN;
5QUIT;

Exemples d'utilisation

Vérifier l'accès en lecture à une Caslib

Ce code simple permet de savoir si l'utilisateur actuel a le droit de lire le contenu (SELECT) de la caslib 'Public'.

1PROC CAS;
2 ACCESSCONTROL.isAuthorized /
3 objType="CASLIB"
4 caslib="Public"
5 permission="SELECT";
6RUN;
7QUIT;
Résultat Attendu :
L'action renvoie un dictionnaire contenant un indicateur booléen (1 pour vrai, 0 pour faux) précisant si la permission SELECT est accordée pour la caslib spécifiée.
Vérifier la permission de suppression sur une table spécifique

Vérification précise pour savoir si vous pouvez supprimer des enregistrements dans une table cible, avec récupération du résultat dans une variable pour un traitement conditionnel ultérieur.

1PROC CAS;
2 ACCESSCONTROL.isAuthorized RESULT=res STATUS=rc /
3 objType="TABLE"
4 caslib="Public"
5 TABLE="cars"
6 permission="DELETE";
7 PRINT "Autorisation accordée ? " res.authorized;
8RUN;
9QUIT;
Résultat Attendu :
Le journal (log) affichera 1 (vrai) ou 0 (faux) selon si l'utilisateur possède la permission DELETE sur la table 'cars'. Parfait pour s'assurer d'avoir les droits avant de lancer une procédure de nettoyage destructrice !