Mit <kes>+ lesen

Vorteile von „Infrastructure as Code“ in der Cloud : Die Bereitstellung, Konfiguration, Aktualisierung und Löschung von Cloud-Diensten per Code

„Infrastructure as Code“ (IaC) erleichtert die Anwendung von Sicherheitsvorgaben maßgeblich: Die mithilfe von IaC erstellten Skripte können einzelne virtuelle Server bis hin zu komplexen Anwendungsszenarien bereitstellen und verwalten. So kann IaC Behörden und Unternehmen bei der sicheren Nutzung der Cloud unterstützen.

Lesezeit 5 Min.

„Infrastructure as Code“ (IaC) beschreibt ein Konzept, welches eine Bereitstellung von Ressourcen und deren Konfigurationen auf Grundlage von Skripten beziehungsweise einem Code ermöglicht. Durch IaC können Cloud-Dienste von Infrastructure as a Service (IaaS), Platform as a Service (PaaS) bis zu Software as a Service (SaaS) bereitgestellt, konfiguriert, aktualisiert und gelöscht werden.

IaC ist kein neues Konzept und ebenfalls in On-Premises-Infrastrukturen etabliert. Ein Unterschied ist, dass bei den meisten CloudAnbietern die Anzahl der möglichen Ressourcen tendenziell höher ist, da Cloud-Plattformen meist virtualisierte Ressourcen bereitstellen und die Kunden nicht eigenständig Skripte zur Umsetzung von IaC erstellen müssen. Die Skripte basieren auf standardisierten Formaten wie der „JavaScript Object Notation“ (JSON) sowie „YAML Ain‘t Markup Language“ (YAML) und werden an die definierten API-Dienste der CloudAnbieter übermittelt. Der Code ist anbieterspezifisch, und es gibt unterschiedliche Pflichtparameter, sodass vor einer Übertragung zu anderen Anbietern die Skripte angepasst werden müssen.

Chancen durch IaC

Ein Vorteil des Ausbringens und der Weiterentwicklung der eigenen Infrastruktur über IaC-Skripte ist, dass viele Konfigurationen im Code enthalten sind und sich die Abhängigkeit zu manuellen Administrationen auf Basis von Expertenwissen reduziert. Beim Updaten von Skripten werden die Änderungen an den Ressourcen übersichtlich für den Administrator zusammengefasst, was unerwünschte Veränderungen wie Fehlkonfigurationen und Downtimes verhindern kann. Darüber hinaus können durch Versionierungen Rollbacks einfacher durchgeführt werden.

Die Wiederverwendbarkeit wird ebenfalls erhöht und Bereitstellungsgeschwindigkeiten werden reduziert, da mit den Skripten Umgebungen mehrfach bereitgestellt werden und sich die konfigurierten Ressourcen leichter in andere Anwendungsszenarien übertragen lassen. Durch die Möglichkeit der mehrfachen Bereitstellungen können Entwicklungsumgebungen bei Bedarf mit den Produktionsskripten ohne Inkonsistenzen aufgebaut und nach dem Testen wieder vollständig heruntergefahren werden. Die schnelle Bereitstellung der Ressourcen bei Bedarf kann zugleich Kosten für ungenutzte Ressourcen reduzieren.

Die Skripte sind vergleichbar mit traditionellen Vorgehensweisen aus den Bereichen Development und Operations (DevOps) bei der Entwicklung von Anwendungscode. Sie können ebenfalls kollaborativ und kombiniert mit Continuous-Integration-/Continuous-Delivery- (CI/CD)-Pipelines entwickelt werden.

Cloud-Anbieter stellen meistens Vorlagen für die Ressourcen in Repositories und den zugehörigen Dokumentationen zur Verfügung, welche etablierte Härtungsmaßnahmen umfassen. Dies vereinfacht die Entwicklung der IaC-Skripte sehr. Im Code können durch die Konfigurationsmöglichkeiten die Sicherheitsvorgaben umgesetzt werden, welche sich auch leichter überprüfen lassen, da sie in DevOps-Pipelines automatisiert gegen vordefinierte Policies getestet werden und Code-Reviews möglich sind. Neben den Skripten der Cloud-Anbieter könnten in öffentlichen Repositories weitere Skripte abgelegt werden, welche zum Beispiel die korrespondierenden Kriterien für Kunden des Kriterienkatalogs C5 [1] erfüllen und so die Umsetzung von Sicherheitsanforderungen bei den Anwenderinnen und Anwendern unterstützen.

Vorteile einer Landing-Zone im Kontext von IaC

