Erstellung und Strukturierung benutzerdefinierter Richtlinien in Azure Azure Policy: Automatisierung in der Cloud

Von Thomas Joos 5 min Lesedauer

Azure Policy ist ein Cloud-Dienst, der zur Verwaltung von Governance und Compliance in Microsoft Azure-Umgebungen dient. Er ermöglicht es Administratoren, Regeln und Anforderungen zu definieren, um sicherzustellen, dass Ressourcen innerhalb von Azure den Unternehmensstandards und regulatorischen Anforderungen entsprechen.

Eine einheitliche Ressourcenkontrolle kann Cloud-Compliance garantieren, indem die Anzahl externer Genehmigungen durch Richtlinienmanagement gesenkt wird.(Bild:  MYZONEFOTO - stock.adobe.com)
Eine einheitliche Ressourcenkontrolle kann Cloud-Compliance garantieren, indem die Anzahl externer Genehmigungen durch Richtlinienmanagement gesenkt wird.
(Bild: MYZONEFOTO - stock.adobe.com)

Die Hauptfunktionen von Azure Policy umfassen die Erstellung und Zuweisung von Richtlinien, die Überwachung der Ressourcen-Compliance und die Durchsetzung von Richtlinien in Echtzeit. Azure Policy definiert und verwaltet Richtlinien, die auf Ressourcen in Azure angewendet werden. Der Dienst ermöglicht Administratoren, Regeln zu erstellen, die sicherstellen, dass die Ressourcen bestimmten Konfigurationsanforderungen entsprechen. Azure Policy arbeitet auf einer deklarativen Basis, was bedeutet, dass die gewünschten Zustände von Ressourcen beschrieben werden und das System automatisch sicherstellt, dass die Ressourcen diesen Zuständen entsprechen.

Funktionalität und Nutzung von Azure Policy

Jede Interaktion mit Azure erfolgt über den Azure Resource Manager (ARM), der als zentrale Instanz fungiert, um Richtlinien durchzusetzen. Durch Azure Policy können Administratoren spezifische Anforderungen definieren, die auf verschiedenen Ebenen der Azure-Hierarchie angewendet werden, darunter Management Groups, Abonnements und Ressourcengruppen. Die hierarchische Struktur ermöglicht eine konsistente Anwendung von Richtlinien über mehrere Ebenen hinweg.

Verwalten und Konfigurieren von Definitionen in Azure Policy.(Bild:  Joos - Microsoft)
Verwalten und Konfigurieren von Definitionen in Azure Policy.
(Bild: Joos - Microsoft)

Richtlinien werden als JSON-Definitionen erstellt, welche die Bedingungen und Einstellungen spezifizieren. Eine typische Richtlinie enthält eine Bedingung, die festlegt, welche Ressourcen betroffen sind, und einen Zustand/Effekt, der beschreibt, welche Aktion ausgeführt wird, wenn die Bedingung erfüllt ist. Zustände können variieren, von der Überprüfung (Audit) über die Ablehnung (Deny) bis hin zur automatischen Änderung (Append, Modify).

Um die Verwaltung großer Mengen an Richtlinien zu vereinfachen, werden mehrere Richtlinien häufig zu Initiativen zusammengefasst. Eine Initiative ist eine Sammlung von Richtlinien, die als Gruppe zugewiesen und überwacht werden können. Dies erleichtert die Verwaltung und Nachverfolgung der Einhaltung von Richtlinien. Initiativen sind Sammlungen einzelner Richtliniendefinitionen, die als Einheit zugewiesen werden können. Initiativen bestehen aus Gruppen, die verwandte Richtlinienobjekte zusammenfassen.

Diese Gruppen helfen, die Initiative zu strukturieren und den Zweck der enthaltenen Richtlinien klar zu definieren. Beispielsweise könnten alle Richtlinien zur Bedrohungserkennung in einer Gruppe zusammengefasst sein, während eine andere Gruppe Richtlinien zur Authentifizierung enthält. Initiativen erleichtern die Verwaltung komplexer Compliance-Anforderungen. Beispielsweise können Initiativen, die mehrere Richtlinien zur Einhaltung von HIPAA oder NIST SP 800-53 enthalten, auf Abonnements angewendet werden, um sicherzustellen, dass alle relevanten Vorschriften eingehalten werden.

Überwachung und Compliance

Azure Policy bietet verschiedene Modi zur Überwachung und Durchsetzung von Richtlinien. Im Audit-Modus wird geprüft, ob Ressourcen den Richtlinien entsprechen, ohne sofortige Änderungen vorzunehmen. Dies ermöglicht es, potenzielle Probleme zu identifizieren und zu beheben, bevor striktere Maßnahmen wie die Ablehnung von nicht-konformen Ressourcen ergriffen werden.

Richtlinien in Azure Policy verwalten.(Bild:  Joos - Microsoft)
Richtlinien in Azure Policy verwalten.
(Bild: Joos - Microsoft)

Compliance-Dashboards im Azure-Portal bieten eine Übersicht über den Status der Richtlinieneinhaltung. Administratoren können den Compliance-Status ihrer Ressourcen überwachen, Berichte anpassen und Maßnahmen zur Behebung von Verstößen ergreifen. Ein Beispiel für die Anwendung von Azure Policy ist die Einschränkung zulässiger Storage-SKUs innerhalb eines Abonnements. Durch die Definition einer Richtlinie, die nur bestimmte SKUs erlaubt, und die Anwendung dieser Richtlinie auf ein Abonnement, kann sichergestellt werden, dass nur konforme Storage-Ressourcen erstellt werden. Eine Verletzung dieser Richtlinie würde zur Ablehnung der Erstellung einer nicht zugelassenen SKU führen.

