accessControl assumeRole

Grenzfall: Gewährung von Lesezugriff auf sensible Daten mit der DATA-Rolle

Scénario de test & Cas d'usage

Geschäftskontext

Ein HR-Analyst benötigt Lesezugriff auf eine Tabelle mit Mitarbeitergehältern, die standardmäßig gesperrt ist. Ein Datenadministrator muss vorübergehend die DATA-Rolle (nicht die allmächtige SUPERUSER-Rolle) übernehmen, um gezielt die Leseberechtigung für die Gruppe der HR-Analysten zu erteilen und so das Prinzip der geringsten Rechte zu wahren.
Über das Set : accessControl

Verwaltung von Zugriffsrechten und Datensicherheit.

Entdecken Sie alle Aktionen von accessControl
Datenaufbereitung

Erstellung einer sensiblen HR-Tabelle und einer öffentlichen Tabelle in einer geschützten Caslib.

Kopiert!
1cas mySession sessopts=(caslib=casuser);
2LIBNAME mycas cas sessref=mySession;
3 
4DATA mycas.hr_salaries;
5 LENGTH employee_id $10 name $50;
6 employee_id = 'E1001'; name='Schmidt'; salary=75000; OUTPUT;
7 employee_id = 'E1002'; name='Meyer'; salary=82000; OUTPUT;
8RUN;
9 
10/* Annahme: Standardmäßig hat niemand außer dem Ersteller Zugriff auf mycas.hr_salaries */

Étapes de réalisation

1
Ein Administrator übernimmt die DATA-Rolle, um Datenberechtigungen zu verwalten, ohne Aktionsberechtigungen zu erhalten.
Kopiert!
1 
2PROC CAS;
3 
4SESSION cas_admin;
5ACCESSCONTROL.assumeRole / adminRole="
6DATA";
7RUN;
8 
2
Der Administrator gewährt der Gruppe 'HR_Analysts' die SELECT-Berechtigung (Lesen) für die sensible Tabelle.
Kopiert!
1 
2PROC CAS;
3 
4SESSION cas_admin;
5ACCESSCONTROL.addControl / TABLE={name="hr_salaries", caslib="casuser"}, grant="SELECT", identityType="GROUP", identity="HR_Analysts";
6RUN;
7 
3
Simulation: Ein Benutzer in der Gruppe 'HR_Analysts' versucht nun, die Tabelle zu lesen. Dieser Schritt sollte erfolgreich sein.
Kopiert!
1/* Dieser Schritt würde in einer separaten Sitzung als HR-Analyst ausgeführt werden */
2PROC CAS; SESSION cas_analyst;
3TABLE.fetch / TABLE={name="hr_salaries", caslib="casuser"};
4RUN;

Erwartetes Ergebnis


Der Administrator kann die DATA-Rolle erfolgreich übernehmen und die Zugriffskontrolle für die Tabelle 'hr_salaries' ändern. Ein anschließender Leseversuch durch einen Benutzer der Gruppe 'HR_Analysts' (simuliert) sollte erfolgreich sein und die Daten zurückgeben. Dies validiert die spezifische Wirksamkeit der DATA-Rolle für datenbezogene administrative Aufgaben.