Benutzer-Werkzeuge

Webseiten-Werkzeuge


rest_interface

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
rest_interface [2016/12/28 16:33] – [Client-Implementierungen] lwsystemsrest_interface [2021/12/21 09:03] (aktuell) – [E-Mail mittels BennoID laden] lwsystems
Zeile 1: Zeile 1:
-====== Generelle Informationen ======+====== REST Interface ======
  
  
-Das Web-Frontend von Benno MailArchiv arbeitet nicht direkt auf dem Lucene-Index, sondern setzt HTTP Requests an das REST-Interface ab, welches die Suche mit Hilfe von Lucene durchführt. Das REST-Interface ist in "benno-rest" umgesetzt und implementiert das [[REST API Dokumentation|Benno MailArchiv REST API]].+Das REST-Interface ist in "benno-rest" umgesetzt und implementiert das [[rest_api|REST API]]. 
 + 
 +===== Frontents ===== 
 + 
 +  * Benno Web - Web-UI für direkte Benutzer-Interaktion 
 +  * [[rest.php]] - REST API Wrapper mit Authentisierung und Zugriffssteuerung 
 + 
 +Ein Frontend zur Suche in Benno MailArchiv arbeitet nicht direkt auf dem Lucene-Index, sondern setzt HTTP Requests an das REST-Interface ab, welches die Suche mit Hilfe von Lucene durchführt. 
 + 
 + 
 +===== Konfiguration =====
  
 Die Konfiguration für der Pfade für Index und Repository wird aus der Datei "/etc/benno/benno.xml" gelesen. Die Einstellungen für den integrierten HTTP Server des REST Interfaces werden in der Datei "/etc/benno/jetty.xml" hinterlegt (siehe auch: [[Benno_REST_mit_SSL-Verschlüsselung|Benno REST mit SSL-Verschlüsselung]].  Die Konfiguration für der Pfade für Index und Repository wird aus der Datei "/etc/benno/benno.xml" gelesen. Die Einstellungen für den integrierten HTTP Server des REST Interfaces werden in der Datei "/etc/benno/jetty.xml" hinterlegt (siehe auch: [[Benno_REST_mit_SSL-Verschlüsselung|Benno REST mit SSL-Verschlüsselung]]. 
Zeile 33: Zeile 43:
 Bei der Verwendung der Benno MailArchiv API sind folgende Sicherheitsaspekte unbedingt zu bedenken.  Bei der Verwendung der Benno MailArchiv API sind folgende Sicherheitsaspekte unbedingt zu bedenken. 
  
-===== Shared Secret zur Kommunikation zwischen Frontend und Backend  ======+===== Shared Secret ======
  
 Das Shared Secret ist der „Schlüssel“, um über das Frontend bzw. die API Zugriff auf das Backend des Benno MailArchiv Servers zu erhalten. Fällt das Shared Secret in falsche Hände, ist das Backend (und damit die Summe der archivierten E-Mails) nicht mehr wirksam vor Fremdzugriffen geschützt. Das Shared Secret selbstverständlich kann jederzeit einfach geändert werden.  Das Shared Secret ist der „Schlüssel“, um über das Frontend bzw. die API Zugriff auf das Backend des Benno MailArchiv Servers zu erhalten. Fällt das Shared Secret in falsche Hände, ist das Backend (und damit die Summe der archivierten E-Mails) nicht mehr wirksam vor Fremdzugriffen geschützt. Das Shared Secret selbstverständlich kann jederzeit einfach geändert werden. 
Zeile 57: Zeile 67:
  
 ====== Zugriff auf E-Mails über deren eindeutige ID im Archiv  ====== ====== Zugriff auf E-Mails über deren eindeutige ID im Archiv  ======
-Alle archivierten E-Mails haben eine eindeutige ID, über die der direkte Zugriff auf die jeweilige E-Mail möglich ist. Ähnlich wie das Shared Secret stellt diese eindeutige ID einen sicherheitsrelevanten Aspekt dar. +Alle archivierten E-Mails haben eine eindeutige ID (//BennoID//), über die der direkte Zugriff auf die jeweilige E-Mail möglich ist. Ähnlich wie das Shared Secret stellt diese eindeutige ID einen sicherheitsrelevanten Aspekt dar. 
  
 Da eine ID eindeutig eine bestimmte E-Mail im Archiv adressiert, sollte diese ID ebenso wenig wie das Shared Secret direkt an den Benutzer weiter gegeben werden! Die Kenntnis der ID ermöglicht den Zugriff auf die zugehörige E-Mail im Archiv.  Da eine ID eindeutig eine bestimmte E-Mail im Archiv adressiert, sollte diese ID ebenso wenig wie das Shared Secret direkt an den Benutzer weiter gegeben werden! Die Kenntnis der ID ermöglicht den Zugriff auf die zugehörige E-Mail im Archiv. 
  
-Hinweis: In der Benno MailArchiv WebApp werden die tatsächlichen IDs der E-Mails der Trefferliste vor dem Anwender verborgen, in dem sie in der jeweiligen Session in einer Schattentabelle auf temporäre IDs umgemapt werden. Sieht ein Anwender die IDs der E-Mails einer Trefferliste, so sind diese wertlos, da sie nicht den Original-IDs der archivierten Mails entsprechen. Ein direkter Zugriffsversuch auf eine Mail mit einer solchen temporären ID führt daher ins Leere. +Hinweis: In der Benno MailArchiv WebApp werden die tatsächlichen IDs der E-Mails der Trefferliste vor dem Anwender verborgen, in dem sie in der jeweiligen Session in einer Schattentabelle auf temporäre IDs umgemapt werden. Sieht ein Anwender die IDs der E-Mails einer Trefferliste, so sind diese wertlos, da sie nicht den Original-IDs der archivierten Mails entsprechen. Ein direkter Zugriffsversuch auf eine Mail mit einer solchen temporären ID führt daher ins Leere
 + 
 +===== E-Mail mittels BennoID laden ===== 
 +Die //BennoID// setzt sich aus dem Bezeichner für die Box und der Checksumme der E-Mail zusammen. Beide Token werden per Doppelpunkt getrennt. Die BennoID wird als Pfad relativ zum Repo-Verzeichnis des Containers aufgelöst. 
 + 
 +Der Container ist in der Konfigurationsdatei [[standard-konfiguration|benno.xml]] wie folgt konfiguriert: 
 +<file xml> 
 +<yearlyfsbox> 
 +  <fshexbennobox> 
 +    <monthlyfsjournal/> 
 +    <directory>/srv/benno/archive/repo</directory> 
 +    <subdirs>3</subdirs> 
 +    <dirlength>2</dirlength> 
 +    <compression>gzip</compression> 
 +  </fshexbennobox> 
 +</yearlyfsbox> 
 +</file> 
 + 
 +In dieser Standardkonfiguration wird die Box als Jahreszahl (//<yearlyfsbox />//) abgebildet.((Benno MaiArchiv ermittelt den Namen des Unterverzeichnisses für die Box aus der Datei ''boxstate.xml''. Diese Datei liegt im Repo-Verzeichnis und wird automatisch erstellt. Sie sollte nicht manuell verändert werden.\\ In der Regel ist der Verzeichnisname gleich dem Bezeichner der Box (also der Jahreszahl).)) 
 + 
 +Die Checksumme der BennoID wird in 3 Unterverzeichnisse (//<subdirs />//) mit einer Länge von 2 Zeichen (//<dirlength />//) unterteilt. 
 + 
 +Eine E-Mail mit der BennoID //2021:A430E04B02D18112964BF2956BB52A4DEF928266DB59E0E9A1E94FD52FD0E05E00// ist im Pfad ''2021/A4/30/E0/4B02D18112964BF2956BB52A4DEF928266DB59E0E9A1E94FD52FD0E05E00.gz'' unterhalb des Repo-Verzeichnisses ''/srv/benno/archive/repo'' zu finden.
  
 ====== Abschließender Hinweis  ====== ====== Abschließender Hinweis  ======
rest_interface.1482942789.txt.gz · Zuletzt geändert: 2016/12/28 16:33 von lwsystems