support clients /

SAS® 9.2 : Authentification et Single Sign-on

Ce document présente les principes d’authentification disponibles dans SAS® 9.2 et un exemple de mise en œuvre du single sign-on dans SAS® Enterprise Guide® 4.2 à l’aide du mécanisme d’authentification IWA.

 

Présentation de l'authentification dans SAS® 9.2

Document de référence : SAS® 9.2 Intelligence Platform Security Administration Guide à partir de la page 123.

1. Qu’est ce que l’authentification ?

L'authentification est un processus qui permet de vérifier l'identité d'un utilisateur qui tente d'accéder à une application. L'identification fait donc partie intégrante du mécanisme d'authentification.

Exemple de mécanisme d’authentification :

  • ID utilisateur et mot de passe : Lorsque vous vous connectez sur la plupart des systèmes, vous êtes invité à fournir votre nom d'utilisateur et votre mot de passe. L’ID utilisateur est votre identité et le mot de passe permet donc de vous authentifier.  
  • Carte bancaire et votre code PIN : La carte bancaire joue le rôle d'identité et le code PIN permet l'authentification.

2. L'authentification par défaut dans SAS 9.2

Dans SAS® 9.2 le mécanisme d'authentification s'exécute lors de chaque connexion avec les outils clients. Par exemple, un utilisateur de la SAS® Management Console, de l'add-in Office ou de SAS® Enterprise Guide® est soumis au mécanisme d'authentification.

Les autorités de validation

Il existe trois types de fournisseur/autorité qui permettent de valider une authentification :

  • HÔTE (sécurité locale du serveur)
  • LDAP Active Directory et PAM (modules d'authentification enfichables)
  • IWA (Authentification Windows Intégré)

Dans la majorité des cas, l'utilisation de l'authentification par la sécurité système local (hôte) est utilisée.

Fonctionnement dans SAS

L’authentification Hôte est la configuration par défaut avec SAS® 9.2. Le fonctionnement est le suivant :


1/  William Jenkins fournit des informations d'identification pour se connecter au serveur de métadonnées: nom d'utilisateur et mot de passe.

 


2/  Le serveur de métadonnées valide les informations de William Jenkins auprès de son fournisseur/autorité d'authentification, par exemple et souvent par défaut, c’est le système hôte (le système d'exploitation).

 


3/ Le fournisseur/autorité d'authentification vérifie que les informations de William Jenkins sont valides et renvoie son ID utilisateur
(BIBilly) et nom de domaine  associé (SASTRAIN) au serveur de métadonnées.
Le fournisseur/autorité d'authentification ne retourne pas le mot de passe au serveur de métadonnées.

4/ Le serveur de métadonnées utilise cette information pour rechercher dans son référentiel et déterminer si cet utilisateur est connu.

