SAS® Open Metadata Architecture
Articles parus
- Renforcez la sécurité de vos données SAS grâce aux Metadata-Bound Libraries – Juin 2013 – SAS 9.3
- Sauvegarde et restauration des métadonnées – Décembre 2011 – SAS 9.3
- Mise en pratique de LOG4SAS - Décembre 2010 - SAS 9.2
- La sauvegarde des métadonnées - Décembre 2010 - SAS 9.2
- Comment changer la langue des clients JAVA disponibles avec SAS® 9.2 sous Windows ? - Septembre 2010 - SAS 9.2
- SAS® 9.2 : Authentification et Single Sign-on - Septembre 2010 - SAS 9.2 Lire
- Loggin Facility – LOG4SAS – SAS 9.2 – Mai 2010
- Définir les autorisations d'accès aux métadonnées avec Open Metadata Architecture - Mars 2009 - SAS 9.1
- Elargissement des accès aux SAS® Information Maps - Mai 2007 - SAS 9.1
- La procédure METALIB - Janvier 2007 - SAS 9.1
- Changer la langue des produits SAS sous Windows - Novembre 2006 - SAS 9.1 - PDF
- Accéder aux données relatives aux informations maps avec le moteur INFOMAPS - Novembre 2006 - SAS 9.1 - PDF
- A la découverte de la procédure INFOMAPS - Juillet 2006 - SAS 9.1 - PDF
- L'ARM pour contrôler vos applications de SAS/BASE A OLAP SERVER - Juillet 2006 - SAS 9.1 - PDF
- La procédure METAOPERATE - Avril 2006 - SAS 9.1 - PDF
- Introduction à SAS® Open Metadata Architecture - Octobre 2005 - SAS 9.1 - PDF
- Les bibliothèques au moteur META - Janvier 2005 - SAS 9.1 - PDF
- Sauvegarde et Restauration d'un environnement SAS - Octobre 2004 - SAS 9.1 - PDF
- Définir un serveur SAS/CONNECT® au travers de la SMC - Novembre 2004 - SAS 9.1 - PDF
- SAS® Management console : définir des sources de données sur Mainframe z/OS - Novembre 2004 - SAS 9.1 - PDF
- Présentation des SAS BI Portlets - Mars 2011 - SAS 9.2
- Création de thème personnalisé en SAS 9.2 - Décembre 2010 - SAS 9.2
- SAS®9, IOM et développement - Mars 2005 - SAS 9.1
- Introduction aux "Stored Process" ou "Applications Stockées" - Janvier 2005 - SAS 9.1
FAQs
- Exemple – comment modifier les autorisations sur un objet par programme ? Réponse
- Comment récupérer par programme une liste d’objets de métadonnées ? Réponse
- Comment exporter les flux du gestionnaire d’ordonnancement ? Réponse
- Peut-on avoir plusieurs serveurs de métadonnées sur la même machine ? Réponse
- Comment accéder aux métadonnées depuis une session SAS ? Réponse
- Comment faire pour que les changements des mots de passe au niveau système d'exploitation soient répercutés dans les métadonnées ? Réponse
- Comment changer la langue des clients Java (SAS® Data Integration Studio, SAS® Management Console…) ? Réponse
- Est-il possible d'utiliser LDAP en mode sécurisé (protocole SSL) lors de l'authentification depuis le serveur de méta-données ? Réponse
- Utilisation de %OMABAKUP Réponse
- Comment enregistrer des tables dans les métadonnées sans utiliser SAS Management Console ou SAS Data integration Studio ? Réponse
- Comment empêcher l'accès à une table pour un utilisateur donné ? Réponse
- Quel serveur dois-je créer dans la console d'administration pour pouvoir ordonnancer les tâches créées avec SAS Data Integration Studio ? Réponse
- Comment empêcher l’accès à une variable d’une table pour un utilisateur donné ? Réponse
- Dans la plateforme Business Analytics, quel est l'ordre de démarrage des services ? Réponse
Réponses
- Catégories : Open Metadata Architecture
- OS : Windows, Unix, z/OS
- Version : 9.3 et au-delà
- Vérifié en juin 2012
Exemple – comment modifier les autorisations sur un objet par programme ?
Les autorisations peuvent être modifiées par programme via la fonction METASEC_SETAUTH afin d'appliquer sur un objet une autorisation pour un groupe ou un utilisateur.
Cet exemple illustre l'utilisation de METASEC_SETAUTH sur un Folder appelé « TestGroupe » pour lequel les autorisations pour le groupe dénommé « Groupe TS » sont définies comme ceci :

