Bookshelf

Die Beliebtheit von Cloud-Computing hat in den letzten Jahren stark zugenommen. Die Nutzung von Cloud-Ressourcen ist sowohl für Privatpersonen als auch für Unternehmen zunehmend zur Normalität geworden. Zugleich wirft dies Fragen hinsichtlich des Datenschutzes auf, da die in Cloud-Umgebungen befindlichen Daten außerhalb des Kontrollbereiches ihres Eigentümers sind. Cloud-Provider veröffentlichen zwar ihre Datenschutzbestimmungen, allerdings ist ein vollständiges Einverständnis Voraussetzung zur Nutzung der Ressourcen. Diese Arbeit geht von einem umgedrehten Ansatz aus: Nutzer können ihre Anforderungen detailliert mithilfe von Policies ausdrücken, denen die Cloud-Anbieter zustimmen sollen.

Zur Behandlung vielfältiger Policies müssen Cloud-Plattformen umfassend erweitert werden. Diese Arbeit stellt daher eine prototypische Umsetzung für OpenStack vor. Zunächst werden grundlegende Entwurfsentscheidungen beleuchtet. Dazu gehört das Ziel, die Unterstützung von Policies so komfortabel wie möglich zu gestalten, damit die praktische Umsetzung nicht durch den notwendigen Implementierungsaufwand beeinträchtigt wird. Anschließend werden die elementaren Anpassungen an OpenStack beschrieben, unter anderem die Speicherung und Abfrage von Policies. Dazu wurde der für die Nutzerverwaltung zuständige Dienst Keystone erweitert.

Es folgt die Erläuterung einer Middleware, genannt policymiddleware, die den einzelnen OpenStack-Diensten die Policy bereitstellt. Dazu stattet sie jede bei einem Dienst eingehende Anfrage mit der Policy des anfragenden Nutzer aus. Der Dienst muss sich daher nicht mehr um die Beschaffung der Policy kümmern, sondern kann sich auf ihre Auswertung beschränken.

Schwerpunkte der Arbeit sind der Entwurf und die Umsetzung eines Frameworks, das die Erweiterung der Dienste um Unterstützung von Policies ermöglicht. Das policyextensionFramework bietet eine Plugin-Architektur, bei welcher die Erweiterungen die Unterstützung einzelner Policies umsetzen. Die Verlagerung der Logik in die Erweiterungen reduziert die benötigten Anpassungen an den eigentlichen OpenStack-Diensten auf ein Minimum.

Zur Veranschaulichung des Frameworks wurden drei Erweiterungen beispielhaft umgesetzt, bei denen die Policy die Verschlüsselung virtueller Datenträger vorschreibt, die Nutzung der Cloud-Ressourcen auf ausgewählte geographische Standorte beschränkt und eine replizierte Ausführung bestimmter virtueller Maschinen gewährleistet.

Die Arbeit geht ebenso auf Features und Interna des Frameworks ein und diskutiert die gewählten Verfahren. Insbesondere die Benutzung von Monkey Patching ist mit Nachteilen verbunden: Zwar lässt sich OpenStack damit leicht erweitern, die möglichen Inkompatibilitäten bei neuen OpenStack-Versionen beschränken diesen Weg allerdings auf Prototypen – für eine produktiv betriebene OpenStack-Instanz ist das Framework weniger geeignet.

Im Anschluss werden die erfolgte Erweiterung von OpenStacks Web-Dashboard zur dortigen Verwaltung von Policies sowie die dabei aufgetretenen Herausforderungen beschrieben.

Abschließend wird eine Anleitung zur Installation einer DevStack-Instanz bereitgestellt, welche die in dieser Arbeit vorgenommenen Anpassungen und Neuentwicklungen enthält.

Titel Entwurf und Integration eines Frameworks zur Einhaltung nutzerdefinierter Policies in OpenStack
Verfasst von Matthias Bastian
Serien-Detail Masterarbeit
Verlag Hasso-Plattner-Institut an der Universität Potsdam
Datum 31. Januar 2017
Seitenzahl 88
Hinzugef├╝gt am 29. März 2017
Hinzugef├╝gt von matthias.bastian
Buch-Verleih verf├╝gbar
PDF-Download Fachgebiets-Angeh├Ârige+ matthias.bastian