SAS9

Comment extraire la liste des utilisateurs du serveur de métadonnées SAS ?

L'équipe WeAreCAS 10 Aufrufe

L'administration de la plateforme SAS© 9 implique souvent la gestion de nombreux utilisateurs via la SAS© Management Console. Une question récurrente se pose pour les administrateurs et développeurs : est-il possible d'interroger le serveur de métadonnées pour lister tous les utilisateurs configurés, sans passer par l'interface graphique ?

Si la documentation officielle renvoie souvent vers des manuels d'administration volumineux, il existe une méthode programmatique directe et efficace utilisant la procédure PROC METADATA.

Voici un guide pas-à-pas basé sur une solution communautaire éprouvée pour récupérer cette liste au format XML.


La solution : Utiliser PROC METADATA

Plutôt que de naviguer manuellement dans la Management Console, vous pouvez utiliser le langage SAS© pour envoyer une requête XML au serveur de métadonnées. Cette méthode est idéale pour automatiser la gestion des identités ou créer des rapports d'audit.


Note :
Étape 1 : Créer le fichier de requête XML
La première étape consiste à créer un fichier XML qui définit ce que vous cherchez. Dans notre cas, nous voulons récupérer les informations sur les objets de type Person (les utilisateurs).

Créez un fichier nommé query_persons.xml contenant le code suivant. Ce code demande au serveur de lister les objets du dépôt de métadonnées.
1
2 $METAREPOSITORY
3 Person
4
5 SAS
6 260
7
8
Note technique : Le "Type" peut être ajusté selon vos besoins (par exemple, Login ou Person). Le flag 260 est une combinaison de bits qui contrôle la profondeur et le format de la réponse.
Note :
Étape 2 : Configurer et exécuter le code SAS©
Une fois votre fichier XML prêt, vous devez exécuter un programme SAS© qui va lire ce fichier d'entrée (IN) et écrire le résultat dans un fichier de sortie (OUT).

Voici le code à exécuter dans votre session SAS© V9 :
1/* Définition des fichiers d'entrée et de sortie */
2FILENAME INPUT "C:\TEMP\XML\query_persons.xml";
3FILENAME OUTPUT "C:\TEMP\XML\query_persons_out.xml";
4 
5/* Exécution de la requête au serveur de métadonnées */
6PROC METADATA REPOS = "Foundation"
7 SERVER = "127.0.0.1" /* Remplacez par votre IP ou nom d'hôte */
8 PORT = 8561 /* Port par défaut du serveur de métadonnées */
9 USERID = "sasadm@saspw" /* Votre utilisateur administrateur (ex: sasadm) */
10 PASSWORD = "votre_mot_de_passe"
11 IN = INPUT
12 OUT = OUTPUT
13 HEADER = FULL;
14RUN;
Étape 3 : Analyser le résultat
Après l'exécution du code, ouvrez le fichier de sortie query_persons_out.xml.

Ce fichier contiendra la liste brute de tous les utilisateurs (Usernames) qui ont été ajoutés manuellement dans la SAS© Management Console.

Points de vigilance
Cohérence des noms de fichiers : Une erreur courante (relevée dans la discussion d'origine) est de nommer le fichier XML d'une certaine façon (ex: query_logins.xml) et de l'appeler différemment dans le code SAS© (query_persons.xml). Assurez-vous que le FILENAME input pointe bien vers le fichier que vous avez créé.

Sécurité : Ce script nécessite un mot de passe en clair. Dans un environnement de production, il est fortement recommandé d'utiliser des mots de passe encodés ({SAS©002}...) ou de gérer l'authentification via les mécanismes de sécurité de votre OS si vous exécutez le script en batch.

Bien que la documentation standard puisse suggérer que l'administration des utilisateurs est une tâche complexe réservée à l'interface graphique, l'utilisation de PROC METADATA avec une requête XML bien formulée offre une flexibilité puissante.

Cette technique permet aux développeurs de créer leurs propres outils de gestion des identités (Identity Management) et d'automatiser des tâches qui seraient autrement fastidieuses.