accessControl assumeRole

Cas Limite : Tentative d'accès aux données après installation d'un nouvel Action Set

Scénario de test & Cas d'usage

Contexte Métier

Un Data Scientist a développé un nouvel ensemble d'actions d'analyse prédictive. Il doit l'installer sur le serveur CAS pour le rendre disponible. Cependant, pour des raisons de confidentialité, il ne doit en aucun cas pouvoir accéder aux données sensibles des ressources humaines, même en ayant des privilèges élevés pour gérer les actions.
À propos du Set : accessControl

Gestion des droits d'accès et de la sécurité des données.

Découvrir toutes les actions de accessControl
Préparation des Données

Aucune préparation de données n'est exécutée par l'utilisateur. On suppose qu'une caslib 'HumanResources' contenant une table 'SALAIRES_CONFIDENTIELS' existe et est hautement restreinte.

Copié !
1/* Pré-requis (exécuté par un Super-Utilisateur) :
2proc cas;
3 table.addCaslib / caslib='HumanResources' dataSource={srcType='PATH'} path='/path/to/hr_data/';
4 table.loadTable / caslib='HumanResources' path='salaires.sashdat' casOut={name='SALAIRES_CONFIDENTIELS', caslib='HumanResources'};
5 accessControl.addAcs / table={caslib='HumanResources', name='SALAIRES_CONFIDENTIELS'} principals={'public'} grant='NONE';
6run; */

Étapes de réalisation

1
L'utilisateur endosse le rôle 'ACTION' pour obtenir les privilèges nécessaires à l'installation de nouveaux ensembles d'actions.
Copié !
1 
2PROC CAS;
3ACCESSCONTROL.assumeRole / adminRole='ACTION';
4RUN;
5 
2
Installation d'un nouvel ensemble d'actions personnalisé 'customAnalytics.acst' depuis un chemin partagé.
Copié !
1PROC CAS;
2 BUILTINS.addRoutines /
3 from='/path/to/actionsets/customAnalytics.acst';
4RUN;
3
Tentative de lecture de la table confidentielle. Cette étape doit échouer et générer une erreur d'autorisation.
Copié !
1PROC CAS;
2 TABLE.fetch /
3 TABLE={caslib='HumanResources', name='SALAIRES_CONFIDENTIELS'};
4RUN;

Résultat Attendu


L'utilisateur réussit à installer le nouvel ensemble d'actions grâce au rôle 'ACTION'. Cependant, la tentative de lecture de la table 'SALAIRES_CONFIDENTIELS' échoue avec un message d'erreur lié aux permissions. Ce scénario valide que le rôle 'ACTION' est bien limité à la gestion des actions et ne donne aucun droit sur les données, démontrant la ségrégation des privilèges.