This is an old version of the document!
Amazon AWS bzw. der Amazon S3 Storage kann (ebenso wie S3-kompatible Storagesysteme) zur Ablage der archivierten E-Mails verwendet werden.
If emails are to be archived in compliance with German law (especially the German Principles for the Proper Keeping and Use of Books, Records and Documents in Electronic Form and for Data Access, etc.), the use of Amazon S3 AWS as an external cloud storage technology (i.e., storing the archived emails in Amazon AWS) involves legal aspects that must be clarified and contractually agreed upon with Amazon. In particular, the physical storage location of the archived emails must be contractually agreed upon with Amazon, as GoBD-compliant archiving is only possible if the stored emails are kept within the territory of the Federal Republic of Germany. Any use outside this area should not be pursued without the express permission of the tax authorities or the responsible tax office.
This also applies, of course, to S3-compatible storage solutions used with other cloud service providers. The same applies to in-house storage solutions with an S3 interface, provided they are used outside the company's own cloud environment.
The aforementioned legal notices do not constitute legal advice. They serve only as general information. We assume no liability for the accuracy or completeness of the information. All liability is excluded.
Um die E-Mails des Repos in S3 zu speichern wird das Paket benno-storage-s3 benötigt.
apt install benno-storage-s3
The configuration is entered in the configuration file /etc/benno/benno.xml .
<simplecontainer> <identifier>Mandant1</identifier> <conditions> <or> <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.de</domain> <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.com</domain> </or> </conditions> <luceneindex version="LUCENE_36"> <directory>/srv/benno/mandant1/index</directory> </luceneindex> <boxgenerator rotation="YEARLY"> <directory>/srv/benno/mandant1/repo</directory> <boxtemplate> <compression>gzip</compression> <journal rotation="MONTHLY"/> <storage driver="s3"> <identifier>Bucket1</identifier> <endpoint>https://gos3.io</endpoint> <authentication> <authKeyId>YOUR_S3_AUTH_KEY_ID</authKeyId> <authKey>YOUR_S3_AUTH_KEY</authKey> </authentication> </storage> </boxtemplate> </boxgenerator> </simplecontainer>
The container is addressed via its container identifier during the search. This should be a descriptive name for the client.
<simplecontainer> <identifier>Mandant1</identifier>
Im Tag <conditions /> unterhalb von <simplecontainer /> wird festgelegt, welche Sender- und Empfängeradressen der E-Mails in diesem Container gespeichert werden.
<simplecontainer> <conditions> <or> <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.de</domain> <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.com</domain> </or> </conditions>
<simplecontainer> <luceneindex version="LUCENE_36"> <directory>/srv/benno/mandant1/index</directory> </luceneindex>
Der Index muss im Filesytem des Benno MailArchiv Servers gespeichert werden (= wird nicht im S3-Storage abgelegt). Hier wird der Pfad zum Index festgelegt. Das Verzeichnis wird beim Start des Archvierungs-Daemons automatisch erzeugt.
Die Metadaten des Repos werden im Filesystem gespeichert. Der hier angegebene Pfad muss für jeden Container unterschiedlich sein. Dieser Pfad ist gleichzeitig das Prefix bei der Speicherung in S3.
Dieser Pfad wird im <directory />-Tag innerhalb vom <boxgenerator /> konfiguriert.
<boxgenerator rotation="YEARLY"> <directory>/srv/benno/mandant1/repo</directory>
Alternativ kann auch per Endpoint-URL () auf den Bucket zugegriffen werden.
<storage driver="s3"> <identifier>Bucket1</identifier> <endpoint>https://gos3.io</endpoint> <authentication> <authKeyId>YOUR_S3_AUTH_KEY_ID</authKeyId> <authKey>YOUR_S3_AUTH_KEY</authKey> </authentication> </storage>
AWS Storage is configured via the "Access Key Id" (<authKey /> ) and “Secret Access Key” (<authKey /> ) and the region (<region /> ).
<storage driver="s3"> <identifier>Bucket1</identifier> <region>eu-central-1</region> <authentication> <authKeyId>YOUR_S3_AUTH_KEY_ID</authKeyId> <authKey>YOUR_S3_AUTH_KEY</authKey> </authentication> </storage>
Der Identifier unterhalb von <storage /> legt fest, in welchem Bucket die Objekte gespeichert werden. Die Bucket-Id kann dabei mehrfach vergeben werden.
Within the bucket, objects are stored with a prefix .
If no bucket with this name exists, one will be created.
<storage driver="s3"> <identifier>Bucket1</identifier>