Mit der Einführung des YAML-basierten Konfigurationsformats eröffnen sich neue Möglichkeiten zur Lösung bislang herausfordernder Szenarien.
Im Einklang mit den Zielen zur Steigerung der Betriebseffizienz von Sicherheitslösungen hat das Konfigurationsmanagement zunehmend an Bedeutung gewonnen. Branchentrends wie deklarative Konfiguration, Config-as-Code und GitOps haben deutlich an Fahrt aufgenommen und erfordern neue Fähigkeiten:
- Automatisierung
Die Funktionalität zentraler Dienste wie dem Identity- und Access-Management für Kunden muss sich schnell und flexibel an veränderte Anforderungen der Anwendungen anpassen können. Angesichts deren Vielzahl und hoher Änderungsrate ist eine manuelle Konfiguration nicht nur nicht mehr zeitgemäss, sondern auch zu fehleranfällig, insbesondere unter Zeitdruck.
Die Lösung liegt in der Automatisierung einfacher, vorhersehbarer und sich wiederholender Änderungen, während UI-basierte Arbeiten für Architektur und Lösungsdesign die beste Unterstützung liefern.
- Konfigurationsformat als API
Automatisierung erfordert ein standardisiertes und stabiles Format für Konfigurationsdateien.
- Integration mit externen Tools
Um die Vorteile moderner Konfigurationsmanagement-Paradigmen zu realisieren, sind zusätzliche Werkzeuge erforderlich, da UI-basierte Tools nicht für die nötigen operativen Abläufe ausgelegt sind.
Es ist jedoch in der Regel nicht im besten Interesse der Kunden, wenn ein Produkt alle Tools „out of the box“ bereitstellt. Solche Werkzeuge erzwingen oft bestimmte Arbeitsabläufe, die möglicherweise nicht zu den individuellen Anforderungen passen. Zudem verwenden verschiedene Produkte teilweise inkompatible Ansätze.
Wir halten es daher für essenziell, nur produktspezifische Werkzeuge bereitzustellen, zum Beispiel zur Validierung automatisierter Konfigurationsänderungen vor der Auslieferung, wo generische Tools an ihre Grenzen stossen.
Für alle weiteren Anforderungen sind etablierte Standardtools oft die bessere Wahl.
Airlock IAM unterstützt ab Version 8.4 die Automatisierung der Konfiguration und ermöglicht es Kunden, von diesen Vorteilen zu profitieren.
Herausfordernde Szenarien
Neben den genannten Vorteilen kann das neue Konfigurationsmodell zwei besonders schwierige Szenarien lösen, mit denen Airlock IAM-Kunden bisher konfrontiert waren:
- Gleichzeitige Konfigurationsänderungen durch mehrere Administratoren
Mit dem aktuellen Config Editor lädt ein Administrator die aktive Konfiguration in seine Sitzung und nimmt Änderungen entsprechend seiner Aufgabe vor. Nach Abschluss der Änderungen muss die Konfiguration aktiviert werden – sie wird damit zur neuen produktiven Version und zur Basis für weitere Anpassungen.
Aufgrund der Funktionsweise des Config Editors können jedoch zwei parallel arbeitende Administratoren (oft an unterschiedlichen Bereichen der Konfiguration) Konflikte erzeugen: Die spätere Aktivierung kann die vorherigen Änderungen überschreiben.
- Dedizierte Teams für spezifische Konfigurationsbereiche
Einige Kunden weisen bestimmten Teams einzelne Aspekte der IAM-Konfiguration zu. Ein häufiges Beispiel ist das Schlüsselmanagement, bei dem ein spezialisiertes Team für alle Verschlüsselungs- und Signaturschlüssel innerhalb der Infrastruktur zuständig ist.
Derzeit unterstützt Airlock IAM keine entsprechenden Berechtigungen. Es ist z. B. nicht möglich, einem Team, das für Benutzer-Authentifizierung und Self-Service zuständig ist, Änderungen an einem Token-Issuer-Signierschlüssel zu verbieten.
Zentrales Konfigurations-Repository
Für das erste Szenario empfehlen wir die Nutzung eines zentralen Konfigurations-Repositorys – üblicherweise auf Basis von Git, aber auch andere Systeme sind denkbar.
Jeder Administrator arbeitet mit seinem eigenen, dedizierten Config Editor und lädt die aktuelle Konfiguration über Standardmechanismen, z.B. mit:
git clone https://repository.example.com/project/iam-config
Stellen wir uns vor, Peter soll die Konfiguration anpassen, um eine neue Anwendung zu unterstützen. Nach Abschluss und Validierung seiner Änderungen überträgt er diese ins Repository. Da kein anderer Administrator aktiv war, gibt es keinen Konflikt. Der automatisierte Deployment-Prozess übernimmt die neue Version und verteilt sie an die entsprechenden Airlock IAM-Installationen, die die Konfiguration erkennen und automatisch aktivieren.
Anschliessend soll Sue eine neue Option im Onboarding-Prozess hinzufügen, indem sie Schritte im Self-Registration-Flow ändert. Zur gleichen Zeit behebt Mary ein Problem bei den Benachrichtigungs-E-Mails. Ihre Änderung ist schnell erledigt, sodass sie ihre Anpassung zügig ins Repository überträgt.
Wenn Sue später versucht, ihre Änderungen zu pushen, wird sie über einen Konflikt informiert. Sie muss nun lediglich Marys Version pullen und ihre Änderungen mergen.
git pull
git merge
git push
Dieser Vorgang ist in der Regel einfach und nicht-interaktiv – es sei denn, beide haben dieselbe Einstellung geändert. In solchen Fällen bieten Git-Tools wie WinMerge oder Visual Studio Code benutzerfreundliche Möglichkeiten zur Konfliktlösung.
Aufteilen der Konfiguration
Die Lösung des zweiten Szenarios erfordert eine andere Strategie, bei der dennoch Versionskontrolle verwendet wird. Hier werden mehrere Repositories eingesetzt – jeweils eines pro Konfigurationsaspekt.
Authentifizierungs- und Zugriffskontrollmechanismen ermöglichen es, den Zugriff verschiedener Teams gezielt auf ihre jeweiligen Bereiche zu beschränken.
Zwei Voraussetzungen sind dabei unerlässlich:
- Validierung der kombinierten Konfiguration:
Die Deployment-Pipeline muss die vollständige Konfiguration validieren, nachdem die Einzelteile aus den verschiedenen Repositories zusammengeführt wurden. Insbesondere ist zu überprüfen, dass alle Verweise korrekt aufgelöst werden können.
Die entsprechende Funktionalität ist im Standardumfang von Airlock IAM enthalten. Verwenden Sie dazu den folgenden Befehl:
iam config validate -f <file>
- Aufteilung der Konfiguration nach Aspekten: Zunächst ist es notwendig, die zentrale Datei “iam-config.yaml” manuell in mehrere kleinere Dateien aufzuteilen. Best Practices dazu sind nicht Gegenstand dieses Artikels. Eine zentrale Herausforderung besteht darin, dass der Config Editor stets eine einzige, zusammengeführte Konfigurationsdatei ausgibt und vorherige Aufteilungen ignoriert.
iam-split2files
Beim Präsentieren der neuen Konfigurationsmöglichkeiten stand auch das Airlock Pre-Sales-Team vor der Herausforderung, bestehende Konfigurationsaufteilungen beizubehalten. Zu diesem Zweck wurde ein einfaches Tool entwickelt, das die Aufteilung einer Konfiguration rekonstruieren kann. Es benötigt zwei Eingaben:
- Ein Verzeichnis mit einer vorherigen, bereits aufgeteilten Version der IAM-Konfiguration.
- Eine einzelne Datei mit der aktualisierten IAM-Konfiguration.
Das Tool aktualisiert das Verzeichnis anhand der neuen Konfiguration, wobei bestehende Dateizuordnungen beibehalten werden. Die Aufteilung erfolgt so, dass das Zusammenfügen der einzelnen Dateien exakt die ursprüngliche Gesamtdatei ergibt.
Sie finden iam-split2files auf GitHub.
Airlock Consulting
Wenn wir Ihr Interesse geweckt haben und Sie die Möglichkeiten des neuen Konfigurationsmodells weiter erkunden oder massgeschneiderte Beratung zur Implementierung in Ihrem Umfeld erhalten möchten, steht Ihnen unser Consulting-Team gerne zur Seite.
Blognews direkt in Ihr Postfach
Der Airlock Newsletter informiert Sie laufend über neue Blogartikel.