Anwendungsclientauthentifizierung

Die Anwendungsclientauthentifizierung setzt sich aus der Aktivierung der Client/Server-Sicherheit, der Authentifizierung des Berechtigungsnachweises und der Konfiguration eines Authentifikators und eines Generators für Systemberechtigungsnachweise zusammen.

Client/Server-Sicherheit aktivieren

Für eine erfolgreiche Authentifizierung bei ObjectGrid müssen Sie die Sicherheit im Client und im Server aktivieren.

Clientsicherheit aktivieren

WebSphere eXtreme Scale stellt eine Beispielclienteigenschaftendatei mit dem Namen sampleClient.properties im Verzeichnis WAS-Stammverzeichnis/optionalLibraries/ObjectGrid/properties für eine Installation von WebSphere Application Server bzw. im Verzeichnis /ObjectGrid/properties für eine heterogene Serverinstallation bereit. Sie können diese Schablonendatei mit entsprechenden Werten anpassen. Setzen Sie die Eigenschaft "securityEnabled" in der Datei objectgridClient.properties auf true. Die Eigenschaft "securityEnabled" gibt an, ob die Sicherheit aktiviert ist. Wenn ein Client eine Verbindung zu einem Server herstellt, muss die Eigenschaft "securityEnabled" auf der Client- und auf der Serverseite denselben Wert haben: true oder false. Ist die Sicherheit beispielsweise im verbindungsherstellenden Server aktiviert, muss die Eigenschaft im Client auf true gesetzt werden, damit die Verbindung zum Server hergestellt werden kann.

Die Schnittstelle "com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration" stellt die Datei security.ogclient.props dar. Sie können die allgemein zugängliche Anwendungsprogrammierschnittstelle "com.ibm.websphere.objectgrid.security.config.ClientSecurityConfigurationFactory" verwenden, um eine Instanz dieser Schnittstelle mit Standardwerten zu erstellen. Sie können aber auch eine Instanz erstellen, indem Sie die Datei mit den Sicherheitseigenschaften des ObjectGrid-Clients übergeben. Die Datei security.ogclient.props enthält weitere Eigenschaften. Weitere Einzelheiten finden Sie in der Dokumentation zur API "ClientSecurityConfiguration" und in der Dokumentation zur API "ClientSecurityConfigurationFactory".

Serversicherheit aktivieren

Zum Aktivieren der Sicherheit auf der Serverseite können Sie die Eigenschaft securityEnabled in der Datei security.xml auf true setzen. Verwenden Sie eine XML-Sicherheitsdeskriptordatei, um die Sicherheit des Datengrids so zu definieren, dass die gridweite Sicherheitskonfiguration von der Konfiguration, die sich nicht auf die Sicherheit bezieht, isoliert wird.

Authentifizierung des Berechtigungsnachweises

Nachdem der eXtreme-Scale-Client das Credential-Objekt mit dem CredentialGenerator-Objekt abgerufen hat, wird das Credential-Objekt zusammen mit der Clientanforderung an den eXtreme-Scale-Server gesendet. Der Server authentifiziert das Credential-Objekt, bevor er die Anforderung verarbeitet. Bei erfolgreicher Authentifizierung des Credential-Objekts wird ein Subject-Objekt zurückgegeben, dass dieses Credential-Objekt repräsentiert. Dieses Subject-Objekt wird anschließend für die Berechtigung der Anforderung verwendet.

Setzen Sie die Eigenschaft credentialAuthentication in den Client- und Servereigenschaftendateien so, dass die Authentifizierung des Berechtigungsnachweises aktiviert wird. Weitere Informationen finden Sie in den Abschnitten Clienteigenschaftendatei und Servereigenschaftendatei.

Die folgende Tabelle enthält eine Übersicht über die für verschiedene Einstellungen zu verwendenden Authentifizierungsverfahren.

Tabelle 1. Authentifizierung des Berechtigungsnachweises bei Client- und Servereinstellungen
Authentifizierung des Clientberechtigungsnachweises Authentifizierung des Serverberechtigungsnachweises Ergebnis
Nein Nie Inaktiviert
Nein Unterstützt Inaktiviert
Nein Erforderlich Fehlersituation
Unterstützt Nie Inaktiviert
Unterstützt Unterstützt Aktiviert
Unterstützt Erforderlich Aktiviert
Erforderlich Nie Fehlersituation
Erforderlich Unterstützt Aktiviert
Erforderlich Erforderlich Aktiviert

Authentifikator konfigurieren

Der eXtreme-Scale-Server verwendet das Authenticator-Plug-in, um das Credential-Objekt zu authentifizieren. Eine Implementierung der Schnittstelle "Authenticator" ruft das Credential-Objekt ab und authentifiziert es dann bei einer Benutzerregistry, z. B. einem LDAP-Server (Lightweight Directory Access Protocol) usw. eXtreme Scale stellt keine Registrykonfiguration bereit. Die Herstellung einer Verbindung zu und die Authentifizierung bei einer Benutzerregistry muss in diesem Plug-in implementiert werden.

Eine Authenticator-Implementierung extrahiert beispielsweise die Benutzer-ID und das Kennwort aus dem Berechtigungsnachweis, verwendet diese Informationen für die Herstellung einer Verbindung zu einem und Validierung bei einem LDAP-Server und erstellt als Ergebnis der Authentifizierung ein Subject-Objekt. Die Implementierung kann JAAS-Anmeldemodule (Java Authentication and Authorization Service) verwenden. Als Ergebnis der Authentifizierung wird ein Subject-Objekt zurückgegeben.

Sie können den Authentifikator, wie im folgenden Beispiel gezeigt, in der XML-Sicherheitsdeskriptordatei konfigurieren:
<?xml version="1.0" encoding="UTF-8"?>
<securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
	xmlns="http://ibm.com/ws/objectgrid/config/security">

	<security securityEnabled="true"
        loginSessionExpirationTime="300">
	
		<authenticator className ="com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginAuthenticator">
        </authenticator>

	</security>
	
</securityConfig>

Verwenden Sie die Option -clusterSecurityFile beim Starten eines sicheren Servers, um die XML-Sicherheitsdatei festzulegen. Beispiele zum Starten eines sicheren Servers finden Sie unter Lernprogramm zur Java-SE-Sicherheit - Schritt 2.

Generator für Systemberechtigungsnachweise konfigurieren

Der Generator für Systemberechtigungsnachweise wird für die Darstellung einer Factory für die Systemberechtigungsnachweise verwendet. Ein Systemberechtigungsnachweis gleicht einem Administratorberechtigungsnachweis. Sie können das Element SystemCredentialGenerator, wie im folgenden Beispiel gezeigt, in der XML-Katalogsicherheitsdatei konfigurieren:
<systemCredentialGenerator className ="com.ibm.websphere.objectgrid.security.plugins.
	builtins.UserPasswordCredentialGenerator">
                    <property name="properties" type="java.lang.String" value="manager manager1"
						description="username password" />
  </systemCredentialGenerator>
Zu Demonstrationszwecken werden Benutzername und Kennwort in Klartext gespeichert. Speichern Sie den Benutzernamen und das Kennwort in einer Produktionsumgebung nicht in Klartext.

WebSphere eXtreme Scale stellt einen Standardgenerator für Systemberechtigungsnachweise bereit, der die Serverberechtigungsnachweise verwendet. Wenn Sie den Generator für Systemberechtigungsnachweise nicht explizit angeben, wird dieser Standardgenerator für Systemberechtigungsnachweise verwendet.