Intégration de la sécurité dans WebSphere Application Server

Lorsque vous déployez WebSphere eXtreme Scale dans un environnement WebSphere Application Server, vous vous pouvez simplifier le flux d'authentification et la configuration de la sécurité de la couche de transport à partir de WebSphere Application Server.

Flux d'authentification simplifié

Lorsque les clients et serveurs eXtreme Scale sont exécutés dans WebSphere Application Server et dans le même domaine de sécurité, vous pouvez utiliser l'infrastructure de sécurité de WebSphere Application Server pour propager les données d'accès pour l'authentification du client sur le serveur eXtreme Scale. Par exemple, si un servlet agit en tant que client eXtreme Scale pour se connecter à un serveur eXtreme Scale du même domaine de sécurité et si le servlet est déjà authentifié, il est possible de propager le jeton d'authentification du client (servlet) vers le serveur, puis utiliser l'infrastructure de sécurité de WebSphere Application Server pour reconvertir ce jeton en données d'accès du client.

Figure 1. Flux d'authentification pour les serveurs dans le même domaine de sécurité
Tous les serveurs d'applications se trouvent dans un domaine de sécurité commun.
Dans le diagramme précédent, les serveurs d'applications se trouvent dans le même domaine de sécurité. Un serveur d'applications héberge l'application Web qui est également un client eXtreme Scale. L'autre serveur d'applications héberge le serveur de conteneur. Le gestionnaire de déploiement ou la machine virtuelle Java héberge le service de catalogue. Les flèches dans le diagramme indiquent le flux du processus d'authentification :
  1. Un utilisateur d'application d'entreprise utilise un navigateur Web pour se connecter au premier serveur d'applications avec un nom d'utilisateur et un mot de passe.
  2. Le premier serveur d'applications envoie le nom d'utilisateur et le mot de passe du client à l'infrastructure de sécurité WebSphere Application Server pour s'authentifier auprès du registre des utilisateurs. Par exemple, ce registre d'utilisateurs peut être un serveur LDAP. Par conséquent, les informations de sécurité sont stockées dans l'unité d'exécution du serveur d'applications.
  3. Le fichier JSP (JavaServer Pages) fait office de client eXtreme Scale pour extraire les informations de sécurité à partir de l'unité d'exécution du serveur. Le fichier JSP appelle l'infrastructure de sécurité WebSphere Application Server pour obtenir les jetons de sécurité qui représentent l'utilisateur d'application d'entreprise.
  4. Le client eXtreme Scale, ou un fichier JSP, envoie des jetons de sécurité avec la demande au serveur de conteneur et au service de catalogue qui est hébergé sur les autres machines virtuelles Java. Le serveur de catalogue et le serveur de conteneur utilisent les jetons de sécurité WebSphere Application Server comme données d'identification du client eXtreme Scale.
  5. Les serveurs de catalogue et de conteneur envoient les jetons de sécurité à l'infrastructure de sécurité WebSphere Application Server pour les convertir en informations de sécurité utilisateur. Ces informations sont représentées par un objet Subject qui contient les principaux, les données d'identification publiques et données d'identification privées. Cette conversion peut se produire, car les serveurs d'applications qui hébergent le client eXtreme Scale, le serveur de catalogue et le serveur de conteneur partagent les mêmes jetons LTPA (Lightweight Third-Party Authentication (LTPA) WebSphere Application Server.

Intégration de l'authentification

Intégration de la sécurité répartie à WebSphere Application Server :

Pour le modèle réparti, utilisez les classes suivantes :
  • com.ibm.websphere.objectgrid.security.plugins.builtins.WSTokenCredentialGenerator
  • com.ibm.websphere.objectgrid.security.plugins.builtins.WSTokenAuthenticator
  • com.ibm.websphere.objectgrid.security.plugins.builtins.WSTokenCredential

Pour des exemples d'utilisation de ces classes, voir Tutoriel : Intégration de la sécurité WebSphere eXtreme Scale à WebSphere Application Server.

Côté serveur, utilisez l'authentificateur WSTokenAuthentication pour authentifier l'objet WSTokenCredential.

Intégration de la sécurité locale à WebSphere Application Server:

Pour le modèle ObjectGrid local, utilisez les classes suivantes :
  • com.ibm.websphere.objectgrid.security.plugins.builtins.WSSubjectSourceImpl
  • com.ibm.websphere.objectgrid.security.plugins.builtins.WSSubjectValidationImpl

Pour plus d'informations sur ces classes, voir Programmation de la sécurité locale. Vous pouvez configurer la classe WSSubjectSourceImpl en tant que plug-in SubjectSource et la classe WSSubjectValidationImpl en tant que plug-in SubjectValidation.

Support de sécurité de la couche de transport dans WebSphere Application Server

Lorsqu'un client, un serveur de conteneur ou un serveur de catalogue eXtreme Scale s'exécute dans un processus WebSphere Application Server, la sécurité du transport eXtreme Scale est gérée par les paramètres de transport CSIV2 WebSphere Application Server. Pour le client ou le serveur eXtreme Scale, n'utilisez pas les propriétés du client ou du serveur eXtreme Scale pour définir les paramètres SSL. Tous les paramètres SSL doivent être définis dans la configuration WebSphere Application Server.

Cependant, le serveur de catalogues est légèrement différent. Le serveur de catalogue dispose de ses propres chemins de transport propriétaires qui ne peuvent pas être gérés par les paramètres de transport CSIV2 WebSphere Application Server. Par conséquent, il reste nécessaire de configurer les propriétés dans le fichier de propriétés du serveur pour le serveur de catalogue. Pour plus d'informations, voir Tutoriel : Intégration de la sécurité WebSphere eXtreme Scale à WebSphere Application Server.