Tester son authentification SAS
Une des problématiques récurrentes rencontrées au support SAS concerne l’authentification. Aujourd’hui, les S.I utilisent de plus en plus d’annuaire (LDAP ou AD) et, dans ce cas, le mécanisme d’authentification n’est plus géré par le serveur de métadonnées mais pas un service externe, qui retourne un OK/KO en fonction des informations de connexion soumises.
En cas de problème de connexion, la première chose à faire est de valider la connexion en dehors de SAS afin de s’assurer que « tout fonctionne correctement »
Puis, nous pouvons tenter une validation « dans » SAS.
Pour tester l’authentification simplement, nous allons utiliser la PROC METAOPERATE. Cette procédure permet d’effectuer toute sort de tâches administratives associées à serveur de métadonnées SAS (ou un cluster de serveur de métadonnées).
Globalement, la syntaxe est la suivante :
Dans notre cas, nous allons utiliser l’action “STATUS”
La PROC METAOPERATE ACTION=status renvoie des informations sur les propriétés et l'état du serveur SAS Metadata.
Pour exécuter cet action il est nécessaire de se connecter au serveur en positionnant des options de connexion, telles que le login ou le mot de passe. Cette procédure SAS est donc un moyen simple de valider ses identifiants de connexion.
Voici un exemple de syntaxe, à exécuter dans une session SAS :
L’exécution doit retourner, dans le journal SAS, les informations suivantes :
Bien-sûr ( et je dirais même surtout), il est possible de valider la connexion avec un compte ldap, par exemple :
Le résultat vous permet de valider ou non les identifiants.
Si vous obtenez un message d’erreur, celui-ci vous permettra d’effectuer un premier diagnostic sur l’origine de l’erreur.
Par exemple :
1 |
PROC METAOPERATE ACTION=value; |
1 2 3 4 5 6 7 |
proc metaoperate server="localhost" port =8561 userid="sasadm@saspw" password="sasadm" action=status; run; |
1 2 3 4 5 6 7 8 |
NOTE: Server localhost SAS Version is 9.4. NOTE: Server localhost SAS Long Version is 9.04.01M3P06242015. NOTE: Server localhost Operating System is X64_7PRO. NOTE: Server localhost Operating System Family is WIN. NOTE: Server localhost Operating System Version is Service Pack 1. NOTE: Server localhost Client is sasadm@saspw. NOTE: Server localhost Metadata Model is Version 16.01. NOTE: Server localhost is PAUSED on 17 mars 2016 13 h 56. |
1 2 3 4 5 6 7 |
proc metaoperate server="localhost" port =8561 userid="nicolas.housset@domaineldap" password="nicolas" action=status; run; |
1 2 3 4 |
ERROR: Invalid credentials ERROR: Access denied. ERROR: Error authenticating user nicolas.housset@domaineldap in function LogonUser. Error 1326 (Échec d’ouverture de session : nom d’utilisateur inconnu ou mot de passe incorrect. ). |