Policies
S3 Policies
Erfahrene Nutzende finden auf dieser Seite einen Überblick zu gegebenen Berechtigungen ("Permissions" oder "Policy Actions"). Die Berechtigungen 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 "API Operations" aus der AWS S3 Dokumentation, u.A. aus Sicherheitsgründen. Weitere Informationen erhalten Sie in den nachfolgenden Kapiteln.
Da viele Nutzende sich bei AWS informieren, möchten wir einige Terme herausstellen, die für Coscine relevant sind, die jedoch in der AWS Dokumentation und im Alltag wegen sprachlicher Mängel manchmal durcheinander geraten. Coscine verwendet "Policies", diese erlauben bestimmte "API Operations". Die Operationen sind nur möglich, wenn "Policy Actions", auch "Permissions" genannt vorliegen. Die "Policies" sind hierbei übergeordnet und die "Permissions" regeln individuelle Aspekte, was für Nutzende eher relevant ist.
Bitte beachten Sie, zwar kann in vielen Fällen vom Namen der API Operation auf den Namen der Permission geschlossen werden und umgekehrt, dies geht jedoch nicht in allen Fällen, wie z.B.
| API Operation | Policy Action / Permission |
|---|---|
| ListObjectVersions | s3:ListBucketVersions |
Feedback und Anpassungen von Policies
Nutzende 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 API Operations. 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 Policy Actions
Die folgenden Policy Actions 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 Action / Permission | Erklärung |
|---|---|
s3:ListBucket |
Erlaubt alle (maximal 1000) Objekte innerhalb des Buckets aufzulisten. |
s3:ListAllMyBuckets |
Nur für Coscine Admins. Erlaubt alle Buckets aufzulisten, die Nutzenden zugeordnet werden. Erklärung: Die Auflistung erfolgt rein aus Gründen der Transparenz, da die Policy Action im Git repositorium einsehbar ist. Da Nutzende in Coscine nicht die Berechtigungen besitzen, gibt ein Aufruf der zugehörigen API Operation einen Fehler zurück. fehl. |
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 eine Liste von Nutzenden mit ihren Zugriffsrechten auf ein Objekt anzuzeigen. |
s3:GetObjectVersion |
Erlaubt die Anzeige von Metadaten für einen File und alle zugehörigen Versionsdateien |
s3:PutObject |
Erlaubt den Upload eines Datei in einem Bucket |
s3:DeleteObject |
Erlaubt die Löschung einer Datei in einem Bucket |
s3:CreateMultipartUpload |
Erlaubt es einen MultipartUpload zu erstellen. |
s3:AbortMultipartUpload |
Erlaubt es den MultipartUpload abzubrechen. |
s3:ListBucketMultipartUploads |
Erlaubt die Auflistung von im Prozess befindlichen Multi-partUploads für einen Bucket. Darunter fallen MultipartUploads, die nach dem Start weder als beendet noch abgebrochen gekennzeichnet wurden. |
s3:ListMultipartUploadParts |
Erlaubt die Anzeige aller vollständig übertragenen Teilpakete für ein spezifisches MultipartUpload Objekt. Pakete wo der laufende Upload-Prozess nicht abgeschlossen ist, oder durch Fehler abgebrochen wurde, werden nicht aufgelistet. |
s3:CompleteMultipartUpload |
Finalisiert den Upload der einzelnen Dateifragmente in ein Objekt und verifiziert die Integrität über Checksums |
Ehemalige Policy Actions
Einige Policy Actions waren phasenweise verfügbar und sind nun nicht mehr Teil der Policies.
| Name der Policy Action / Permission | Erklärung |
|---|---|
| s3:ListMultipartUploads | Wurde aus Coscine entfernt, da der Name mit keinem S3 Äquivalent übereinstimmte und beim Aufruf zu Fehlern führte. Zwei neue Policy Actions wurden hinzugefügt um MultipartUploads zu behandeln. |
| s3:ListObjectVersions | Wurde aus Coscine entfernt, da der Name mit keinem S3 Äquivalent übereinstimmte und beim Aufruf zu Fehlern führte. Ursache war, dass die API Operation diesen Namen trägt, die Policy Action jedoch nicht. Als Alternative wurde s3:ListBucketVersions eingefügt. |
System Policy Actions
Diese Policy Actions sind nur im Hintergrund vom Coscine System nutzbar und stehen Nutzenden nicht zur Verfügung.
| Name der Policy Action / Permission | 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: Aktuell Keine
In Implementations- und Testprozess
Die folgenden "Policy Actions" wurden durch Entscheidung vom Coscine Steering Board in den nächsten Prozessschritt gehoben, so dass eine Implementierung folgt.
| Name der Policy Action / Permission | 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:GetBucketPolicy |
Erlaubt Abfrage der Bucket Policy zu erlaubten Aktionen |
Abgelehnte Policy Actions
Folgende Policy Actions wurden bereits evaluiert und abgelehnt.
| Name der Policy Actions / Permissions | Erklärung |
|---|---|
s3:PutLifecycleConfiguration |
Die Policy Action 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. Für die Zukunft ist eine stark regulierte Implementierung über die Weboberfläche von Coscine geplant. |