Veröffentlicht am :
Administration CREATION_INTERNE

CAS-Superuser-Benennung

Dieser Code ist auch verfügbar auf: English Español Français
Attention : Dieser Code erfordert Administratorrechte.
Der CAS-Aktionssatz 'Access Control' ermöglicht die Verwaltung von Zugriffsrechten auf CAS-Ressourcen, einschließlich Caslibs, Tabellen und Aktionen. Die Benennung eines Superusers beinhaltet in der Regel die Zuweisung vordefinierter Rollen oder Gruppen (wie 'CASHostAccountRequired' für den direkten Host-Zugriff oder Rollen mit erweiterten Fähigkeiten), die vollständige administrative Privilegien auf dem CAS-Server verleihen. Obwohl die vollständige Verwaltung von Identitäten und Rollen oft über den SAS© Environment Manager erfolgt, können spezifische CASL-Aktionen verwendet werden, um bestimmte Aspekte der Zugriffskontrollen zu überprüfen und zu ändern und um vorübergehend privilegierte Rollen zu übernehmen, wenn der Benutzer dazu bereits berechtigt ist.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden fiktive Identitäten und Caslibs zu Demonstrationszwecken oder standardmäßig vorhandene Caslibs wie 'CASUSER'.

1 Codeblock
PROC CAS
Erklärung :
Dieser Code verwendet die Aktion `access.showRolesIn`, um alle Rollen und Mitglieder dieser Rollen (oder für den aktuellen Benutzer mit `target='_SELF_'`) aufzulisten, denen der Code ausführende Benutzer angehört. Dies ist ein grundlegender Schritt, um die aktuellen Berechtigungen zu verstehen.
Kopiert!
1/* Exemple 1: Vérification des rôles CAS de l'utilisateur */
2/* Cet exemple montre comment un utilisateur peut lister les rôles auxquels il appartient dans une session CAS. */
3 
4PROC CAS;
5 ACTION access.showRolesIn / target='_SELF_';
6 RUN;
7QUIT;
8 
9/* Explication: L'action access.showRolesIn avec target='_SELF_' permet à l'utilisateur de voir
10 les rôles qui lui sont attribués, y compris les rôles privilégiés si présents dans son contexte. */
2 Codeblock
PROC CAS
Erklärung :
Dieses Beispiel verwendet die Aktion `access.addGrant`, um einem Benutzer (`sasdemo`) erweiterte Berechtigungen (Lesen, Schreiben, Löschen, Promoten und Zugriffsverwaltung) für eine bestimmte Caslib (`mytestcaslib`) zuzuweisen. Es beinhaltet auch die Erstellung einer temporären Caslib und die Überprüfung der Berechtigungen nach der Erteilung. Dies simuliert einen Teil der Privilegien, die ein Superuser haben könnte.
Kopiert!
1/* Exemple 2: Octroi de privilèges de gestion de caslib à un utilisateur */
2/* Cet exemple simule l'octroi de droits étendus à un utilisateur sur une caslib spécifique. */
3/* NOTE: La création de caslibs et la gestion des identités est souvent faite via SAS Environment Manager.
4 Cet exemple utilise des actions génériques d'accès pour simuler l'octroi de droits. */
5 
6PROC CAS;
7 /* Créer une caslib temporaire pour la démonstration (si elle n'existe pas) */
8 ACTION caslib.addCaslib /
9 caslib='mytestcaslib'
10 dataSource={srctype='path', path='/tmp/mytestcaslib'}
11 subdirs=true;
12 RUN;
13 
14 /* Octroyer à l'utilisateur 'sasdemo' des droits de lecture et d'écriture sur 'mytestcaslib' */
15 /* (Remplacer 'sasdemo' par un nom d'utilisateur existant et 'mytestcaslib' par une caslib valide) */
16 ACTION access.addGrant /
17 caslib='mytestcaslib'
18 identity='sasdemo'
19 identityType='user'
20 permissions={'read', 'write', 'delete', 'promote', 'manageAccess'}
21 target='mytestcaslib';
22 RUN;
23 
24 /* Afficher les permissions de la caslib pour vérifier */
25 ACTION access.listAcsCaslib /
26 caslib='mytestcaslib';
27 RUN;
28QUIT;
29 
30/* Explication: Cette action accorde des permissions étendues (lecture, écriture, suppression,
31 promotion, gestion des accès) à l'utilisateur 'sasdemo' sur la caslib 'mytestcaslib'.
32 Pour désigner un 'superuser' complet, des permissions sur toutes les ressources
33 et des rôles spécifiques (ex: CASHostAccountRequired) seraient nécessaires,
34 souvent gérés par SAS Environment Manager. */
3 Codeblock
PROC CAS
Erklärung :
Dieser Code widerruft die Berechtigung 'manageAccess' für den Benutzer 'sasdemo' auf der Caslib 'mytestcaslib' mithilfe der Aktion `access.deleteGrant`. Anschließend werden die verbleibenden Zugriffskontrollen für diese Caslib aufgelistet, um den Widerruf zu überprüfen, und danach die im vorherigen Beispiel erstellte temporäre Caslib gelöscht.
Kopiert!
1/* Exemple 3: Révoquer des privilèges spécifiques et lister les contrôles d'accès */
2/* Cet exemple montre comment révoquer des permissions spécifiques et vérifier les accès restants. */
3 
4PROC CAS;
5 /* Révoquer la permission 'manageAccess' pour 'sasdemo' sur 'mytestcaslib' */
6 ACTION access.deleteGrant /
7 caslib='mytestcaslib'
8 identity='sasdemo'
9 identityType='user'
10 permissions={'manageAccess'}
11 target='mytestcaslib';
12 RUN;
13 
14 /* Lister tous les contrôles d'accès pour la caslib 'mytestcaslib' après la révocation */
15 ACTION access.listAcsCaslib /
16 caslib='mytestcaslib';
17 RUN;
18 
19 /* Supprimer la caslib temporaire */
20 ACTION caslib.dropCaslib / caslib='mytestcaslib';
21 RUN;
22QUIT;
23 
24/* Explication: L'action access.deleteGrant retire les permissions spécifiées.
25 L'action access.listAcsCaslib permet de vérifier les contrôles d'accès définis pour une caslib. */
4 Codeblock
PROC CAS
Erklärung :
Dieses Beispiel demonstriert die Verwendung von `access.assumeRole`, um temporär Privilegien zu erhalten, die mit der Rolle 'CASHostAccountRequired' verbunden sind. Nachdem eine Aufgabe ausgeführt wurde, die diese Privilegien erfordert (wie `caslib.listCaslibs`, um alle Caslibs anzuzeigen), wird `access.dropRole` verwendet, um zu den ursprünglichen Berechtigungen des Benutzers zurückzukehren. Dies veranschaulicht die temporäre Verwaltung von Superuser-Privilegien in CAS.
Kopiert!
1/* Exemple 4: Assumer temporairement un rôle de superutilisateur (si autorisé) */
2/* Cet exemple montre comment un utilisateur déjà configuré avec la capacité
3 d'assumer un rôle de superutilisateur peut le faire temporairement,
4 exécuter des tâches administratives, puis le relâcher. */
5/* NOTE: L'utilisateur exécutant ce code doit avoir la capacité d'assumer le rôle
6 'CASHostAccountRequired' (souvent configuré via SAS Environment Manager). */
7 
8PROC CAS;
9 /* Assumer temporairement le rôle 'CASHostAccountRequired' */
10 ACTION access.assumeRole / role='CASHostAccountRequired';
11 RUN;
12 
13 /* Exécuter des actions nécessitant des privilèges élevés */
14 /* Par exemple, lister toutes les caslibs du serveur (incluant celles qui seraient normalement masquées) */
15 ACTION caslib.listCaslibs;
16 RUN;
17 
18 /* Relâcher le rôle assumé pour revenir aux privilèges précédents */
19 ACTION access.dropRole;
20 RUN;
21 
22 /* Vérifier que le rôle a été relâché en listant les caslibs avec les privilèges normaux */
23 ACTION caslib.listCaslibs;
24 RUN;
25QUIT;
26 
27/* Explication: access.assumeRole permet une élévation temporaire des privilèges pour des tâches spécifiques.
28 access.dropRole permet de revenir aux privilèges d'origine. Ceci est une pratique de sécurité essentielle
29 pour limiter l'exposition aux privilèges élevés. */
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved