Publié le :

Extraction des Connexions URIs SAS Metadata

En attente de validation
Attention : Ce code nécessite des droits administrateur.
Le programme est conçu spécifiquement pour SAS© 9.4, comme indiqué dans ses commentaires, et n'est pas directement compatible avec SAS© Viya 4 en raison de l'utilisation des fonctions `metadata_getnobj` et `metadata_getattr` qui sont propres à l'architecture de métadonnées de SAS© 9.x. Il se connecte au serveur de métadonnées SAS© 9.4 pour interroger les objets de connexion TCP/IP, collecter leurs attributs dans un jeu de données temporaire (`tcpip`), trier ces informations et les afficher. Le script requiert la configuration des options `metaserver` et `metapass`.
Analyse des données

Type : EXTERNE


Les données sont extraites directement du serveur de métadonnées SAS 9.4 via les fonctions `metadata_getnobj` et `metadata_getattr`. Aucune donnée interne n'est créée directement, et SASHELP n'est pas utilisé.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP se connecte au serveur de métadonnées SAS 9.4 en utilisant les options globales `metaserver`, `metaport`, `metauser`, et `metapass`. Il interroge les objets de connexion TCP/IP via `metadata_getnobj` et récupère leurs attributs (nom, protocole, hôte, port, service) à l'aide de `metadata_getattr`. Le nom 'Connection URI' est renommé 'Internal URI' pour plus de clarté. Les informations sont ensuite collectées dans le jeu de données temporaire `tcpip`.
Copié !
1DATA tcpip;
2 keep name port host protocol service;
3 
4 LENGTH port host protocol objid service uri name $255;
5 nobj=0;
6 n=1;
7 DO while (nobj >= 0);
8 nobj=metadata_getnobj("omsobj:TCPIPConnection? @Name='Connection URI' or @Name='External URI'",n,uri);
9 
10 IF (nobj >= 0) THEN DO;
11 rc=metadata_getattr(uri,"Name",name);
12 IF trim(name)='Connection URI' THEN name="Internal URI";
13 
14 rc=metadata_getattr(uri,"CommunicationProtocol",protocol);
15 rc=metadata_getattr(uri,"HostName",host);
16 rc=metadata_getattr(uri,"Port",port);
17 rc=metadata_getattr(uri,"Service",service);
18 *call cats(protocol,'://',host,':',port,service);
19 put name protocol"://"host":"port service;
20 OUTPUT;
21 END ;
22 n = n + 1;
23 END;
24RUN;
2 Bloc de code
PROC SORT
Explication :
Cette PROC SORT trie le jeu de données `tcpip` (contenant les informations de connexion précédemment extraites) par la variable `service` et sauvegarde le résultat dans un nouveau jeu de données nommé `sorted`.
Copié !
1PROC SORT DATA=tcpip out=sorted;
2 BY service;
3RUN;
3 Bloc de code
PROC PRINT
Explication :
Cette PROC PRINT affiche le contenu du jeu de données `sorted`, en sélectionnant les variables `name`, `protocol`, `port`, `host` et `service`. Deux titres sont ajoutés à la sortie pour fournir un contexte sur les données présentées : 'Internal and External Connections (except SASThemes)' et 'Listed by Service'.
Copié !
1PROC PRINT DATA=sorted;
2 var name protocol port host service;
3 title 'Internal and External Connections (except SASThemes)';
4 title2 'Listed by Service';
5RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0


Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« L'extraction des URIs de connexion via l'Open Metadata Architecture (OMA) est une opération d'audit essentielle pour comprendre comment les différents composants d'une plateforme SAS 9.4 communiquent. Ce script cible spécifiquement les objets TCPIPConnection, qui constituent la "carte d'identité" réseau des serveurs (Workspace, Stored Process, Web Tier), permettant de distinguer les flux internes des points d'accès externes. »