Veröffentlicht am :
Verwaltung CREATION_INTERNE

Extrahieren von Benutzer-IDs aus der DefaultAuth-Domäne

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Skript initialisiert eine Verbindung zum SAS©-Metadaten-Server, indem es Optionen wie den Host (`metaserver`), den Port (`metaport`), den Benutzer (`metauser`), das Passwort (`metapass`), das Repository (`metarepository`) und das Protokoll (`metaprotocol`) konfiguriert. Anschließend wird ein temporärer Datensatz `work.users` erstellt. Mithilfe der Funktionen `metadata_getnobj` und `metadata_getattr` sucht es die Authentifizierungsdomäne 'DefaultAuth', ruft deren URI und interne ID ab. Eine `do while`-Schleife wird dann verwendet, um alle mit dieser Domäne verknüpften Login-Objekte zu durchlaufen. Für jedes gefundene Login-Objekt wird die Benutzer-ID (`UserID`) extrahiert und dem Datensatz `work.users` hinzugefügt. Der finale Datensatz behält nur die Variable `user_id` bei.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz `work.users` wird dynamisch aus den Informationen erstellt und gefüllt, die vom SAS-Metadaten-Server über die Funktionen `metadata_getnobj` und `metadata_getattr` extrahiert wurden. Es gibt keine externe Datenquelle (Datei, Datenbank) oder SASHELP-Datensatz, der direkt als Eingabe verwendet wird.

1 Codeblock
OPTIONS
Erklärung :
Dieser Block konfiguriert die Verbindungsoptionen zum SAS-Metadaten-Server. Er gibt die Serveradresse (`metaserver`), den Port (`metaport`), die Benutzeranmeldeinformationen (`metauser`, `metapass`), das Metadaten-Repository (`metarepository`) und das Kommunikationsprotokoll (`metaprotocol`) an. Diese Informationen sind wesentlich, um die Verbindung herzustellen und Metadaten abzufragen.
Kopiert!
1options
2 metaserver="<hostname>"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="<password>"
6 metarepository=Foundation
7 metaprotocol=BRIDGE;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser `DATA STEP`-Block ist für die Erstellung des Datensatzes `work.users` und dessen Befüllung mit Benutzer-IDs verantwortlich. Er deklariert und initialisiert die notwendigen Variablen. Er verwendet `metadata_getnobj`, um die Authentifizierungsdomäne 'DefaultAuth' und deren URI zu finden, und dann `metadata_getattr`, um deren ID abzurufen. Anschließend durchläuft eine `do while`-Schleife alle mit dieser Domäne verknüpften Login-Objekte. Für jedes Login wird die Benutzer-ID (`UserID`) über `metadata_getattr` extrahiert und dem Datensatz `work.users` hinzugefügt. Nur die Variable `user_id` wird im finalen Datensatz beibehalten.
Kopiert!
1DATA work.users; /* Create work.users library to house data. */
2 
3/* declare variables */
4 
5LENGTH
6 ad_uri $ 256
7 ad_id $ 256
8 login_uri $ 256
9 user_id $ 256;
10 
11/* initialize variables. */
12 
13call missing(ad_uri,ad_id,login_uri,user_id);
14keep user_id; /* only keep the user ids in the table. */
15 
16n=1;
17/* Get the URI for the DefaultAuth Authentication Domain. */
18adrc=metadata_getnobj("omsobj:AuthenticationDomain? @code_sas_json_prod_multi/libname_de.json = 'DefaultAuth'",1,ad_uri);
19rc=metadata_getattr(ad_uri,"Id",ad_id);
20 
21/* Get number of login objects that have the DefaultAuth authentication */
22/* domain associated with them, as well as the URI of the first login. */
23loginrc=metadata_getnobj("omsobj:Login?Login[Domain/AuthenticationDomain[ @Id='"||ad_id||"']",n,login_uri);
24DO while(loginrc>0);
25 /* extract the user ID from login */
26 rc=metadata_getattr(login_uri,"UserID",user_id);
27 OUTPUT;
28 n+1;
29 /* Get the URI of the next login. */
30 loginrc=metadata_getnobj("omsobj:Login?Login[Domain/AuthenticationDomain[ @Id='"||ad_id||"']",n,login_uri);
31END;
32RUN;
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 : Author: Greg Wootton Date: 08FEB2017