Die Applikation Cyberduck wurde mit dem Authentifizierungsverfahren OpenID Connect erweitert und mit einer IAM-Testinfrastruktur validiert, die mithilfe von Testcontainern alle abhängigen Dienste bereitstellt.
Java, Docker, Testcontainer, OpenID Connect, S3, MinIO, Keycloak
Das Ziel dieser Arbeit ist es, ein Authentifizierungsverfahren zu bestimmen, welches dem Kunden am meisten Mehrwert bietet. Dieses soll in der Kundenapplikation Cyberduck für einen etablierten Speicherdienst implementiert und getestet werden. Das Verfahren soll in einem Unternehmenskontext angewandt werden, wo die Authentifizierung über die zentrale Identitätsverwaltung abgewickelt wird.
Die Open Source Applikation “Cyberduck” ist ein Multi-Protokoll Client der Server und Cloud Storage auf Windows und MacOS verbindet. Es werden verschiedenste Protokolle wie FTP, WebDAV, Amazon S3, etc. unterstützt. Cyberduck ist im privaten Umfeld sowie im Unternehmensumfeld im Einsatz. Es handelt sich bei WebDAV und S3 um verbreitete und etablierte Protokolle, die von Storage Anbietern als Zugriffsprotokolle unterstützt werden. Die Authentifizierung und Autorisierung über WebDAV, S3 oder einem vergleichbaren Webprotokoll ist dabei variabel. In einem Unternehmen werden die Identitäten der Angestellten zentral verwaltet (z.B. Active Directory). Damit die Angestellten nicht für jede Plattform neue Anmeldeinformationen benötigen und verwaltet müssen, ist es einfacher und sicherer, wenn eine Plattform die Authentifizierung eines Benutzers an die zentrale Identitätsverwaltung des Unternehmens delegiert.
Durch eine Marktanalyse und der Untersuchung von bevorzugten Speicherplattformen für Cyberduck wurde OpenID Connect (OIDC) als Authentifizierungsverfahren ausgewählt und für den MinIO S3 Speicherdienst in der Cyberduck Applikation implementiert. Zur Validierung wurde eine IAM-Testinfrastruktur aufgebaut, um die Identitätsverwaltung und den MinIO Speicherdienst in Testcontainern zu betreiben, die zur Laufzeit des Testzyklus hochgefahren und wieder abgebaut werden. So kann die Implementation mit den beteiligten Diensten automatisiert geprüft werden.
Zusätzlich wurden manuelle Tests mit einem weiteren Identitätsprovider ausgeführt, um ein agnostisches Verhalten zu bestätigen und weitere Fehlerquellen auszuschliessen.
Projekttyp: Bachelorarbeit Informatik IP6
Projektdauer: 20. Februar 2023 - 18. August 2023
Teamgrösse: 2 Studenten
Aufwand in Personenstunden: ca. 720 Stunden (je ca. 360 Stunden pro Student)
Name: iterate GmbH
Adresse: Junkerngasse 12, 3011 Bern
Web-Adresse: ITERATE
Ismail Cadaroski, Informatik, ismail.cadaroski@students.fhnw.ch
Sherom Sandmeier, Informatik, sherom.sandmeier@students.fhnw.ch
Sebastian Graf, sebastian.graf@fhnw.ch