Erstellung einer benutzerdefinierten Richtlinie

Bei der Erstellung einer benutzerdefinierten Richtlinie wird zunächst die JSON-Struktur der Richtlinie definiert. Diese Struktur umfasst mehrere wichtige Elemente: Parameter, Regeln und Effekte. Parameter erlauben es, die Richtlinie flexibel und anpassbar zu gestalten, indem sie Variablen wie die minimale TLS-Version oder den zu verwendenden Effekt definieren. Die Regel (if statement) spezifiziert die Bedingungen, unter denen die Richtlinie angewendet wird, wie den Ressourcentyp und spezifische Eigenschaften der Ressource.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Die Effekte einer Richtlinie definieren, welche Aktion ausgeführt wird, wenn die Bedingungen der Regel erfüllt sind. Zu den möglichen Effekten gehören Audit, Deny, Append und Modify. Audit-Effekte überprüfen lediglich die Einhaltung der Richtlinie, während Deny-Effekte die Erstellung oder Änderung einer nicht-konformen Ressource verhindern. Append- und Modify-Effekte fügen Eigenschaften hinzu oder ändern diese, um die Konformität sicherzustellen.

Einstieg im Azure Portal zu Azure Policy.(Bild:  Joos - Microsoft)
Einstieg im Azure Portal zu Azure Policy.
(Bild: Joos - Microsoft)

Parameter spielen eine entscheidende Rolle bei der Definition der Effekte. Ein Beispiel hierfür ist die Vorgabe der minimalen TLS-Version für Speicherressourcen. Durch die Festlegung eines Parameters wie „TLSVersion“ und dessen Standardwert „TLS1.2“ kann die Richtlinie flexibel auf verschiedene Anforderungen angepasst werden. Ein weiteres Beispiel für die Anwendung von Azure Policy ist die Festlegung erlaubter Standorte für Ressourcen. Eine Richtlinie kann erstellt werden, die nur bestimmte Regionen erlaubt. Diese Richtlinie wird dann auf eine Ressourcengruppe oder ein Abonnement angewendet. Bei der Erstellung einer neuen Ressource in einer nicht erlaubten Region wird die Erstellung blockiert. Dies stellt sicher, dass alle Ressourcen den Standortvorgaben des Unternehmens entsprechen.

Noch ein Beispiel für die Nutzung von Azure Policy ist die Durchsetzung der Verschlüsselung von Daten im Ruhezustand. Eine Richtlinie kann erstellt werden, die sicherstellt, dass alle virtuellen Maschinen eine Festplattenverschlüsselung verwenden. Diese Richtlinie kann auf verschiedene Ressourcenebenen angewendet und überwacht werden, um sicherzustellen, dass alle neuen und bestehenden Ressourcen die Verschlüsselungsanforderungen erfüllen.

Verwaltung von Richtlinien mit Code

Ein Vorteil von Azure Policy ist die Möglichkeit, Richtlinien als Code zu verwalten. Durch die Integration in DevOps-Pipelines und die Nutzung von Tools wie Terraform können Richtlinien automatisiert erstellt, überprüft und angewendet werden. Dies ermöglicht eine konsistente und skalierbare Verwaltung von Compliance-Vorgaben über verschiedene Umgebungen hinweg.

Ein Terraform-Skript zur Erstellung einer Azure Policy-Initiative kann wie folgt aussehen:

hclCode kopierenresource "azurerm_policy_definition" "example" { name = "enforce-disk-encryption" policy_type = "Custom" mode = "All" display_name = "Enforce Disk Encryption" policy_rule = <<POLICY_RULE{ "if": { "field": "type", "equals": "Microsoft.Compute/virtualMachines" }, "then": { "effect": "AuditIfNotExists", "details": { "type": "Microsoft.Compute/virtualMachines/extensions", "name": "enableEncryption" } }}POLICY_RULE}resource "azurerm_policy_assignment" "example_assignment" { name = "assign-enforce-disk-encryption" scope = azurerm_resource_group.example.id policy_definition_id = azurerm_policy_definition.example.id}

In diesem Beispiel wird eine benutzerdefinierte Richtlinie erstellt, die überprüft, ob virtuelle Maschinen über eine Verschlüsselungserweiterung verfügen. Diese Richtlinie wird dann einer Ressourcengruppe zugewiesen.

Enterprise Policy as Code (EPAC)

EPAC von Microsoft bietet eine erweiterte Lösung zur Verwaltung von Richtlinien als Code. EPAC ermöglicht es, Richtlinien und Initiativen zentral zu verwalten, benutzerfreundliche Namen zu vergeben und Ausnahmen effizient zu handhaben. Dies vereinfacht die Verwaltung von Richtlinien erheblich und stellt sicher, dass alle Compliance-Anforderungen konsistent erfüllt werden.

Mit EPAC können Unternehmen zum Beispiel eine zentrale Bibliothek von Richtliniendefinitionen pflegen, die regelmäßig überprüft und aktualisiert werden. Neue Richtlinien können in die bestehende Infrastruktur integriert werden, und Ausnahmen können zentral verwaltet und dokumentiert werden.

(ID:50135382)