J2C-Clientverbindungen sichern

[Version 8.5 und höher] Verwenden Sie die J2C-Architektur (Java 2 Connector), um Verbindungen zwischen Clients von WebSphere eXtreme Scale und Ihren Anwendungen zu sichern.

Informationen zu diesem Vorgang

Anwendungen referenzieren die Verbindungsfactory, woraufhin die Verbindung zum fernen Datengrid aufgebaut wird. Jede Verbindungsfactory hostet eine einzelne Clientverbindung von eXtreme Scale, die für alle Anwendungskomponenten wiederverwendet wird.
Wichtig: Da die Clientverbindung von eXtreme Scale einen nahen Cache enthalten kann, ist es wichtig, dass Anwendungen eine Verbindung nicht gemeinsam nutzen. Es muss eine Verbindungsfactory für jede Anwendungsinstanz vorhanden sein, um Probleme mit der gemeinsamen Nutzung von Objekten durch mehrere Anwendungen zu vermeiden.
Sie können den Berechtigungsnachweisgenerator mit der API oder in der Clienteigenschaftendatei festlegen. In der Clienteigenschaftendatei werden die Eigenschaften "securityEnabled" und "credentialGenerator" verwendet. Das folgende Codebeispiel ist aus Gründen der besseren Übersichtlichkeit auf mehrere Zeilen verteilt:
securityEnabled=true
credentialGeneratorClass=com.ibm.websphere.objectgrid.security.plugins.builtins.
     UserPasswordCredentialGenerator
credentialGeneratorProps=operator XXXXXX

Der Berechtigungsnachweisgenerator und die Berechtigungsnachweise in der Clienteigenschaftendatei werden für die Verbindungsoperation von eXtreme Scale und die J2C-Standardberechtigungsnachweise verwendet. Deshalb werden die Berechtigungsnachweise, die mit der API angegeben werden, beim Herstellen der J2C-Verbindung für die J2C-Verbindung verwendet. Wenn beim Herstellen der J2C-Verbindung jedoch keine Berechtigungsnachweise angegeben werden, wird der Berechtigungsnachweisgenerator in der Clienteigenschaftendatei verwendet.

Vorgehensweise

  1. Konfigurieren Sie den sicheren Zugriff, wobei die J2C-Verbindung den Client von eXtreme Scale darstellt. Verwenden Sie die Verbindungsfactoryeigenschaft "ClientPropertiesResource" oder "ClientPropertiesURL", um die Clientauthentifizierung zu konfigurieren.
  2. Konfigurieren Sie die Clientsicherheitseigenschaften so, dass die Verbindungsfactory verwendet wird, die auf das entsprechenden Berechtigungsnachweisgeneratorobjekt für eXtreme Scale verweist. Diese Eigenschaften sind auch mit der Serversicherheit von eXtreme Scale kompatibel. Verwenden Sie beispielsweise den Berechtigungsnachweisgenerator "WSTokenCredentialGenerator" für WebSphere-Berechtigungsnachweise, wenn eXtreme Scale mit WebSphere Application Server installiert wird. Verwenden Sie alternativ den Berechtigungsnachweisgenerator "UserPasswordCredentialGenerator", wenn Sie eXtreme Scale in einer eigenständigen Umgebung ausführen. Im folgenden Beispiel werden die Berechtigungsnachweise programmgesteuert mit dem API-Aufruf und nicht über die Konfiguration in den Clienteigenschaften übergeben:
    XSConnectionSpec spec = new XSConnectionSpec();
    spec.setCredentialGenerator(new UserPasswordCredentialGenerator("operator", "xxxxxx"));
    Connection conn = connectionFactory.getConnection(spec);
  3. (Optional) Inaktivieren Sie ggf. den nahen Cache.

    Alle J2C-Verbindungen aus einer Verbindungsfactory verwenden denselben nahen Cache. Grideintragsberechtigungen und Map-Berechtigungen werden im Server, aber nicht im nahen Cache validiert. Wenn eine Anwendung mehrere Berechtigungsnachweise zum Erstellen von J2C-Verbindungen verwendet und die Konfiguration bestimmte Berechtigungen für Grideinträge und Maps für diese Berechtigungsnachweise verwendet, inaktivieren Sie den nahen Cache. Inaktivieren Sie den nahen Cache mit der Verbindungsfactoryeigenschaft "ObjectGridResource" oder "ObjectGridURL". Setzen Sie die Eigenschaft "numberOfBuckets" auf 0.

  4. (Optional) Legen Sie die ggf. die Sicherheitsrichtlinieneinstellungen fest.
    Wenn die J2EE-Anwendung die Konfiguration der eingebetteten RAR-Datei von eXtreme Scale enthält, müssen Sie möglicherweise weitere Sicherheitsrichtlinieneinstellungen in der Sicherheitsrichtliniendatei für die Anwendung festlegen. Die folgenden Richtlinien sind beispielsweise erforderlich:
    permission com.ibm.websphere.security.WebSphereRuntimePermission "accessRuntimeClasses";
    permission java.lang.RuntimePermission "accessDeclaredMembers";
    permission javax.management.MBeanTrustPermission "register";
    permission java.lang.RuntimePermission "getClassLoader";

    Außerdem erfordern alle Eigenschaften- und Ressourcendateien, die von Verbindungsfactorys verwendet werden, Datei- oder andere Berechtigungen, wie z. B. permission java.io.FilePermission "filePath";. Die Richtliniendatei für WebSphere Application Server ist META-INF/was.policy und befindet sich in der J2EE-EAR-Datei.

Ergebnisse

Die Clientsicherheitseigenschaften, die Sie in der Katalogservicedomäne konfiguriert haben, werden als Standardwerte verwendet. Die Werte, die Sie angeben, überschreiben alle Eigenschaften, die in den Dateien client.properties definiert sind.

Nächste Schritte

Verwenden Sie die Datenzugriffs-APIs von eXtreme Scale, um Clientkomponenten zu entwickeln, die Transaktionen verwenden sollen.