builtins

isAuthorizedColumns

##set_builtins ##admin

Description

L'action isAuthorizedColumns est votre détective privé personnel dans SAS Viya. Elle vous permet de vérifier en amont si un accès est autorisé sur des colonnes spécifiques d'une table CAS. Fini les erreurs surprises 'Accès refusé' en plein milieu d'un traitement critique (on l'a tous vécu...) ! Vous pouvez tester différents types de permissions, allant de la simple lecture aux droits d'administration. Consultez la pour plus de magie technique.

Syntaxe Officielle
accessControl.isAuthorizedColumns <result=results> <status=rc> /
caslib="string",
columns={"string-1" <, "string-2", ...>},
permission="MANAGEACCESS" | "READINFO" | "SELECT",
table="string";

Paramètres Clés

Nom du paramètre Description
caslib Spécifie le nom de la caslib contenant la table à analyser. Paramètre obligatoire.
columns Spécifie une liste d'une ou plusieurs colonnes dont vous souhaitez vérifier l'autorisation. Ex: {'col1', 'col2'}.
permission Spécifie le type de permission à tester. La valeur par défaut est 'SELECT' (lecture des données). Autres valeurs possibles : 'READINFO' (voir la colonne) et 'MANAGEACCESS' (gérer les accès de la colonne). Paramètre obligatoire.
table Spécifie le nom exact de la table contenant les colonnes. Paramètre obligatoire.

Préparation des données

Chargement d'une table de test

Chargeons la célèbre table SASHELP.CARS dans notre espace CASUSER pour faire nos vérifications d'accès aux colonnes.

1PROC CASUTIL; load DATA=sashelp.cars casout='cars' caslib='casuser' replace; QUIT;

Exemples d'utilisation

Vérification basique des droits de lecture (SELECT)

Vérifie si vous avez le droit de lire les données des colonnes Make et Model de la table Cars.

1PROC CAS; ACCESSCONTROL.isAuthorizedColumns RESULT=r / caslib='casuser' TABLE='cars' columns={'Make', 'Model'} permission='SELECT'; PRINT r; RUN; QUIT;
Résultat Attendu :
Affiche un résultat (result table) indiquant pour chaque colonne spécifiée un état d'autorisation, par exemple 'Authorized'.
Vérification des droits d'administration (MANAGEACCESS) avec récupération du statut

Cet exemple vérifie si l'utilisateur actuel a la permission de modifier les contrôles d'accès sur des colonnes spécifiques (MSRP et Invoice) et stocke le code de retour de l'action pour une gestion d'erreur éventuelle.

1PROC CAS; ACCESSCONTROL.isAuthorizedColumns RESULT=r STATUS=rc / caslib='casuser' TABLE='cars' columns={'MSRP', 'Invoice'} permission='MANAGEACCESS'; PRINT r; PRINT 'Code de retour: ' rc.statusCode; RUN; QUIT;
Résultat Attendu :
Affiche le résultat de la vérification détaillée par colonne pour le niveau MANAGEACCESS, suivi du code de retour global (statusCode=0 si l'action s'est exécutée sans erreur technique).