Le programme accorde le droit « Lire les métadonnées » au groupe dénommé « Groupe TS » sur le dossier « TestGroupe ».
/*Identifiant dans les métadonnées du 'Tree' « Groupe TS » */
options metaserver=VotreMachine
metaport=8561
metauser=UserAdmin
metapass=pwd
metarepository="Foundation";
%mdseccon();
data _null_;
format tc $20.;
length uri $256;
tc = "";
/*Identifiant dans les métadonnées du 'Tree' « testGroupe », récupéré via l’outil « Metadata Browser » */
uri="OMSOBJ:Tree\A5JZUUCW.AJ00003A";
/* Démarrer la transaction en spécifiant l'objet sur lequel appliquer la modification */
rc=METASEC_BEGTRAN(uri,0, tc);
if (rc < 0 ) then do;
sysmsg = sysmsg();
put "rc<0" rc sysmsg;
end;
else put "Transaction has been started.";
/* Définir la transaction : Appliquer GRANT ("G")pour le droit "READMETADATA" à l’identité "GROUPE TS"*/
rc = METASEC_SETAUTH(tc, uri,"IdentityGroup", "Groupe TS", "G", "ReadMetadata","");
if (rc < 0 ) then do;
sysmsg = sysmsg();
put "METASEC_SETAUTH " sysmsg;
end;
else put "METASEC_SETAUTH " rc= ;
/* Appliquer la transaction */
rc=METASEC_ENDTRAN(uri,tc, &_SECAD_COMMIT_TC );
if (rc < 0 ) then do;
sysmsg = sysmsg();
put sysmsg;
end;
else put "Transaction has been committed.";
run;
Aide en ligne : SAS® 9.3 Language Interfaces to Metadata - METASEC_SETAUTH Function
- Catégories : OMA
- OS : Unix, Windows
- Version : SAS® 9.1.3
- Vérifié en 09/2008
Comment récupérer par programme une liste d’objets de métadonnées ?
Il faut utiliser la fonction METADATA_GETNOBJ . L'exemple ci-dessous crée une table contenant tous les objets de type JOB. Il s'agit des jobs créés depuis Data Integration Studio.
options metaserver=NomMachine
metaport=8561
metaprotocol=bridge
metauser='sasadm'
metapass=MotDePasse
metarepository='Foundation' ;
data ListOfJobs (keep= name URI) ;
length N_URI uri name $256 nobj 3.;
N_URI=1;
nobj=0;
do while(nobj >= 0);
nobj=metadata_getnobj("omsobj:Job?@Id contains '.'",N_URI,uri);
rc=metadata_getattr(uri,"Name", name) ;
output ;
N_URI=N_URI+1;
end ;
run;
proc sort data=ListOfJobs nodupkey ;
by name ;
run;
Aide en ligne : METADATA_GETNOBJ
- Catégories : OMA
Comment exporter les flux du gestionnaire d’ordonnancement ?
Pour SAS 9.1.3 SP4
1ère étape : il faut installer le BI Manager 1.4. Ce plug-in est installé avec les SAS Foundation Services. Pour les installer, il faut
- Soit lancer ~\votre dépôt\setup.exe, puis naviguer vers « SAS Client-Side components volume 2 » depuis le SAS Software navigator
- Soit lancer l'exécutable ~\votre dépôt\client2cd\jps\setup.exe .
- Soit le télécharger depuis notre site Internet : http://www.sas.com/apps/demosdownloads/foundationsvcs_PROD_1.1_sysdep.jsp?packageID=000305&jmpflag=N
2ème étape : pour SAS 9.1.3 SP4, il faut suivre la note « Usage Note 31008: Hot Fixes 913SMC04 and 14JPS02 provide the capability to add job flows using partial promotion » et appliquer les correctifs 913SMC04 (inclus dans 913SMC08), 14JPS02, E9BC03 (inclus dans E9BC59 et dans le bundle E9BX05) comme indiqué.
3ème étape : Depuis SAS Management Console, déplier le BI Manager, puis le répertoire Shared Data. Faire un clic droit sur le flux déployé et sélectionner « Export … »
Pour SAS 9.2
L’export va se faire depuis l’onglet « Folders ». Il faut naviguer jusqu’au répertoire hébergeant le flux. Faire un clic droit sur le flux déployé et sélectionner « Export SAS Package … »
L'assistant d'export
Pour les 2 versions, l'assistant d'export est identique.
Il faut tout d'abord donner le chemin de stockage et choisir un nom pour le package.
Ensuite, sélectionner le flux : les jobs dépendants s’affichent.

