diff --git a/chapters.tex b/chapters.tex index b433aa2..5062f47 100644 --- a/chapters.tex +++ b/chapters.tex @@ -11,6 +11,6 @@ \input{chapters/anforderungen.tex} \input{chapters/technische-umsetzung/main.tex} -\input{chapters/evaluation.tex} -\input{chapters/fazit.tex} +\input{chapters/evaluation-fazit.tex} +\input{chapters/ausblick.tex} diff --git a/chapters/ausblick.tex b/chapters/ausblick.tex new file mode 100644 index 0000000..29aa019 --- /dev/null +++ b/chapters/ausblick.tex @@ -0,0 +1,10 @@ +% +% Chapter: Evaluation +% + +\chapter{Ausblick} +Auf diese Umsetzung aufbauend sollten die bestehenden Ansible-Roles im Docker-Ansible-Repository +des Partneruntehmens so angepasst werden, sodass diese das \textit{resolve\_1p\_secret} Filtermodul verwenden. +Ebenso sollte das bestehende Inventar an Host-Konfigurationsdateien migriert werden, sodass diese keine Klartext-Secrets mehr beinhalten, +sondern diese nach \ac{1P} verschoben werden und die Host-Konfigurationsdateien lediglich eine IT-sicherheitstechnisch unbedenkliche Referenz auf \ac{1P}-Einträge +aufweisen. diff --git a/chapters/evaluation-fazit.tex b/chapters/evaluation-fazit.tex new file mode 100644 index 0000000..e91b6fd --- /dev/null +++ b/chapters/evaluation-fazit.tex @@ -0,0 +1,21 @@ +% +% Chapter: Evaluation +% + +\chapter{Evaluation und Fazit} +Das abschließende Ergebnis des in dieser Ausarbeitung dokumentierten Projektes +ist ein Python-Projekt, das in der Lage ist, anhand einer Berechtigungs-Konfigurationsdatei im Yaml-Format +\ac{1P}-Einträge in Entwickler*innen-Vaults zu kopieren, zu löschen und deren Referenz zu den originalen Einträgen zu wahren. +Ebenso ist Teil des Ergebnisses ein Ansible-Filtermodul, das in der Lage ist, an sich unsensible \ac{1P}-Referenzen +in Host-Konfigurationsdateien aus \ac{1P} zu derereferenzieren, sowohl als interne*r Entwickler*in ohne Entwickler*innen-Vault, +als auch als externe*r Entwickler*in mit Entwickler*innen-Vault. Dies geschiet in einer IT-sicherheitstechnich unbedenklichen +und performanten Art- und Weise. + +\section{Mehrwert für das Partnerunternehmen} +Die hier geschaffene Technologie bringt dem Partnerunternehmen zweierlei Mehrwert: +Einerseits können \ac{1P}-Berechtigungen nun ohne weiteres beschränkt an Praktikant*innen, neu einngestellte und externe Entwickler*innen +vergeben werden. Darüber hinaus bereitet diese Technologie den Weg für das Partnerunternehmen, +ihr Docker-Ansible-Repository so anzupassen, dass es keine Klartext-Secrets mehr beinhaltet. +Das erlaubt dem Partnerunternehmen diese Toolbox mit externen Entwickler*innen und Agenturen zu teilen +und somit Arbeit auszulagern. + diff --git a/chapters/evaluation.tex b/chapters/evaluation.tex deleted file mode 100644 index 8152345..0000000 --- a/chapters/evaluation.tex +++ /dev/null @@ -1,7 +0,0 @@ - -% -% Chapter: Evaluation -% - -\chapter{Evaluation} - diff --git a/chapters/fazit.tex b/chapters/fazit.tex deleted file mode 100644 index 9fa40bf..0000000 --- a/chapters/fazit.tex +++ /dev/null @@ -1,8 +0,0 @@ -% -% Chapter: Fazit -% - -\chapter{Fazit} -\section{Ausblick} -\section{Offene Problemstellungen} - diff --git a/chapters/technische-umsetzung/main.tex b/chapters/technische-umsetzung/main.tex index f45862d..c359a19 100644 --- a/chapters/technische-umsetzung/main.tex +++ b/chapters/technische-umsetzung/main.tex @@ -308,13 +308,31 @@ Dieser Prozess würde durch diese Vorkehrung so aussehen: Durch die Implementation des Mapping-Zwischenspeichers, wird die Ausführzeit von 17 Sekunden auf acht Sekunden reduziert. \subsubsection{Eintrags-Zwischenspeicher} -Wird ein Eintrag von \ac{1P} angefragt, so wird dieser lokal zwischengespeichert. Das stellt ein Problem dar, sobald der Eintrag +Wird ein Eintrag von \ac{1P} angefragt, so soll das Filtermodul diessen lokal zwischengespeichern. +Das stellt ein Problem dar, sobald der Eintrag im Entwickler*innen-Vault manuell verändert wird. Das ist jedoch nicht angedacht. -Die Entwickler*innen sollten keine Schreibberechtigung auf diesen haben und das Synchronisierungs-Werkzeug -löscht Einträge und erstellt diese neu. Damit erhalten diese eine neue \ac{UUID} und sind somit im Zwischenspeicher nicht mehr repräsentiert. +Die Entwickler*innen sollten keine Schreibberechtigung auf ihren Vault haben. +Werden originale Einträge verändert, werden die Referenzeinträge vom Synchronisierungswerkzeug gelöscht +und neu erstellt. Damit erhalten diese eine neue \ac{UUID} und sind somit im Zwischenspeicher nicht mehr repräsentiert. +Durch das Implementieren des Eintrags-Zwischenspeichers wird die Ausführzeit von acht Sekunden auf zwei Sekunden reduziert. -\subsubsection{Eintrags-Zwischenspeicher} -Durch das implementieren des Eintrags-Zwischenspeichers wird die Ausführzeit von acht Sekunden auf zwei Sekunden reduziert. +\begin{table}[!htbp] % !htbp + \centering + \begin{tabular}{|l|l|r|} + \hline + \textbf{Aktiviertes Caching-Level} & \textbf{Ausführzeit (Sekunden)}\\ + \hline + Ohne Cache & 17\\ + \hline + UUID-Mapping-Cache & 8\\ + \hline + Mapping+Item-Cache & 2\\ + \hline + \hline + \end{tabular} + \caption{Ausführzeiten des Test-Playbooks mit Testdaten (Fünf Secrets aus einem 1P-Eintrag)} + \label{tbl:ausführzeiten-versch-caches} +\end{table} \subsubsection{Sicherheit} Um zu vermeiden, dass sensible Daten, wie zum Beispiel die Secrets in den Eintrags-Daten des Passwortmanagers im Klartext im Zwischenspeicher, für viele Prozesse lesbar, gespeichert werden, diff --git a/main.pdf b/main.pdf index c5d4b5b..91f54a3 100644 Binary files a/main.pdf and b/main.pdf differ