Es ist immer wieder eine Herausforderung Ordnung ins Chaos zu bringen. Insbesondere dann, wenn man auf gewachsene Umgebungen trifft, die aus der Fachabteilung heraus, vielleicht sogar als Schatten IT, ins Leben gerufen wurden. Um solche Umgebungen einzufangen und damit die Ordnung und die Hoheit zurück zu bringen kann man sich der Azure Blueprints bedienen.

Ist die Azure Umgebung aus dem Test- in den produktiven Betrieb übergegangen, wie das oft der Fall ist, dann wurden meist essentielle Dinge vergessen, oder sollten später erledigt werden. Das betrifft die Zugriffskontrolle, Leitgedanken, welche Services wie eingesetzt werden dürfen, und vieles mehr. Genau hier helfen Azure Blueprints Ordnung ins Chaos zu bringen.

Was sind Azure Blueprints?

Was sind Azure Blueprints

Microsoft definiert die Azure Blueprints wie folgt:
Deploy and update cloud environments in a repeatable manner using composable artifacts

Dieser Ansatz läßt sich dadurch realisieren, dass alle Komponenten der Blueprints aus deskriptiven Dateien bestehen und sie sich somit als Infrastructure as Code (IaC) ausrollen und pflegen lassen. Im wesentlichen kommen in den Azure Blueprints die Komponenten Role Based Access Control (RBAC), Policy Definitionen und Azure Resource Manager Templates (ARM) zusammen. Ist eine Blaupause definiert, dann kann sie auf eine oder mehrere Subscriptions angewendet werden und alle darin definierten Komponenten werden auf die neue, oder bereits bestehende, Subscription ausgerollt. So lassen sich also auch die “temporären Umgebungen” wieder in den Griff kriegen.

Azure Blueprints in der Praxis

Wie sieht so ein Azure Blueprint in der Praxis aus?
Bevor wir mit den Blaupausen starten können, müssen wir sichergehen, dass die Management Groups für den Tenant aktiviert wurden. Das geschieht mit wenigen Klicks. Voraussetzung ist, dass man die Berechtigung Globaler Administrator im Azure AD Tenant hat. Dieses Thema behandeln wir hier allerdings nicht näher.

Erstellen des ersten Blueprints

Um ein Blueprint zu erstellen, gehen wir im Azure Portal zu “All Services -> Blueprints” und erstellen eine leere Blaupause.

leeres Azure Blueprint erstellen

Ist das erledigt, können wir unserem Blueprint Artefakte hinzufügen.

Azure Blueprint Artefakte hinzufügen

In diesem Fall fügen wir auf Subscription-Ebene ein neues Artefakt hinzu und haben die Auswahl zwischen Policy Assignments, Role Assignments, ARM Templates oder einer Ressourcengruppe.

Azure Blueprint Artefakt auswählen

Wir beginnen mit einer Ressourcengruppe. In den Parametern haben wir die Auswahl, ob wir den Namen vorgeben möchten, oder ob wir die Werte beim Zuweisen angeben. Wir entscheiden uns hier für die Namensvergabe beim Zuweisen, aber legen die Region schon fest und machen sie auf diese Art unveränderlich.

Azure Blueprint Ressourcengruppe anlegen

In der Ressourcengruppe legen wir mittels Role Based Access Control bzw. Role Assignment fest, dass der Contributor bei der Zuweisung festgelegt werden muss. Dieser Benutzer, bzw. die Gruppe, erhält dann die Berechtigung die Resource Group zu verwalten.

Azure Blueprint RBAC

Zudem fügen wir auch noch ein ARM Template in diese Ressourengruppe hinzu, das eine grundlegende Netzwerkkonfiguration und ein paar weitere Ressourcen anlegt. Auch hier können wir die Parameter vorgeben, oder während der Erstellung ausfüllen lassen.

Azure Blueprint ARM Template

Schließlich legen wir noch eine Policy auf der Ebene der Subscription an, die das Deployment von Ressourcen auf die Regionen in Europa beschränkt. Dadurch können in der gesamten Subscription zukünftig nur noch in den definierten Regionen Services bereitgestellt werden.

Azure Blueprint Policy zuweisen

Das Blueprint wird nach der Bearbeitung immer zuerst als Entwurf (Draft) gespeichert. Um es anwenden zu können, klicken wir auf die 3 Punkte und wählen “Publish” aus. Hier vergeben wir eine Version z.B. “1.0”.

Publish Azure Blueprint

Durch Klick auf die Punkte können wir es jetzt anwenden. Nachdem wir “Assign” geklickt haben, wählen wir die Subscription aus, die Version des Blueprints und die Parameter.

Assign Azure Blueprint

Jetzt werden alle Anpassungen vorgenommen und auf die ausgewählte Subscription angewendet. Je nach Anzahl und Komplexität der Änderungen kann das eine Weile dauern.

Fazit

Mit den Azure Blueprints lassen sich unsere Vorgaben und Richtlinien relativ einfach auf eine oder mehrere Subscriptions anwenden. Dank des Infrastructure as Code Ansatzes sind die Anpassungen versionierbar und einer stetigen Weiterentwicklung steht nichts im Wege.

Wollen Sie mehr über die Blueprints und Compliance erfahren? Dann besuchen Sie mich doch am 27. April 2019 auf dem Global Azure Bootcamp in Mannheim. Ansonsten kontaktieren Sie uns gerne über das Kontaktformular.