Eine Landing-Zone ist ein Service in der Cloud, welcher für größere Organisationen eine Multi-AccountStruktur abbildet, sodass verschiedene Aufgaben (z. B. Entwicklung, Betrieb, Audit) mit minimalen Rechten ausgeführt werden.

Innerhalb der Zonen ist es möglich, dass die Nutzerinnen und Nutzer nur vordefinierte Services und IaC-Vorlagen verwenden dürfen, was eine grundlegende Absicherung ermöglicht. Darüber hinaus können Richtlinien definiert werden, die bestimmte Konfigurationen verhindern oder bei Nichteinhaltung Alarme versenden.

Nach den Vorgaben der Cloud-Anbieter sollen Landing-Zones ebenfalls mit IaC bereitgestellt werden, sodass diese nachvollziehbar und Änderungen leichter ersichtlich sind. Mit dieser Technik ergeben sich neue Möglichkeiten auch für Regulatoren, um Vorgaben für betreffende Institutionen vorzugeben und skalierbar zu überprüfen. Zusammengefasst lassen sich die Vorteile von IaC durch zusätzliche Services erweitern und auch hier können Skripte bei der sicheren Bereitstellung unterstützen.

IaC kann Behörden und Unternehmen bei der sicheren Nutzung der Cloud unterstützen, da durch den codebasierten Ansatz Sicherheitskonfigurationen leicht überprüfbar sind und Fehlkonfigurationen verhindert werden.

Literatur

[1] Bundesamt für Sicherheit in der Informationstechnik (BSI), Kriterienkatalog Cloud Computing C5 (Cloud Computing Compliance Criteria Catalogue), Oktober 2020, www.bsi.bund.de/dok/7685384

Die Skripte sind vergleichbar mit traditionellen Vorgehensweisen aus den Bereichen Development und Operations (DevOps) bei der Entwicklung von Anwendungscode. Sie können ebenfalls kollaborativ und kombiniert mit Continuous-Integration-/Continuous-Delivery- (CI/CD)-Pipelines entwickelt werden.

Cloud-Anbieter stellen meistens Vorlagen für die Ressourcen in Repositories und den zugehörigen Dokumentationen zur Verfügung, welche etablierte Härtungsmaßnahmen umfassen. Dies vereinfacht die Entwicklung der IaC-Skripte sehr. Im Code können durch die Konfigurationsmöglichkeiten die Sicherheitsvorgaben umgesetzt werden, welche sich auch leichter überprüfen lassen, da sie in DevOps-Pipelines automatisiert gegen vordefinierte Policies getestet werden und Code-Reviews möglich sind. Neben den Skripten der Cloud-Anbieter könnten in öffentlichen Repositories weitere Skripte abgelegt werden, welche zum Beispiel die korrespondierenden Kriterien für Kunden des Kriterienkatalogs C5 [1] erfüllen und so die Umsetzung von Sicherheitsanforderungen bei den Anwenderinnen und Anwendern unterstützen.

Vorteile einer Landing-Zone im Kontext von IaC

Eine Landing-Zone ist ein Service in der Cloud, welcher für größere Organisationen eine Multi-AccountStruktur abbildet, sodass verschiedene Aufgaben (z. B. Entwicklung, Betrieb, Audit) mit minimalen Rechten ausgeführt werden.

Innerhalb der Zonen ist es möglich, dass die Nutzerinnen und Nutzer nur vordefinierte Services und IaC-Vorlagen verwenden dürfen, was eine grundlegende Absicherung ermöglicht. Darüber hinaus können Richtlinien definiert werden, die bestimmte Konfigurationen verhindern oder bei Nichteinhaltung Alarme versenden.

Nach den Vorgaben der Cloud-Anbieter sollen Landing-Zones ebenfalls mit IaC bereitgestellt werden, sodass diese nachvollziehbar und Änderungen leichter ersichtlich sind. Mit dieser Technik ergeben sich neue Möglichkeiten auch für Regulatoren, um Vorgaben für betreffende Institutionen vorzugeben und skalierbar zu überprüfen. Zusammengefasst lassen sich die Vorteile von IaC durch zusätzliche Services erweitern und auch hier können Skripte bei der sicheren Bereitstellung unterstützen.

IaC kann Behörden und Unternehmen bei der sicheren Nutzung der Cloud unterstützen, da durch den codebasierten Ansatz Sicherheitskonfigurationen leicht überprüfbar sind und Fehlkonfigurationen verhindert werden.

Literatur

[1] Bundesamt für Sicherheit in der Informationstechnik (BSI), Kriterienkatalog Cloud Computing C5 (Cloud Computing Compliance Criteria Catalogue), Oktober 2020, www.bsi.bund.de/dok/7685384

Diesen Beitrag teilen: