Configuration de connexion pour le service JAAS (Java Authentication and Authorization Service)

JAAS (Java™ Authentication and Authorization Service) est une nouvelle fonction de WebSphere Application Server. JAAS est l'API stratégique de WebSphere Application Server pour l'authentification qui remplace l'API (application programming interface) de connexion par programmation CORBA (Common Object Request Broker Architecture).

WebSphere Application Server fournit des extensions pour JAAS :

  • com.ibm.websphere.security.auth.WSSubject : L'API com.ibm.websphere.security.auth.WSSubject étend le modèle d'autorisation JAAS aux ressources J2EE (Java 2 Platform, Enterprise Edition). Vous pouvez configurer la connexion JAAS dans la console d'administration ou à l'aide des fonctions de scriptage et stocker cette configuration dans l'API de configuration de WebSphere Application Server. Toutefois, WebSphere Application Server prend toujours en charge le format de configuration de connexion JAAS par défaut, un fichier texte, fourni par l'implémentation JAAS par défaut. Si une configuration de connexion est définie dans l'API de configuration de WebSphere Application Server et dans un fichier texte standard, la configuration dans l'API WebSphere Application Server prévaut. La définition de la configuration de connexion dans l'API de configuration WebSphere présente les avantages suivants :
    • Support de l'interface utilisateur assuré dans la définition de la configuration de la connexion JAAS
    • Gestion centrale de la configuration de connexion JAAS
    • Répartition de la configuration de connexion JAAS dans une installation WebSphere Application Server, Network Deployment

    En raison d'une erreur de conception dans JAAS 1.0, la méthode javax.security.auth.Subject.getSubject ne renvoie pas le sujet associé à l'unité d'exécution dans un bloc de code java.security.AccessController.doPrivileged. Cette action peut entraîner un comportement incohérent qui peut poser des difficultés. L'extension com.ibm.websphere.security.auth.WSSubject offre une solution pour associer le sujet à l'unité d'exécution. L'extension com.ibm.websphere.security.auth.WSSubject étend le modèle d'autorisation JAAS aux ressources J2EE.

    Pourquoi WebSphere Application Server possède-t-il sa propre classe de sujet : vous pouvez extraire les sujets dans un bloc Subject.doAs avec l'appel Subject.getSubject. Toutefois, cette procédure ne fonctionne pas si le bloc Subject.doAs contient un appel AccessController.doPrivileged. Dans l'exemple suivant, s1 est égal à s, mais s2 est nul :
    * AccessController.doPrivileged() ne tronque pas seulement la propagation du sujet, 
    * mais réduit également les droits. Ceci n'inclut pas la stratégie de sécurité JAAS 
    * définie pour les principaux dans le sujet.
    Subject.doAs(s, new PrivilegedAction() {
      public Object run() {
        System.out.println("Within Subject.doAsPrivileged()");
        Subject s1 = Subject.getSubject(AccessController.getContext());
        AccessController.doPrivileged(new PrivilegedAction() {
          public Object run() {
          Subject s2 = Subject.getSubject(AccessController.getContext());
          return null;
        }
      });
      return null;
    }
    });
  • La configuration de connexion JAAS peut être configurée dans la console d'administration ou à l'aide de fonctions de scriptage et stockée dans le référentiel de configuration de WebSphere Application Server. Une application peut définir une nouvelle configuration de connexion JAAS dans la console d'administration. Les données sont conservées dans le référentiel de configuration stocké dans l'API de configuration de WebSphere Application Server. Toutefois, WebSphere Application Server prend toujours en charge le format de configuration de connexion JAAS par défaut fourni par l'implémentation JAAS par défaut. Si une configuration de connexion est définie dans l'API de configuration de WebSphere Application Server et dans un fichier texte standard, la configuration dans l'API WebSphere Application Server prévaut. La définition de la configuration de connexion dans l'API de configuration de WebSphere Application Server présente les avantages suivants :
    • Prise en charge d'une interface graphique pour la définition de la configuration de connexion JAAS.
    • La configuration JAAS peut être gérée de manière centralisée.
    • La configuration JAAS est répartie dans une installation WebSphere Application Server, Network Deployment.
  • Proxy LoginModule : Proxy.LoginModule est un proxy pour l'utilisateur configuré ou pour le module défini par le système que le chargeur de classes de contexte utilise pour charger le module à la place du chargeur de classes système. L'implémentation JAAS par défaut n'utilise pas le chargeur de classes de contexte d'unité d'exécution pour charger les classes. Le module LoginModule ne peut pas être chargé si le fichier de classe du module LoginModule ne figure pas dans le chargeur de classe de l'application ou dans le chemin d'accès aux classes du chargeur de classe d'extension Java. WebSphere Application Server fournit un proxy LoginModule pour charger le module de connexion JAAS à l'aide du chargeur de classe du contexte de l'unité d'exécution. Il n'est pas nécessaire de placer l'implémentation de LoginModule dans le chargeur de classes de l'application ou le chemin d'accès aux classes du chargeur de classes de l'extension Java avec ce module LoginModule proxy.