Il faut aussi les sélectionner, puis cliquer sur Next. Enfin, cliquer sur Export.
- Catégories : Open Metadata Architecture
- OS : Unix, Windows, z/OS
- Version : SAS® 9.1.3 et au-delà
- Vérifié en décembre 2010
Peut-on avoir plusieurs serveurs de métadonnées sur la même machine ?
Oui, pour cela il suffit d'utiliser différents ports pour chaque serveur de métadonnées.
- Catégories : Open Metadata Architecture
- OS : Unix, Windows, z/Os
- Version : SAS® 9.1 et au-delà
- Vérifié en décembre 2010
Comment accéder aux métadonnées depuis une session SAS ?
Vous pouvez accéder aux métadonnées de quatre manières :
- Depuis une bibliothèque au moteur META, qui permet l’accès aux données et à leurs métadonnées. L’article « Les bibliothèques au moteur META » de l’Allô Support n°17 présente ce moteur.
- Depuis l'application « Metadata browser », disponible dans le menu Solutions > Accessories, ou bien en exécutant la commande « metabrowse »
- En utilisant les procédures dédiées). METADATA, METALIB et METAOPERATE. La PROC METADATA permet la création, la mise à jour et les requêtes en utilisant le langage XML. La PROC METAOPERATE permet d'effectuer des tâches d'administration sur le référentiel.
- En utilisant des fonctions SAS dédiées, comme METADATA_GETATTR par exemple. Utilisées au sein d'une étape data _null_, elles permettent de consulter et mettre à jour les attributs, les associations et les propriétés des objets des métadonnées
Pour plus de détails, vous pouvez consulter « SAS Open Metadata Interface: Reference », disponible dans la documentation en ligne.
- Catégories : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Comment faire pour que les changements des mots de passe au niveau système d'exploitation soient répercutés dans les métadonnées ?
Les utilisateurs définis dans les métadonnées peuvent être associé à un compte système. Si leurs mots de passe sont stockés dans les métadonnées, il faut prévoir une synchronisation entre les mots de passe réels et ceux-ci. Plusieurs méthodes sont envisageables :
- Si l’administrateur SAS gère tous les mots de passe, alors il y a 2 possibilités :
- Soit il modifie manuellement les comptes des utilisateurs depuis SAS Management Console ou SAS Personal Login Manager,
- Soit il utilise les programmes d’import d’utilisateurs, qui permettent de synchroniser les utilisateurs des métadonnées avec les utilisateurs LDAP ou de l’Active Directory.
- Ou bien chaque utilisateur gère ses comptes depuis SAS Personal Login Manager.
Aide en ligne : Security Administration Guide : Manage passwords, User Import Macro
- Catégories : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Comment changer la langue des clients Java (SAS® Data Integration Studio, SAS® Management Console…) ?
Il faut utiliser ces options Java :
Duser.language=fr et Duser.region=FR pour le français
Duser.language=en et Duser.region=US pour l'anglais.
Plateforme 9.1 :
Elles se placent
- soit au niveau de la commande de démarrage du produit
Par exemple, la commande suivante permet de démarrer SAS Management Console en langue française :
"C:\Program Files\SAS\SASManagementConsole\9.1\sasmc.exe" -javaopts '-Duser.language=fr -Duser.region=FR'
- soit dans les fichiers *.ini (sasmc.ini, etlstudio.ini …) au niveau du paramètre CommandLineArgs.
CommandLineArgs=-Duser.language=fr -Duser.country=FR
Pour plus de renseignements, vous pouvez consulter l’article « Changer la langue des produits SAS sous Windows » de l'Allo Support n°24.
Plateforme 9.2 :
- Le produit « SAS Locale Setup Manager » vous permet de définir la langue de chaque produit. Il va écrire lui-même les options Duser.language et Duser.country dans le fichier INI selon la langue choisie.

