Ermöglicht einer Sitzung, vorübergehend eine administrative Rolle wie Superuser, Daten- oder Aktionsadministrator zu übernehmen, um Operationen mit erweiterten Berechtigungen durchzuführen. Dies ist entscheidend für administrative Aufgaben, die über die Standardberechtigungen eines Benutzers hinausgehen.
| Parameter | Beschreibung |
|---|---|
| adminRole | Gibt die zu übernehmende administrative Rolle an. |
| ACTION | Gewährt uneingeschränkten (berechtigungsfreien) Zugriff auf Aktionssätze und Aktionen. |
| DATA | Gewährt uneingeschränkten (berechtigungsfreien) Zugriff auf Caslib-, Tabellen- und Spaltendefinitionen, einschließlich der Möglichkeit, Caslibs hinzuzufügen. |
| SUPERUSER | Bietet die Privilegien der Aktions- und Datenrollen sowie die Möglichkeit, Rollen und Pfade zu verwalten. Dies ist die umfassendste Rolle. |
Die Aktion `assumeRole` erstellt keine Daten. Sie wird verwendet, um Berechtigungen zu erhöhen, oft bevor Datenverwaltungs- oder Analyseaktionen ausgeführt werden, die erweiterte Zugriffsrechte erfordern.
| 1 | /* Für diese Aktion ist keine Datenerstellung erforderlich. Sie wird verwendet, um Berechtigungen für nachfolgende Schritte zu ändern. */ |
Dieses Beispiel zeigt, wie man die Rolle des Superusers in einer CAS-Sitzung übernimmt. Dies ist eine häufige Voraussetzung für administrative Aufgaben.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.assumeRole / adminRole="SUPERUSER"; |
| 4 | |
| 5 | RUN; |
| 6 |
In diesem Szenario muss ein Administrator eine neue globale Caslib hinzufügen, was Superuser-Rechte erfordert. Die Aktion `assumeRole` wird verwendet, um diese Rechte temporär zu erlangen, die Caslib hinzuzufügen und dann die ursprünglichen Rechte durch Beenden der Sitzung wiederherzustellen.
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | SESSION casauto; |
| 5 | /* Übernahme der Superuser-Rolle zur Durchführung administrativer Aufgaben */ ACCESSCONTROL.assumeRole / adminRole="SUPERUSER"; |
| 6 | /* Hinzufügen einer neuen globalen Caslib (erfordert Superuser-Rechte) */ TABLE.addCaslib / name="new_global_caslib" dataSource={srcType="PATH"} path="/path/to/shared/ |
| 7 | data" |
| 8 | SESSION=false; |
| 9 | /* ' |
| 10 | session=false' macht die Caslib global */ /* Überprüfung, ob die Caslib hinzugefügt wurde */ TABLE.caslibInfo / caslib="new_global_caslib"; |
| 11 | /* Beenden der Sitzung, um die Superuser-Rolle aufzugeben */ endSession; |
| 12 | |
| 13 | RUN; |
| 14 |
Ein Datenadministrator muss eine neue, für alle Analysten zugängliche globale Caslib erstellen. Diese Caslib wird die Quelldaten für eine neue Marketingkampagne enthalten. Diese...
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 di...
Im Rahmen eines nächtlichen Wartungs-Jobs muss ein Skript alle temporären Sitzungs-Caslibs bereinigen, die von Benutzern während des Tages erstellt wurden und nicht mehr aktiv s...