Veröffentlicht am :
Administration CREATION_INTERNE

Eine neue globale CAS-Bibliothek verfügbar machen

Dieser Code ist auch verfügbar auf: English Español Français
Attention : Dieser Code erfordert Administratorrechte.
Dieses CASL-Skript veranschaulicht, wie die Aktion 'updSomeAcsCaslib' aus dem Aktionssatz 'accessControl' verwendet wird, um Zugriffssteuerungen für eine globale Caslib zu definieren. Ziel ist es, einer Benutzergruppe (in diesem Beispiel 'groupA') zu ermöglichen, Informationen zu lesen und Daten in einer Caslib namens 'caslibA' auszuwählen. Es ist entscheidend, sowohl 'ReadInfo' (Lesen von Metadaten) als auch 'Select' (Lesen von Daten) für vollständigen Lesezugriff zu gewähren. Dieser Mechanismus ist unerlässlich für die Verwaltung von Berechtigungen und Datensicherheit in der SAS© Cloud Analytic Services (CAS) Umgebung.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden fiktive oder standardmäßig vorhandene Caslib- und Gruppen-/Benutzernamen in der Viya-Umgebung. Es sind keine externen Daten erforderlich, da die Manipulation Metadaten der Sicherheit betrifft.

1 Codeblock
accessControl.updSomeAcsCaslib
Erklärung :
Dieses grundlegende Beispiel zeigt, wie eine globale Caslib (hier 'myGlobalCaslib') einer Gruppe ('groupA') mit Lesezugriffsberechtigungen ('ReadInfo' und 'Select') zur Verfügung gestellt wird. Es beinhaltet die Erstellung einer fiktiven Caslib und die Überprüfung der Berechtigungen nach der Zuweisung.
Kopiert!
1/* Établir une session CAS si ce n'est pas déjà fait */
2cas casauto;
3 
4/* Définir une caslib globale si elle n'existe pas */
5/* Remplacez 'myGlobalCaslib' par le nom de votre caslib et le chemin si nécessaire */
6PROC CASUTIL;
7 addcaslib caslib='myGlobalCaslib' path='/cas/data/myGlobalCaslib' sessref=casauto;
8QUIT;
9 
10/* Octroyer les permissions ReadInfo et Select au groupe 'groupA' sur 'myGlobalCaslib' */
11ACCESSCONTROL.updSomeAcsCaslib /
12 acs={
13 {caslib="myGlobalCaslib",
14 identity="groupA",
15 identityType="Group",
16 permType="Grant",
17 permission="ReadInfo"},
18 {caslib="myGlobalCaslib",
19 identity="groupA",
20 identityType="Group",
21 permType="Grant",
22 permission="Select"}
23 };
24RUN;
25 
26/* Vérifier les contrôles d'accès de la caslib */
27ACCESSCONTROL.viewCaslibAcs / caslib="myGlobalCaslib";
28RUN;
2 Codeblock
accessControl.updSomeAcsCaslib
Erklärung :
Dieses Zwischenbeispiel gewährt einem bestimmten Benutzer ('userB') die 'Write'-Berechtigung (Schreibzugriff) für eine vorhandene Caslib ('existingCaslib'). Die Überprüfung der Berechtigungen bestätigt die Anwendung der Änderungen.
Kopiert!
1/* Établir une session CAS si ce n'est pas déjà fait */
2cas casauto;
3 
4/* Supposons que 'existingCaslib' existe */
5/* Octroyer la permission Write à l'utilisateur 'userB' sur 'existingCaslib' */
6ACCESSCONTROL.updSomeAcsCaslib /
7 acs={
8 {caslib="existingCaslib",
9 identity="userB",
10 identityType="User",
11 permType="Grant",
12 permission="Write"}
13 };
14RUN;
15 
16/* Vérifier les contrôles d'accès de la caslib 'existingCaslib' */
17ACCESSCONTROL.viewCaslibAcs / caslib="existingCaslib";
18RUN;
3 Codeblock
accessControl.updSomeAcsCaslib
Erklärung :
Dieses erweiterte Beispiel zeigt, wie mehrere Berechtigungen (ReadInfo, Select, Write, Delete) einer Gruppe ('groupA') für eine Caslib ('myGlobalCaslib') explizit widerrufen werden. Dies ist nützlich, um zuvor gewährte Zugriffe zu entfernen.
Kopiert!
1/* Établir une session CAS si ce n'est pas déjà fait */
2cas casauto;
3 
4/* Révoquer toutes les permissions du groupe 'groupA' sur 'myGlobalCaslib' */
5ACCESSCONTROL.updSomeAcsCaslib /
6 acs={
7 {caslib="myGlobalCaslib",
8 identity="groupA",
9 identityType="Group",
10 permType="Revoke",
11 permission="ReadInfo"},
12 {caslib="myGlobalCaslib",
13 identity="groupA",
14 identityType="Group",
15 permType="Revoke",
16 permission="Select"},
17 {caslib="myGlobalCaslib",
18 identity="groupA",
19 identityType="Group",
20 permType="Revoke",
21 permission="Write"},
22 {caslib="myGlobalCaslib",
23 identity="groupA",
24 identityType="Group",
25 permType="Revoke",
26 permission="Delete"}
27 };
28RUN;
29 
30/* Vérifier que le groupe 'groupA' n'a plus de permissions explicites sur 'myGlobalCaslib' */
31ACCESSCONTROL.viewCaslibAcs / caslib="myGlobalCaslib";
32RUN;
4 Codeblock
accessControl.updSomeAcsCaslib, session.addCaslib
Erklärung :
Dieses Viya/CAS-orientierte Beispiel veranschaulicht die Erstellung einer temporären Caslib ('tempCaslib') innerhalb der aktiven CAS-Sitzung, gefolgt von der Anwendung von Standard-Zugriffssteuerungen, die der Gruppe 'public' Leseberechtigungen ('ReadInfo' und 'Select') gewähren. Die Bereinigung der Caslib am Ende der Sitzung ist ebenfalls enthalten.
Kopiert!
1/* Établir une session CAS si ce n'est pas déjà fait */
2cas casauto;
3 
4/* Créer une caslib temporaire 'tempCaslib' pour la session actuelle */
5SESSION.addCaslib / caslib='tempCaslib' active=true;
6RUN;
7 
8/* Définir des permissions par défaut sur 'tempCaslib' : octroyer ReadInfo/Select à 'public' */
9ACCESSCONTROL.updSomeAcsCaslib /
10 acs={
11 {caslib="tempCaslib",
12 identity="public",
13 identityType="Group",
14 permType="Grant",
15 permission="ReadInfo"},
16 {caslib="tempCaslib",
17 identity="public",
18 identityType="Group",
19 permType="Grant",
20 permission="Select"}
21 };
22RUN;
23 
24/* Vérifier les contrôles d'accès de la caslib temporaire */
25ACCESSCONTROL.viewCaslibAcs / caslib="tempCaslib";
26RUN;
27 
28/* Nettoyage : retirer la caslib temporaire à la fin de la session */
29SESSION.dropCaslib / caslib='tempCaslib';
30RUN;
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.