Sicherheits-API

WebSphere eXtreme Scale verwendet eine offene Sicherheitsarchitektur. Sie bildet das Basissicherheits-Framework für die Authentifizierung, Berechtigung und Transportsicherheit und fordert Benutzer auf, Plug-ins für die Vervollständigung der Informationstechnologie zu implementieren.

Die folgende Abbildung zeigt den Basisablauf der Clientauthentifizierung und -berechtigung für einen eXtreme-Scale-Server.

Abbildung 1. Ablauf der Clientauthentifizierung und -berechtigung
1. Client fordert einen Berechtigungsnachweis vom Generator für Berechtigungsnachweise an. 2. Generierter Berechtigungsnachweis wird an die Serverlaufzeit gesendet. 3. Berechtigungsnachweis wird an den Authentifikator gesendet. 4. Berechtigungsnachweis sendet an den Authentifikator. 5. Berechtigungsnachweis sendet an Benutzerberechtigung. 6. Berechtigung wird an die Serverlaufzeitumgebung gesendet. 7. Laufzeitumgebung sendet Subject-Objekt und Berechtigung an ObjectGrid-Berechtigung. 8. ObjectGrid-Berechtigung sendet Subject-Objekt und Berechtigung an Berechtigungsservice.

Der Authentifizierungsablauf und der Berechtigungsablauf sind im Folgenden beschrieben:

Authentifizierungsablauf

  1. Der Authentifizierungsablauf beginnt damit, dass ein eXtreme-Scale-Client einen Berechtigungsnachweis abruft. Der Abruf erfolgt über das Plug-in "com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator".
  2. Ein CredentialGenerator-Objekt weiß, wie ein gültiger Clientberechtigungsnachweis, z. B. eine Kombination von Benutzer-ID und Kennwort, ein Kerberos-Ticket usw., generiert wird. Dieser generierte Berechtigungsnachweis wird an den Client zurückgesendet.
  3. Nachdem der Client das Credential-Objekt über das CredentialGenerator-Objekt abgerufen hat, wird dieses Credential-Objekt zusammen mit der eXtreme-Scale-Anforderung an den eXtreme-Scale-Server gesendet.
  4. Der eXtreme-Scale-Server authentifiziert das Credential-Objekt, bevor er die eXtreme-Scale-Anforderung verarbeitet. Anschließend verwendet der Server das Authenticator-Plug-in, um das Credential-Objekt zu authentifizieren.
  5. Das Authenticator-Plug-in stellt eine Schnittstelle zur Benutzerregistry dar, z. B. einem LDAP-Server (Lightweight Directory Access Protocol) oder einer Benutzerregistry des Betriebssystems. Das Authenticator-Plug-in tätigt Rückfragen bei der Benutzerregistry und trifft Authentifizierungsentscheidungen.
  6. Wenn die Authentifizierung erfolgreich ist, wird ein Subject-Objekt zurückgegeben, das diesem Client präsentiert wird.

    Berechtigungsablauf

    WebSphere eXtreme Scale verwendet einen berechtigungsbasierten Berechtigungsmechanismus und hat verschiedene Berechtigungskategorien, die von verschiedenen Berechtigungsklassen dargestellt werden. Ein com.ibm.websphere.objectgrid.security.MapPermission-Objekt stellt beispielsweise die Berechtigungen zum Lesen, Schreiben, Einfügen, Ungültigmachen und Entfernen der Dateneinträge in einer ObjectMap dar. Da WebSphere eXtreme Scale die JAAS-Berechtigung (Java Authentication and Authorization Service) direkt unterstützt, können Sie JAAS für die Berechtigungsverarbeitung verwenden, indem Sie Berechtigungsrichtlinien festlegen.

    Außerdem unterstützt eXtreme Scale angepasste Berechtigungen. Angepasste Berechtigungen werden über das Plug-in "com.ibm.websphere.objectgrid.security.plugins.ObjectGridAuthorization" integriert. Der Ablauf der Kundenberechtigung wird im Folgenden beschrieben.

  7. Die Laufzeitumgebung des Servers sendet das Subject-Objekt und die erforderliche Berechtigung an das Berechtigungs-Plug-in.
  8. Das Berechtigungs-Plug-in tätigt Rückfragen beim Berechtigungsservice und trifft eine Berechtigungsentscheidung. Wenn die Berechtigung für dieses Subject-Objekt erteilt ist, wird der Wert true zurückgeben, andernfalls der Wert false.
  9. Diese Berechtigungsentscheidung (true oder false) wird an die Laufzeitumgebung des Servers zurückgegeben.

Sicherheitsimplementierung

In diesem Abschnitt wird beschrieben, wie Sie eine eXtreme-Scale-Implementierung und die Plug-in-Implementierungen programmieren. Der Abschnitt ist nach den verschiedenen Sicherheitsfeatures aufgebaut. In jedem Unterabschnitt erfahren Sie etwas über die relevanten Plug-ins und deren Implementierung. Im Abschnitt zur Authentifizierung lernen Sie, wie Sie eine Verbindung zu einer sicheren Implementierungsumgebung von WebSphere eXtreme Scale herstellen.

Clientauthentifizierung: Im Abschnitt zur Clientauthentifizierung wird beschrieben, wie ein eXtreme-Scale-Client einen Berechtigungsnachweis abruft und wie ein Server den Client authentifiziert. Es wird erläutert, wie ein Client von WebSphere eXtreme Scale eine Verbindung zu einem sicheren Server von WebSphere eXtreme Scale herstellt.

Berechtigung: Im Abschnitt zur Berechtigung wird erläutert, wie Sie die Schnittstelle "ObjectGridAuthorization" verwenden, um zusätzlich zur JAAS-Berechtigung eine Kundenberechtigung durchführen.

Grid-Authentifizierung: Im Abschnitt zur Datengridauthentifizierung wird beschrieben, wie Sie die Schnittstelle "SecureTokenManager" verwenden, um den geheimen Schlüssel eines Servers sicher zu transportieren.

JMX-Programmierung (Java Management Extensions): Wenn der eXtreme-Scale-Server gesichert ist, muss der JMX-Client unter Umständen einen JMX-Berechtigungsnachweis an den Server senden.