5/Une fois l’identité validée sur le serveur de métadonnées (ici "William Jenkins" qui possède l'ID "SASTRAIN\BIBilly"), le niveau d'accès aux ressources SAS pour l'utilisateur est déterminé (groupe et rôle). 

6/ Le serveur de métadonnées envoie un jeton à l'application pour valider l'authentification. Ce jeton servira durant toute la session utilisateur sur l'outil client à chaque invocation de serveur SAS.

Les informations d'authentification restent donc en cache.

3. Autres mécanismes d'authentification disponibles

LDAP / Active Directory / PAM

Le mécanisme d'authentification direct sur un annuaire est quasiment identique au mécanisme par défaut sauf que le serveur de métadonnées est configuré pour utiliser l'annuaire directement :

Les étapes 1 à 6 sont les mêmes que dans le point B. 2 vu précédemment.

Integrated Windows Authentication (IWA)

C'est une technologie de Microsoft qui génère et valide les jetons d'identité Windows. Grâce à ce mécanisme les serveurs SAS peuvent accepter directement les utilisateurs qui sont authentifiés avec IWA. La mise en œuvre d'IWA avec SAS est prise en charge uniquement dans les environnements 100% Windows.

Les chiffres du schéma correspondent aux étapes ci-dessous :

  1. Le client demande à Windows un jeton représentant l'utilisateur qui est actuellement
    connecté à l'ordinateur.  Cette étape est initiée lorsque l'utilisateur lance un outil client SAS ou fait une demande à un serveur de traitement SAS.
  2. Windows fournit le jeton pour au client.
  3. Le client envoie le jeton Windows sur le serveur cible. Notez que seul le jeton est envoyé, le mot de passe de l'utilisateur n'est pas envoyé au serveur cible.
  4. Le serveur cible vérifie la validité du jeton auprès du système Windows.
  5. Windows indique au serveur cible que le jeton est valide.
  6. Le serveur cible accepte la connexion du client. L'ID de l'utilisateur est fourni au serveur cible au format classique (par exemple, WIN\joe), le serveur de métadonnées peut désormais déterminer le niveau d'accès aux ressources auxquelles l'utilisateur est autorisé.

    Authentification interne

Dans le cas ou l’installation SAS utilise des comptes internes, ce qui est le cas par défaut avec SAS®9.2 pour l’utilisateur administrateur (sasadm@saspw) par exemple. Le principe est le suivant :

Les chiffres du schéma correspondent aux étapes ci-dessous :

  1. A l’invite de connexion, Joe saisit son compte interne, joe@saspw. Ce nom est envoyé  au serveur de métadonnées pour vérification.
  2. Le serveur de métadonnées reconnaît que l'ID est un compte interne (parce que l'ID a un suffixe @saspw), donc le serveur de métadonnées  vérifie les informations d'identification dans  sa liste de comptes internes.
  3. Après la validation des ID et du mot de passe, le serveur de métadonnées valide l'identité du client.
  4. Le serveur de métadonnées accepte la connexion de l'utilisateur SAS qui possède le compte.

Exemple courant de l'utilisation de l'authentification IWA

1. Activer le SSO (single sign-on) dans SAS® Enterprise Guide® avec IWA

Vous avez la possibilité d'utiliser SAS® Enterprise Guide® 4.2 au sein de votre session utilisateur sans devoir saisir votre mot de passe, pour cela il faut utiliser le mécanisme d'authentification IWA.
Ces manipulations ne sont possibles que si l’environnement  SAS est 100% Windows.
L'exemple ci-dessous décrit comment rattacher votre nom d'utilisateur du domaine à l'utilisateur de démonstration créé à l'installation, nous sommes ici dans un environnement mono-serveur.

- Se connecter à la SMC avec le user sasadm@saspw et son mot de passe
- Aller dans « Gestionnaire d’utilisateurs »

- Faire un clic droit puis propriétés sur Utilisateur de démonstration SAS 

- Aller dans l'onglet Comptes

- Cliquer sur Nouveau et saisir votre identifiant (domaine\utilisateur) et votre mot de passe (2 fois)

- Cliquer sur OK

- Cliquer sur OK et fermer la SMC
- Lancer  SAS Enterprise Guide et authentifiez-vous comme d’habitude

- Aller dans Outils > Options
- Aller dans Administration puis cliquer sur Modifier et Ajouter

- Cocher « Utiliser l’authentification Windows intégrée »
- Cliquer sur Enregistrer puis sur Activer


Ces deux nouveautés, l'authentification interne et le support de l'authentification intégrée Windows (IWA) n'existaient pas en SAS® 9.1.

  • L’authentification interne permet de mettre en place une plateforme sécurisée, totalement indépendante de la sécurité système. Ceci laisse davantage de latitude à l’administrateur de la plateforme SAS. Mais dans ce cas, l’utilisateur doit toujours s’authentifier avec un user/mot de passe différent de son compte système. 
  • Un des avantages de l'authentification IWA est qu'elle permet de mettre en place un mécanisme de SSO qui est confortable pour l'utilisateur car la saisie du mot de passe n'est pas nécessaire. Mais on perd alors la traçabilité des actions de l'utilisateur car IWA utilise toujours le même utilisateur (SAS General Server User) pour effectuer les requêtes.

Pour obtenir plus de détails sur l'authentification en SAS® 9.2, consulter la partie 3 (chapitre 11,12,13 et 14) de ce document en ligne.

Céline Dastre-Vigne
Consultant Support Clients - SAS France