Allgemeines
Der AIStor (ehemals minIO) Object Storage ist ein S3-kompatibler Object Storage, der in unserem myLab betrieben wird. Die Kompatibilität betrifft sowohl die API als auch die Polices und damit die Verwaltung der Zugriffsbeschränkungen.
Als Einstieg für die Dokumentation der API kann die MinIO S3 API Dokumentation genutzt werden. MinIO stellt auch einige eigene SDKs sowie ein Command Line Interface (CLI) zur Verfügung.
WICHTIG! Die Daten des S3 Storage werden von uns nicht gesichert. Bitte selbst für ein adäquates Backup sorgen! {.is-danger}
Erreichbarkeit
Der MinIO Object Storage ist erreichbar unter:
Zugriffsbeschränkungen
Der lesende und schreibende Zugriff auf Buckets für authentifizierte Nuter:innen wird über Policies geregelt. Policies mit schreibendem Zugriff bedeuten in der Regel, dass entsprechend nur Buckets mit den in dern Policies definierten Präfixen angelegt werden können.
Die weiter unten benannte matrixID kann bei den eigenen Daten im mylab-Authenticator eingesehen werden.
Beschäftigte der THL
Für Beschäftigte der THL gilt derzeit folgende Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::public-*",
"arn:aws:s3:::public-*/*",
"arn:aws:s3:::${jwt:upn}-*",
"arn:aws:s3:::${jwt:upn}-*/*"
]
}
]
}
Unter der UPN übergeben wird die MatrixID übergeben.
Im Klartext bedeutet dies, dass alle Beschäftigten vollen Zugriff auf Buckets haben, die mit ihrer MatrixID beginnen.
Zusätzlich alle Beschäftigten vollen Zugriff auf Buckets, die mit public- beginnen.
Studierende der THL
Für Studierende der THL gilt derzeit folgende Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::public-*",
"arn:aws:s3:::public-*/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::${jwt:upn}-*",
"arn:aws:s3:::${jwt:upn}-*/*"
]
}
]
}
Auch hier gilt: Unter der UPN wird die MatrixID der Studierenden übergeben.
Im Klartext bedeutet dies, dass alle Studierenden vollen Zugriff auf Buckets haben, die mit ihrer MatrixID beginnen.
Zusätzlich haben alle Studierenden lesenden Zugriff auf Buckets, die mit public- beginnen.
Zugriff aus Anwendungen und durch externe Nutzer:innen
Der Zugriff für Anwendungen kann über Access Keys erfolgen. Diese können über die WebUI generiert werden. Die Keys erben die Policy der anlegenden Person, können aber verschärfend eingeschränkt werden (z.B. auf nur ein bestimmtes Bucket).
Außerdem können Buckets in den Einstellungen jeweils als public markiert werden. In diesem Fall ist der Zugriff ohne Authentifizierung möglich.
WICHTIG
Letztere Möglichkeit betrifft nur den lesenden Zugriff. Schreibender Zugriff ist nur mit Authentifizierung möglich. Außerdem bitte darauf achten:publicsetzen in den Einstellungen ist nicht gleichpublic-als Präfix im Bucket-Namen. Eingeloggte Nutzer:innen können ggf. nicht auf Dateien zugreifen, wenn diese nurpublicgesetzt sind, aber keinpublic-präfix gesetzt wurde. {.is-info}
Weitere spezielle Gruppen
Falls spezielle Zugriffsbeschränkungen für geschlossene Kreise benötigt werden, können diese über zusätzliche Policies und Gruppen in Keycloak realisiert werden. Dazu bitte eine Mail ans myLab schreiben.