ℹ️ Die Tresorit API befindet sich derzeit in der Early-Adopter-Phase. Wenn Sie sie ausprobieren möchten, können Sie sich auf unsere Warteliste setzen lassen, indem Sie eine E-Mail mit Ihrem Firmennamen und einer kurzen Beschreibung Ihrer geplanten API-Nutzung an support@tresorit.com senden.
Tresorit bietet eine S3-kompatible API, mit der Anwendungen, Tools und Systeme, die den Amazon S3-Standard unterstützen, mit dem Cloud-Speicher von Tresorit interagieren können, während die Ende-zu-Ende-Verschlüsselung (E2EE) erhalten bleibt.
Die API folgt den standardmäßigen S3-Semantiken und ist daher mit vielen S3-kompatiblen Tools und SDKs wie rclone, MinIO oder standardmäßige Amazon-S3-SDKs nutzbar.
Die Speicherelemente von Tresorit werden dabei wie folgt auf S3-Konzepte abgebildet:
| Tresorit | S3-Äquivalent |
| Hauptordner | Bucket |
| Datei | Object |
Architektur
Um das Verschlüsselungsmodell von Tresorit beizubehalten, wird die API lokal in Ihrer Umgebung ausgeführt. Sie wird als Docker-Container bereitgestellt, den Sie entweder On-Premises oder in Ihrer privaten Cloud bereitstellen können.
Alle Verschlüsselungs- und Entschlüsselungsvorgänge finden innerhalb Ihrer Infrastruktur statt.
Nach der Bereitstellung und Authentifizierung stellt die API einen S3-kompatiblen Endpoint bereit, mit dem Clients eine Verbindung herstellen können.
Standard-Endpoint
Einschränkungen
Uploadgröße
Uploads einzelner Dateien sind auf 5 GB begrenzt. Downloads unterliegen keiner Größenbeschränkung.
Multipart-Uploads
PutObject-Multipart-Uploads werden derzeit nicht unterstützt.
ℹ️ Die technischen Einschränkungen sind im GitHub repository dokumentiert.
Wichtige Hinweise
Auflisten von Dateien, die von anderen Clients erstellt wurden
Standardmäßig listet die API nur Dateien auf, die über dieselbe API-Instanz erstellt wurden. Um Dateien einzuschließen, die von anderen Clients erstellt wurden (z.B. Desktop- oder Mobile-Clients), fügen Sie bei Listenanfragen folgenden Header hinzu:
Dies gilt für:
- REST GET und HEAD Listing-Anfragen
- S3-Tools wie rclone
Bucket-Benennung
Einige S3-Clients validieren Bucket-Namen sehr strikt. Stellen Sie sicher, dass die Namen der Hauptordner den standardmäßigen S3-Bucket-Benennungsregeln entsprechen, da sie sonst mit einigen S3-Clients möglicherweise nicht funktionieren.
Einrichtung
Vollständige Einrichtungsanweisungen sind im GitHub repository verfügbar.
Um die API zu verwenden, benötigen Sie:
-
Docker und Docker Compose
Die Datei docker-compose.yaml kann an Ihre Netzwerk-, Sicherheits- und Zugriffsanforderungen angepasst werden.
-
Ein Tresorit-Benutzerkonto
Sie können entweder ein bestehendes Konto oder ein speziell für den API-Zugriff eingerichtetes Konto verwenden.
Verwendung der API
S3-kompatible REST-API
Die API stellt eine S3-kompatible REST-Schnittstelle zum Speichern, Abrufen und Verwalten von Objekten bereit.
Authentifizierung und Request-Signierung
- Die API authentifiziert sich bei Tresorit mit dem bereitgestellten Tresorit-Benutzerkonto.
- Nach Authentifizierung werden die Zugangsdaten lokal in der Datei credentials.json generiert.
- Client-Anfragen an die lokal ausgeführte API-Instanz müssen mit AWS Signature Version 4 signiert werden. Die meisten S3-Tools und SDKs übernehmen die Request-Signierung automatisch.
Typische S3-Client-Konfiguration
- Access Key ID: Wert von client_id (siehe credentials.json im API-Root nach der Anmeldung)
- Secret Access Key: Wert von client_secret (siehe credentials.json im API-Root nach der Anmeldung)
- Region: us-east-1 (festgelegt)
- Service: s3
Unterstützte Operationen
Hauptordner (S3-Buckets)
PUT /{bucketName} Hauptordner erstellen
DELETE /{bucketName} Hauptordner löschen
Dateien (S3-Objects)
HEAD /{bucketName}/{filePath} Metadaten abrufen
GET /{bucketName}/{filePath} Datei herunterladen
PUT /{bucketName}/{filePath} Datei hochladen
DELETE /{bucketName}/{filePath} Datei löschen
POST /{bucketName} Mehrere Dateien löschen
ℹ️ Interaktive REST-Dokumentation ist nach der Einrichtung über Swagger verfügbar.
rclone
Sie können rclone zusammen mit der Tresorit-API verwenden, um lokale Ordner zu übertragen oder zu synchronisieren.
rclone mount Kontinuierliche Synchronisation oder Mounten
ℹ️ Konfigurationsschritte sind im GitHub repository verfügbar.
S3 SDKs
Standardmäßige Amazon-S3-SDKs können verwendet werden, um Tresorit-Speicher direkt in Ihre Anwendungen zu integrieren.