- Vous pouvez également écrire vous-même ces options, avec cette syntaxe (en incrémentant le champ JavaArgs selon les options déjà présentes dans le fichier) :
JavaArgs_14=-Duser.language=en
JavaArgs_15=-Duser.country=US
- Catégorie : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Novembre 2010
Est-il possible d'utiliser LDAP en mode sécurisé (protocole SSL) lors de l'authentification depuis le serveur de méta-données ?
Avec SAS 9.1 et SAS 9.2, LDAPS n'est pas supporté : le login de l'utilisateur et son mot de passe circulent « en clair » entre le serveur de méta-données et le serveur LDAP.
Aide en ligne : Problem Note 15667: SSL support is not available between the SAS® Metadata Server and LDAP
- Catégorie : Open Metadata Architecture
- OS : Windows, Unix
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Utilisation de %OMABAKUP
Le macro-programme %OMABAKUP permet de sauvegarder le(s) référentiel(s) de métadonnées.
Il permet en outre de réduire la taille physique du référentiel, ce qui en améliore les performances. Pour ce faire, il faut utiliser la macro OMABAKUP avec l'option REORG = YES.
1) Précautions d'usage
Avant toute manipulation, il faut arrêter le serveur de métadonnées et faire une sauvegarde (un "tar cvf" sur Unix) du contenu du répertoire../Lev1/SASMAin/MetadataServer (on redémarrera ensuite le serveur de métadonnées).
2) Syntaxe
Il faut valider l'utilisation du macro-programme dans un environnement de test (la procédure consiste à faire une sauvegarde du référentiel, le backup contiendra des données réorganisées, puis à restaurer cette sauvegarde).
OPTIONS metaserver="Nom ou adresse de la machine hébergeant le réferentiel"
metaport="n° de port"
metaprotocol="bridge"
metauser=Login du compte administrateur (sasadm)
metapass=mot de passe du compte administrateur (crypté ou en clair)
metarepository="Foundation";
% OMABAKUP (DestinationPath="chemin où stocker la sauvegarde",
ServerStartPath="chemin de la configuration, jusqu’à SASMain",
RposmgrPath="chemin vers le référentiel",
,
>,
,
);
Exemple:
OPTIONS metaserver='MonServeur' metaport=8561 metaprotocol=bridge metauser='sasadm' metapass='saspw1' metarepository='Foundation';
% OMABAKUP ( DestinationPath="C:\SAS\CONFIG\Lev1\Backup",
ServerStartPath="C:\SAS\CONFIG\Lev1\SASMain",
RposmgrPath="MetadataServer/rposmgr",
Reorg=Yes
RunAnalysis=Yes);
3) Valider
Il faut noter la taille du référentiel avant et après l'utilisation de la macro OMABAKUP, et voir si les performances sont améliorées.
Aide en ligne :
http://support.sas.com/onlinedoc/913/getDoc/fr/bisag.hlp/a003134684.htm
http://support.sas.com/documentation/configuration/bisag.pdf (Le chapitre 7 détaille l'utilisation de la macro OMABAKUP).
Aide en ligne : OMABAKUP, Sauvegarde et restauration d'un environnement 9.1
- Catégories : Open Metadata Architecture
- OS : Unix, Windows, z/OS
- Version : SAS® 9.1.3 et au-delà
- Vérifié en août 2010
Comment enregistrer des tables dans les métadonnées sans utiliser SAS Management Console ou SAS Data integration Studio ?
- La première opération consiste à déclarer une bibliothèque META dans une session SAS classique, en spécifiant un compte administrateur :
libname metalib meta repname=Foundation library=mle ipaddr="MaMachine" port=8561 protocol=BRIDGE user="sasadm" password=saspw;
En SAS 9.2, si le user utilisé est un compte interne, il faut positionner le paramètre user de la manière suivante : user=”sasadm@saspw”
- Ensuite il faut déclarer une bibliothèque pointant sur le répertoire contenant la ou les tables que vous souhaitez ajouter :
libname donnees 'c:\temp\data' ;
puis, procéder à une copie de table d'une bibliothèque à l'autre :
data metalib.class ;
set donness.class ;
run ;
Aide en ligne : Le moteur META
- Catégories : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Comment empêcher l'accès à une table pour un utilisateur donné ?
1. Se connecter en tant qu'administrateur à SAS Management Console
2. Depuis le gestionnaire de bibliothèque, déployer le contenu de la bibliothèque afin de voir la liste des tables.
3. Faire un clic droit sur la table, et sélectionner Propriétés (Properties).
4. Dans l'onglet Droits (Authorization), ajouter l'utilisateur ou bien un groupe d'utilisateurs.
5. Refuser le droit « Lire les métadonnées » (ReadMetadata ») en cliquant sur la case Refuser (Deny).
Aide en ligne : Permissions Tips: Selected Items in the Folder Tree
- Catégories : SAS Management Console
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Quel serveur dois-je créer dans la console d'administration pour pouvoir ordonnancer les tâches créées avec SAS Data Integration Studio ?
Il faut déclarer un serveur d'ordonnancement et un serveur de traitements.
- Faire Server Manager, puis New Server
- Dans la partie « Scheduling servers », sélectionner « Platform Process Manager » ou bien « Operating System Scheduler », puis suivre les instructions de l’assistant.
- Faire Server Manager | SASMain, puis Add application Server Component.
- Sélectionner SAS Data Step Batch Server, puis suivre les instructions de l'assistant.
Aide en ligne : Ordonnancer depuis SAS® Management Console sans Platform LSF, Ordonnancer une tâche créée avec SAS® ETL Studio
- Catégories : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Comment empêcher l’accès à une variable d’une table pour un utilisateur donné ?
1. Depuis SAS Management Console, naviguer jusqu’à la bibliothèque :
- Faire Gestion de l'environnement | Gestion des ressources | Par emplacement | SASMain ou SASApp (le nom du serveur d'application),
- ou bien en environnement anglais Environment Management | Authorization Manager | Resource Management | By Location | SASMain ou SASApp
2. Déployer le contenu de la bibliothèque afin de voir la liste des tables.
3. Déployer le contenu de la table afin de voir la liste des variables.
4. Faire un clic droit sur la variable, et sélectionner Propriétés (Properties).
5. Dans l'onglet Droits (Authorization), ajouter l'utilisateur ou bien un groupe d'utilisateurs.
6. Refuser le droit « Lire les métadonnées » (ReadMetadata ») en cliquant sur la case Refuser (Deny).
Aide en ligne : Permissions Tips: Selected Items in the Folder Tree
- Catégories : Open Metadata Architecture
- OS : Windows
- Version : SAS® 9.1 et au-delà
- Vérifié en Septembre 2010
Dans la plateforme Business Analytics, quel est l'ordre de démarrage des services ?
Il est important de respecter l’ordre suivant pour démarrer les services :
- Le serveur de métadonnées
- Les serveurs et spawners IOM / non IOM (object spawner, Connect spawner, OLAP server …) et les SAS Remote Services
- Le serveur Web (Jboss etc).
Sur Unix et z/OS, on pourra utiliser le script sas.servers qui respectera bien cet ordre de démarrage.
Aide en ligne : SAS(R) 9.3 Intelligence Platform: System Administration Guide - Overview of Server Operation