checkOutObject
Description
L'action accessControl.checkOutObject est le mécanisme de réservation de SAS Viya pour la gestion de la sécurité. Elle permet de poser un verrou (exclusif ou partagé) sur un objet comme 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., une table ou même une colonne spécifique. En extrayant un objet, vous garantissez que votre sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. est la seule habilitée à préparer des modifications de permissionsRègles d'accès définissant les actions autorisées (Lire, Écrire, Supprimer, etc.) d'un utilisateur ou groupe sur un objet ou une donnée via le service d'autorisation de SAS Viya. durant une transactionUnité de travail logique regroupant une ou plusieurs opérations. Elle garantit l'intégrité des données en validant (commit) ou annulant (rollback) l'ensemble des modifications de manière atomique.. C'est un peu comme réserver une salle de réunion : personne d'autre ne peut y entrer pour changer la décoration tant que vous n'avez pas rendu les clés (ou commis vos changements).
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| checkoutParent | Booléen. Si l'objet que vous tentez d'extraire n'existe pas encore, cette option permet de remonter automatiquement d'un niveau et de verrouiller l'objet parent à la place. |
| checkOutType | Définit le mode de verrouillage : 'EXCLUSIVE' (par défaut) interdit toute autre modification par d'autres sessions, tandis que 'SHARED' empêche simplement les autres sessions de prendre un verrou exclusif sur cet objet ou ses parents. |
| ObjectSelector | Un dictionnaire complexe spécifiant le type d'objet (objType) et ses identifiants techniques (nom de la table, de la caslib, etc.). |
Préparation des données
Création d'une table de test
Génération d'une table simple dans la caslib CASUSER pour illustrer l'extraction.
| 1 | DATA casuser.table_test; DO id=1 to 10; score=ranuni(1); OUTPUT; END; RUN; PROC CAS; TABLE.promote / name="table_test", caslib="casuser"; RUN; |
Exemples d'utilisation
Extraction exclusive d'une table
Cet exemple verrouille une table de manière exclusive pour préparer une modification de droits d'accès.
| 1 | PROC CAS; ACCESSCONTROL.checkOutObject / ObjectSelector={objType="TABLE", caslib="casuser", TABLE="table_test"}; RUN; |
Résultat Attendu :
Extraction partagée au niveau d'une colonne avec option parent
Exemple avancé utilisant un verrou partagé sur une colonne spécifique et activant la remontée au parent si nécessaire.
| 1 | PROC CAS; ACCESSCONTROL.checkOutObject / checkoutParent=true, checkOutType="SHARED", ObjectSelector={objType="COLUMN", caslib="casuser", TABLE="table_test", column="score"}; RUN; |
Résultat Attendu :
Extraction d'une Caslib entière
Permet de geler les métadonnées de sécurité au niveau de la bibliothèque pour une révision globale.
| 1 | PROC CAS; ACCESSCONTROL.checkOutObject / ObjectSelector={objType="CASLIB", caslib="public"}; RUN; |