Policies
S3 Policies
Erfahrene Nutzende finden auf dieser Seite einen Überblick zu gegebenen Policies. Die Policies regeln den Zugang zu Funktionen, die u.A. erlauben, weitere Informationen z.B. über Backup-Dauer oder Version des Buckets zu erhalten oder Dateien zu managen.
Note
Coscine unterstützt nur einen begrenzten Umfang an Policies aus der AWS S3 Dokumentation, u.A. aus Sicherheitsgründen. Weitere Informationen erhalten Sie in den nachfolgenden Kapiteln.
Nutzerfeedback und Anpassungen von Policies
Nutzer können sich an das FDM Personal ihrer Hochschule oder NFDI Konsortiums wenden, um Vorschläge für weitere oder Anpassungen bestehender Policies zu besprechen und an Coscine zu übermitteln. Zu beachten ist, dass diese Vorschläge keine Sicherheitsprobleme erzeugen dürfen, daher gibt es hohe Hürden speziell für Policies die in den Datenlebenszyklus eingreifen oder die Berechtigungen verändern.
Der Prozess sieht vor, dass erhaltenes Feedback evaluiert wird und Vorschläge gesammelt werden, die dem Coscine Steering-Board vorgelegt werden, dass über Änderungen entscheidet. Der Prozess vom Vorschlag bis zur Implementierung kann 3-6 Monate dauern. Policies, welche gerade im Prozess der Evaluation stehen, listen wir unten seperat auf.
Abweichungen zu AWS S3
Die AWS Dokumentation ist eine beliebte Nachschlagequelle zu S3 Policies. Dort gibt es eine große Zahl an Policies. Es kann jedoch in einzelnen Fällen dazu kommen, dass die Informationen dort im Detail nicht zur Lösung des Datastorage.nrw passen. Dieser ist ein S3-konformes Speichersystem, welches jedoch nicht mit dem Amazon S3-System identisch ist.
LifeCycleConfiguration
Die Coscine LifecycleConfiguration ist auf 7 Tage eingestellt und derzeit nicht veränderbar, so dass Dateiversionen bis zu 7 Tage wiederhergestellt werden können.
Aktive Policies
Die folgenden Policies können Sie via einem S3-Client z.B. MinIO nutzen, um Informationen zu gewinnen, oder Daten zu verändern. Sie können die aktiven Policies auch direkt im Git einsehen.
| Name der Policy | Erklärung |
|---|---|
s3:ListBucket |
Erlaubt alle (maximal 1000) Objekte innerhalb des Buckets aufzulisten. |
s3:ListAllMyBuckets |
Erlaubt alle Buckets aufzulisten, die dem Nutzende zugeordnet werden. |
s3:HeadBucket |
Erlaubt die Abfrage, ob die Erlaubnis vorliegt, auf den Bucket zuzugreifen. Rückgabewerte sind "200 OK", "404 Not Found" und "403 Forbidden" |
s3:HeadObject |
Erlaubt die Abfrage nach Metadaten eines Objekts. |
s3:ListObjects |
Erlaubt die Anzeige der Namen aller Objekte in einem Bucket. |
s3:GetObject |
Erlaubt den Abruf eines Objektes innerhalb eines Buckets. |
s3:GetObjectAcl |
Erlaubt die Anzeige einer Liste von Nutzenden mit ihren Zugriffsrechten auf ein Objekt. |
s3:GetObjectVersion |
Erlaubt die Anzeige von Metadaten für eine Datei und alle zugehörigen Versionsdateien. |
s3:PutObject |
Erlaubt den Upload einer Datei in einem Bucket. |
s3:DeleteObject |
Erlaubt die Löschung einer Datei in einem Bucket. |
s3:CreateMultipartUpload |
Erlaubt die Erstellung eines MultipartUpload. |
s3:ListMultipartUploads |
Erlaubt alle Teile eines MultipartUpload anzuzeigen (Aktuell nicht funktionsfähig, an einer Lösung wird gearbeitet). |
s3:AbortMultipartUpload |
Erlaubt es den MultipartUpload abzubrechen. |
s3:CompleteMultipartUpload |
Finalisiert den Upload der einzelnen Dateifragmente in ein Objekt und verifiziert die Integrität über Checksums. |
System Policies
Diese Policies sind nur im Hintergrund vom Coscine System nutzbar und stehen Nutzenden nicht zur Verfügung.
| Name der Policy | Erklärung |
|---|---|
s3:DeleteObjectVersion |
Aus Sicherheitsgründen ist diese Option nicht für Nutzende verfügbar, um zu vermeiden, dass bei einem Sicherheitsvorfall, wie z.B. einem gehackten Account, sowohl Dateien, als auch alle Backups gelöscht werden. |
Evaluation von Policies
Die folgenden Policies sind aktuell im Prozess der Analyse oder erwarten eine Entscheidung vom Coscine Steering Board hinsichtlich einer möglichen Implementierung.
| Name der Policy | Erklärung |
|---|---|
s3:GetLifecycleConfiguration |
Erlaubt die Abfrage der Lebenszeitkonfiguration, inklusive des Werts wie lange Versionen als Backup erhalten werden, bevor sie gelöscht werden. |
s3:ListBucketVersions |
Erlaubt die Auflistung aller Objektversionen innerhalb eines Buckets, die Anzeige ist begrenzt auf maximal 1000 Einträge. |
s3:GetObjectRetention |
Erlaubt die Abfrage von Einstellungen zur Aufbewahrungsmodalitäten für ein Objekt (Retention Settings), also ob und wie lange ein Objekt durch ein Object Lock auf Lesezugriff begrenzt wird. Dies betrifft nur WORM-Ressourcen. |
s3:GetBucketObjectLockConfiguration |
Erlaubt die Abfrage von Einstellungen der Objekt-Lock Konfiguration für einen Bucket. |
Abgelehnte Policies
Folgende Policies wurden bereits evaluiert und abgelehnt.
| Name der Policy | Erklärung |
|---|---|
s3:PutLifecycleConfiguration |
Die Policy wurde in dieser Form abgelehnt, da sie erlauben würde, die Aufbewahrungsdauer von Backup-Versionen von Dateien zu verringern oder die Versionierung ganz auszuschalten. Durch das Setzen der Policy wären die Risiken (z.B. Unbefugtes Löschen von Dateien und Versionen) bei einem Sicherheitsvorfall enorm. |