Sie können diverse Aspekte des REST-Datenservice sichern. Der Zugriff auf den REST-Datenservice von eXtreme Scale kann mit Authentifizierung und Berechtigung gesichert werden. Außerdem kann der Zugriff durch servicebezogene Konfigurationsregeln, so genannte Zugriffsregeln, gesteuert werden. Die Transportsicherheit ist der dritte Aspekt.
Der Zugriff auf den REST-Datenservice von eXtreme Scale kann mit Authentifizierung und Berechtigung gesichert werden. Authentifizierung und Berechtigung werden durch die Integration mit der Sicherheit von eXtreme Scale erreicht.
Der Zugriff kann auch über servicebezogene Konfigurationsregeln, so genannte Zugriffsregeln, gesteuert werden. Es gibt zwei Typen von Zugriffsregeln: Serviceoperationsrechte, die die CRUD-Operationen steuern, die der Service zulässt, und Entitätszugriffsrechte, die die CRUD-Operationen steuern, die für einen bestimmten Entitätstyp zulässig sind.
Die Transportsicherheit wird durch das Hosten der Containerkonfiguration für Verbindungen zwischen dem Web-Client und dem REST-Service erreicht. Außerdem wird die Transportsicherheit von der eXtreme-Scale-Clientkonfiguration (für Verbindungen zwischen dem REST-Service und dem eXtreme-Scale-Datengrid) bereitgestellt.
Der Zugriff auf den REST-Datenservice von eXtreme Scale kann mit Authentifizierung und Berechtigung gesichert werden. Authentifizierung und Berechtigung werden durch die Integration mit der Sicherheit von eXtreme Scale erreicht.
Der REST-Datenservice von eXtreme Scale verwendet die Sicherheit von eXtreme Scale für die Authentifizierung und die Berechtigung, um zu steuern, welche Benutzer auf den Service zugreifen, und welche Operationen ein Benutzer über den Service ausführen darf. Der REST-Datenservice von eXtreme Scale verwendet entweder einen konfigurierten globalen Berechtigungsnachweis mit Benutzer und Kennwort oder einen Berechtigungsnachweis, der aus einer HTTP-Basisanforderung abgeleitet wird, die mit jeder Transaktion an das eXtreme-Scale-Grid gesendet wird, in dem die Authentifizierung und Berechtigung durchgeführt werden.
Der REST-Datenservice von eXtreme Scale ruft die eXtreme-Scale-Clientbibliothek auf, wenn er mit dem eXtreme-Scale-Grid kommuniziert. Deshalb muss der eXtreme-Scale-Client für die Sicherheit von eXtreme Scale konfiguriert werden.
securityEnabled=true
credentialAuthentication=Supported [-oder-] Required
credentialGeneratorProps=user:pass [-oder-] {xor encoded user:pass}
Eine ObjectGrid-Beispielclientrichtliniendatei finden Sie unter Ausgangsverzeichnis_des_REST-Service/security/security.ogclient.properties. Lesen Sie auch den Abschnitt Clienteigenschaftendatei.
Die Konfigurationseigenschaftendatei des REST-Datenservice von eXtreme Scale muss für die Integration mit der Sicherheit von eXtreme Scale die folgenden Einträge enthalten:
ogClientPropertyFile=Dateiname
ogClientPropertyFile gibt die Position der Eigenschaftendatei an, die die im vorherigen Schritt genannten ObjectGrid-Clienteigenschaften enthält. Der REST-Service verwendet diese Datei, um den eXtreme-Scale-Client für die Kommunikation mit dem Grid zu initialisieren, wenn die Sicherheit aktiviert ist.
loginType=basic [-oder-] none
Die Eigenschaft "loginType" konfiguriert den REST-Service für den Anmeldetyp. Wenn Sie den Wert none angeben, wird die mit "credentialGeneratorProps" definierte globale Benutzer-ID/Kennwort-Kombination für jede Transaktion an das Grid gesendet. Wenn Sie den Wert basic angeben, sendet der REST-Service eine HTTP-Basisanforderung an den Client und fordert diesen zur Bereitstellung von Berechtigungsnachweisen auf, die bei der Kommunikation mit dem Grid in jeder Transaktion gesendet werden.
Weitere Informationen zu den Eigenschaften "ogClientPropertyFile" und "loginType" finden Sie unter Eigenschaftendatei des REST-Datenservice.
Der Zugriff kann auch über servicebezogene Konfigurationsregeln, so genannte Zugriffsregeln, gesteuert werden. Es gibt zwei Typen von Zugriffsregeln: Serviceoperationsrechte, die die CRUD-Operationen steuern, die der Service zulässt, und Entitätszugriffsrechte, die die CRUD-Operationen steuern, die für einen bestimmten Entitätstyp zulässig sind.
Der REST-Datenservice von eXtreme Scale lässt optional Zugriffsregeln zu, die konfiguriert werden können, um den Zugriff auf den Service und die Entitäten im Service zu beschränken. Diese Zugriffsregeln werden in der Eigenschaftendatei mit den Zugriffsrechten für den REST-Datenservice angegeben. Der Name dieser Datei wird in der Eigenschaftendatei des REST-Datenservice mit der Eigenschaft "wxsRestAccessRightsFile" angegeben. Weitere Informationen zu dieser Eigenschaft finden Sie unter Eigenschaftendatei des REST-Datenservice. Diese Datei ist eine typische Java-Eigenschaftendatei mit Schlüssel/Wert-Paaren. Es gibt zwei Typen von Zugriffsregeln: Serviceoperationsrechte, die die CRUD-Operationen steuern, die der Service zulässt, und Entitätszugriffsrechte, die die CRUD-Operationen steuern, die für einen bestimmten Entitätstyp zulässig sind.
Die Rechte für Serviceoperationen legen die Zugriffsrechte fest, die für alle ObjectGrids gelten, die über den REST-Service bereitgestellt werden, bzw. für alle Entitäten eines angegebenen ObjectGrids.
serviceOperationRights=Recht_für_Serviceoperation
serviceOperationRights.Gridname -ODER- *=Recht_für_Serviceoperation
Für diese Angaben gilt Folgendes: serviceOperationsRights=ALL
serviceOperationsRights.*=NONE
serviceOperationsRights.EMPLOYEEGRID=READSINGLE
Das erste Beispiel gibt an, dass alle Serviceoperationen für alle ObjectGrids ausgeführt werden können, die von diesem REST-Service bereitgestellt werden. Das zweite Beispiel gleicht dem ersten Beispiel insofern, dass es für alle vom REST-Service bereitgestellten ObjectGrids gilt, definiert aber das Zugriffsrecht mit NONE, d. h., dass keine Serviceoperation für die ObjectGrids zulässig ist. Das letzte Beispiel gibt an, wie die Serviceoperationen für ein bestimmtes Grid gesteuert werden. In diesem Fall werden nur "Reads" (Leseoperationen), die einen einzigen Datensatz ergeben, für alle Entitäten des EMPLOYEEGRID zugelassen.
Standardmäßig geht der REST-Service von serviceOperationsRights=ALL aus, was bedeutet, dass alle Operationen für alle von diesem Service bereitgestellten ObjectGrids zugelassen werden. Dies unterscheidet sich von der Microsoft-Implementierung, die die Standardeinstellung NONE hat, so dass keine Operationen im REST-Service zugelassen werden.
Entitätszugriffsrechte legen die Zugriffsrechte fest, die für bestimmte ObjectGrid-Entitäten gelten, die über den REST-Service bereitgestellt werden. Diese Rechte sind eine Methode für die Einrichtung einer strengeren und differenzierteren Zugriffssteuerung für einzelne ObjectGrid-Entitäten im Vergleich zu Rechten für Serviceoperationen.
entitySetRights.Grid.Name.Entitätsname=Recht_für_Entität
Für diese Angaben gilt Folgendes: Zugriffsrecht | Beschreibung |
---|---|
NONE | Weist alle Rechte für den Zugriff auf Daten zurück. |
READSINGLE | Lässt das Lesen einzelner Datenelemente zu. |
READMULTIPLE | Lässt das Lesen von Datengruppen zu. |
ALLREAD | Lässt das Lesen einzelner oder mehrerer Datengruppen zu. |
WRITEAPPEND | Lässt das Erstellen neuer Datenelemente in Datensätzen zu. |
WRITEREPLACE | Lässt das Ersetzen von Daten zu. |
WRITEDELETE | Lässt das Löschen von Datenelementen aus Datensätzen zu. |
WRITEMERGE | Lässt das Zusammenführen von Daten zu. |
ALLWRITE | Lässt das Schreiben von Daten zu (d. h. erstellen, ersetzen, zusammenfügen oder löschen). |
ALL | Lässt das Erstellen, Lesen, Aktualisieren und Löschen von Daten zu. |
Beispiel 1: Wenn "serviceOperationsRights.NorthwindGrid=READSINGLE" und "entitySetRights.NorthwindGrid.Customer=ALL" angegeben werden, wird READSINGLE für die Entität "Customer" umgesetzt.
Beispiel 2: Wenn "serviceOperationsRights.NorthwindGrid=ALLREAD" und "entitySetRights.NorthwindGrid.Customer=ALLWRITE" angegeben werden, werden nur Reads (Leseoperationen) für alle Entitäten von NorthwindGrid zugelassen. Für "Customer" verhindern die zugehörigen Entitätszugriffsrechte jedoch alle Leseoperationen (da ALLWRITE angegeben wurde), und somit gilt für die Entität "Customer" das Zugriffsrecht NONE.
Die Transportsicherheit wird durch das Hosten der Containerkonfiguration für Verbindungen zwischen dem Web-Client und dem REST-Service erreicht. Die Transportsicherheit wird für Verbindungen zwischen dem REST-Service und dem eXtreme-Scale-Grid über die eXtreme-Scale-Clientkonfiguration bereitgestellt.