Conseil : Ne retirez pas et ne supprimez pas les configurations de connexion JAAS prédéfinies (ClientContainer, WSLogin et DefaultPrincipalMapping). Leur suppression peut en effet mettre en échec d'autres applications d'entreprise.

Un administrateur système détermine les technologies d'authentification ou les modules de connexion à utiliser pour chaque application et les configure dans une configuration de connexion. La source des informations de configuration (par exemple, un fichier ou une base de données) est au niveau de l'implémentation javax.security.auth.login.Configuration en cours. L'implémentation de WebSphere Application Server permet de définir la configuration de connexion dans le document de sécurité de l'API de configuration de WebSphere Application Server et dans un fichier de configuration JAAS, mais c'est le premier qui est prioritaire.

Des configurations de connexion JAAS sont définies dans le document de sécurité de l'API de la configuration de WebSphere Application Server pour être utilisées par les applications. Pour accéder à ces configurations, procédez comme suit :
  1. Sélectionnez Sécurité > Sécurité globale.
  2. Sous Service d'autorisation et d'authentification Java, cliquez sur Connexions d'application.

Le module WSLogin définit une configuration de connexion et l'implémentation du module de connexion utilisable par les applications.

Le module ClientContainer définit une configuration de connexion et l'implémentation du module de connexion qui est similaire au module WSLogin, mais qui applique les conditions requises du conteneur client WebSphere Application Server.

Le module DefaultPrincipalMapping définit un module de connexion spécial généralement utilisé par le connecteur Java 2 pour mapper une identité d'utilisateur WebSphere Application Server authentifié à un ensemble de données d'authentification d'utilisateur (ID utilisateur et mot de passe) pour le système EIS (Enterprise Information Systems) dorsal spécifié. Pour plus d'informations sur le connecteur Java 2 et le module de mappage par défaut, reportez-vous à la section relative à la sécurité Java 2.

Une nouvelle configuration de connexion JAAS peut être ajoutée et modifiée à l'aide de la console d'administration. Les modifications sont sauvegardées dans le document sur la sécurité au niveau des cellules et tous les serveurs d'applications gérés peuvent en disposer. Il est nécessaire de redémarrer le serveur d'applications pour que les modifications soient prises en compte lors de l'exécution et pour que la configuration de connexion du conteneur client soit disponible.

WebSphere Application Server lit également les informations de configuration JAAS dans le fichier wsjaas.conf dans le sous-répertoire properties du répertoire racine sous lequel WebSphere Application Server est installé. Les modifications apportées au fichier wsjaas.conf ne sont utilisées que par le serveur d'applications local et sont appliquées après le redémarrage du serveur d'applications. La configuration JAAS du document de sécurité de l'API de configuration de WebSphere Application Server prévaut sur celle qui est définie dans le fichier wsjaas.conf. Une entrée de configuration dans le fichier wsjaas.conf est remplacée par une entrée portant le même nom d'alias dans le document de sécurité de l'API de configuration de WebSphere Application Server.

Les entrées de la configuration de connexion JAAS (Java Authentication and Authorization Service) dans la console d'administration sont propagées au serveur en phase d'exécution lorsqu'elles sont créées, et non lorsque la configuration est enregistrée. Toutefois, les entrées de la configuration de connexion JAAS effacées ne sont pas supprimées du serveur en phase d'exécution. Pour supprimer les entrées, enregistrez la nouvelle configuration, puis arrêtez le serveur et redémarrez-le.

Les exemples du Centre de documentation fournissent un exemple de connexion JAAS qui explique comment utiliser JAAS avec WebSphere Application Server. L'exemple utilise une connexion côté serveur avec JAAS pour authentifier un utilisateur avec l'environnement d'exécution de la sécurité WebSphere Application Server. Cet exemple décrit les technologies suivantes :
  • JAAS (Java Authentication and Authorization Service) J2EE (Java A2 Platform, Enterprise Edition)
  • JAAS pour WebSphere Application Server
  • Sécurité WebSphere Application Server
L'exemple de connexion par formulaire fait partie des exemples de technologie.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_logmod
Nom du fichier : rsec_logmod.html