Sécurisation des connexions client J2C

[Version 8.5 and later] Utilisez l'architecture Java 2 Connector (J2C) pour sécuriser les connexions entre les clients WebSphere eXtreme Scale et vos applications.

Pourquoi et quand exécuter cette tâche

Les applications font référence à la fabrique de connexions, qui établit la connexion à la grille de données distante. Chaque fabrique de connexions héberge une connexion client eXtreme Scale unique qui est réutilisée pour tous les composants d'application.
Important : Etant donné que la connexion client eXtreme Scale peut inclure un cache local, il est important que les applications ne partagent pas de connexion. Il doit exister une fabrique de connexions pour chaque instance d'application pour éviter tout problème de partage d'objets entre les applications.
Vous pouvez définir le générateur de données d'identification à l'aide de l'API ou dans le fichier de propriétés client. Dans ce dernier, vous utilisez les propriétés securityEnabled et credentialGenerator. L'exemple de code suivant est présenté sur plusieurs lignes en raison des contraintes liées à la publication :
securityEnabled=true
credentialGeneratorClass=com.ibm.websphere.objectgrid.security.plugins.builtins.
     UserPasswordCredentialGenerator
credentialGeneratorProps=operator XXXXXX

Le générateur de données d'identification et les données d'identification du fichier de propriétés client sont utilisés pour l'opération de connexion de eXtreme Scale et pour les données d'identification J2C par défaut. Les données d'identification qui sont spécifiées avec l'API sont donc utilisées lors de la connexion J2C pour la connexion J2C. Toutefois, si aucune donnée d'identification n'est spécifiée au moment de la connexion J2C, c'est le générateur de données d'identification du fichier de propriétés client qui est utilisé.

Procédure

  1. Configurez un accès sécurisé dans lequel la connexion J2C représente le client eXtreme Scale. Utilisez la propriété de fabrique de connexions ClientPropertiesResource ou ClientPropertiesURL pour configurer l'authentification client.
  2. Configurez les propriétés de sécurité client afin qu'elles utilisent la fabrique de connexions qui référence l'objet générateur de données d'identification approprié pour eXtreme Scale. Ces propriétés sont également compatibles avec la sécurité serveur eXtreme Scale. Par exemple, utilisez le générateur de données d'identification WSTokenCredentialGenerator pour les données d'identification WebSphere lorsque eXtreme Scale est installé avec WebSphere Application Server. Vous pouvez aussi utiliser le générateur de données d'identification UserPasswordCredentialGenerator lorsque vous exécutez eXtreme Scale dans un environnement autonome. Dans l'exemple suivant, les données d'identification sont transmises par voie de programme à l'aide de l'appel d'API au lieu d'utiliser la configuration dans les propriétés client :
    XSConnectionSpec spec = new XSConnectionSpec();
    spec.setCredentialGenerator(new UserPasswordCredentialGenerator("operator", "xxxxxx"));
    Connection conn = connectionFactory.getConnection(spec);
  3. (Facultatif) Désactivez le cache local, si nécessaire.

    Toutes les connexions J2C provenant d'une fabrique de connexions unique partagent un cache local unique. Les autorisations d'entrée de grille et de mappe sont validées sur le serveur, mais pas dans le cache local. Lorsqu'une application utilise plusieurs données d'identification pour créer des données J2C et que la configuration utilise des autorisations spécifiques pour les entrées de grille et les mappes pour ces données d'identification, vous devez désactiver le cache local. Désactivez le cache local en utilisant la propriété de fabrique de connexions ObjectGridResource ou ObjectGridURL. Définissez la propriété numberOfBuckets sur 0.

  4. (Facultatif) Définissez les paramètres de règle de sécurité, si nécessaire.
    Si l'application J2EE contient le configuration de fichier RAR (resource adapter archive) de l'adaptateur de ressources eXtreme Scale imbriqué, il peut s'avérer nécessaire que vous définissiez des paramètres de règle de sécurité supplémentaires dans le fichier de règles de sécurité de l'application. Par exemple, ces règles sont requises :
    permission com.ibm.websphere.security.WebSphereRuntimePermission "accessRuntimeClasses";
    permission java.lang.RuntimePermission "accessDeclaredMembers";
    permission javax.management.MBeanTrustPermission "register";
    permission java.lang.RuntimePermission "getClassLoader";

    De plus, tout fichier de propriétés ou de ressources utilisé par les fabriques de connexions requiert des autorisations d'accès aux fichiers ou autres, tels que permission java.io.FilePermission "filePath";. Pour WebSphere Application Server, le fichier de règles est META-INF/was.policy et il est situé dans le fichier J2EE EAR.

Résultats

Les propriétés de sécurité du client que vous avez configurées dans le domaine de service de catalogue sont utilisées comme valeurs par défaut. Les valeurs que vous indiquez remplacent les propriétés définies dans les fichiers client.properties.

Que faire ensuite

Utilisez les API d'accès aux données eXtreme Scale pour développer les composants client qui doivent utiliser des transactions.