nw  

Cyberduck goes Enterprise

Zusammenfassung

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.

Schlüsselbegriffe

Java, Docker, Testcontainer, OpenID Connect, S3, MinIO, Keycloak

Zielsetzung

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.

Ausgangslage

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.

Ergebnisse

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.

Applikationskommunikation

Zusätzlich wurden manuelle Tests mit einem weiteren Identitätsprovider ausgeführt, um ein agnostisches Verhalten zu bestätigen und weitere Fehlerquellen auszuschliessen.

Projektdaten

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)

Auftraggeber

Name: iterate GmbH

Adresse: Junkerngasse 12, 3011 Bern

Web-Adresse: ITERATE

Projektteam

Ismail Cadaroski, Informatik, ismail.cadaroski@students.fhnw.ch

Sherom Sandmeier, Informatik, sherom.sandmeier@students.fhnw.ch

Kontakt

Sebastian Graf, sebastian.graf@fhnw.ch

<< zurück