A common theme in cloud environments today is the ability to define templates, policies, and procedures. These templates then dictate what can be done and verify that what does exist is correct. A service from Microsoft called Azure Policy is a great way to make that happen.
In diesem Artikel erfahren Sie, wie Azure Policy funktioniert und wie Sie verschiedene Richtlinien und Korrekturmaßnahmen erstellen können.
Erstellen einer Azure-Richtlinie
Es gibt viele Möglichkeiten, Richtlinien zu erstellen, z. B. über das Azure-Portal, PowerShell, Azure CLI und ARM-Vorlagen.
Azure-Portal
Wenn Sie den GUI-Weg bevorzugen oder Ihre Optionen erkunden, ist dies ein guter Einstieg in Richtlinien. Die Benutzeroberfläche ist einfach und ermöglicht es Ihnen, Ihre Optionen auf einen Blick zu sehen.
- Suchen Sie im Azure-Portal nach Richtlinie.
- Klicken Sie unter dem Abschnitt Authoring auf Zuweisungen
- Klicken Sie auf Richtlinie zuweisen
- Klicken Sie auf die Auslassungspunkte unter Gültigkeitsbereich, um das anzuwendende Abonnement und optional die Ressourcengruppe auszuwählen
- Klicken Sie auf die Auslassungspunkte unter Richtliniendefinition, um die zu definierende Richtlinie auszuwählen
- Verwenden Sie entweder den standardmäßig generierten Namen unter Bezeichnung der Zuweisung oder geben Sie einen eigenen Namen ein, um Ihre Richtlinie eindeutig zu identifizieren
- Füllen Sie je nach gewählter Richtlinie alle erforderlichen Parameter aus
- Erstellen Sie schließlich eine verwaltete Identität und geben Sie bei Bedarf deren Standort an

PowerShell
Glücklicherweise ermöglicht es PowerShell, einer Azure-Richtliniendefinition schnell und einfach eine Richtlinienzuweisung zuzuweisen. Es gibt zwei Voraussetzungen: die neueste Version von Azure PowerShell muss installiert sein und der Azure Policy Insights-Ressourcenanbieter muss registriert sein.
Azure CLI
Wenn PowerShell nicht verfügbar ist oder nicht bevorzugt wird, können Sie mit der Azure CLI auch vieles davon erreichen. Dies kann auch in plattformübergreifenden Szenarien hilfreich sein, wenn Sie PowerShell nicht auf allen Betriebssystemen verwenden können.
Azure-Richtlinienvorlagen
Azure Resource Manager-Vorlagen sind eine weitere Möglichkeit, Richtlinien für Ressourcen zu erstellen und zuzuweisen. Unten finden Sie eine Beispielvorlage, die Sie verwenden können, um eine Richtlinie einer Ressourcengruppe zuzuweisen.
Wie die Azure-Richtlinienzuweisung funktioniert
Nachdem Sie die Richtliniendefinitionen ausgewählt oder erstellt haben, die Sie anwenden möchten, weisen Sie diese Definitionen einem bestimmten Geltungsbereich zu. Der Geltungsbereich definiert lediglich, auf was die Richtlinienzuweisung angewendet wird, wie z.B. ein Verwaltungs- oder Ressourcengruppe. Beachten Sie, dass Richtlinienzuweisungen von allen untergeordneten Ressourcen geerbt werden, aber Sie haben die Möglichkeit, einen Teilbereich auszuschließen, falls erforderlich.
Beispiel Azure-Richtlinien
Es gibt viele Richtliniendefinitionen und es kann schwierig sein, zu entscheiden, welche am besten angewendet werden sollen. Also, welche Optionen gibt es, wann sollten Sie sie verwenden und warum?
- Erforderliches Tag und dessen Wert – Dies kann für verschiedene Zwecke verwendet werden, aber eine Möglichkeit besteht darin, Kostenstellen zu kennzeichnen oder eine Reihe von verschiedenen Ressourcen über mehrere Ressourcengruppen hinweg zu identifizieren.
- Zulässige Ressourcentypen – Was ist, wenn Sie nur bestimmte Ressourcen zulassen möchten? Dies kann durchgesetzt werden, z.B. nur die Möglichkeit zur Erstellung einer Speicherressource zu haben.
- Auditieren Sie Windows-VMs mit einem Ausstehenden Neustart – Möchten Sie vielleicht wissen, welche Windows-VMs einen ausstehenden Neustart erfordern, um sicherzustellen, dass diese nicht zurückbleiben? Verwenden Sie diese Richtlinie, um diese auf einem Zeitplan zu finden und möglicherweise zu beheben.
- Auditieren Sie die Diagnoseeinstellungen – Wenn die Diagnoseeinstellungen nicht aktiviert sind, findet diese Richtlinie die nicht konformen Einstellungen.
- Verwaltungsports sollten auf Ihren virtuellen Maschinen geschlossen sein – Überprüfen Sie, ob die Verwaltungsports auf Ihren VMs geschlossen sind. Eine großartige Richtlinie für Sicherheitsbewusste.
- Veraltete Konten sollten aus Ihrem Abonnement entfernt werden – Finden Sie alle Konten, die in einem Verzeichnis von der Anmeldung gesperrt wurden, um gegebenenfalls Abhilfemaßnahmen zu ergreifen. Obwohl es hier viele gibt und jeden Tag noch mehr erstellt werden, haben Sie auch eine sehr leistungsstarke Möglichkeit, eigene benutzerdefinierte Richtliniendefinitionen zu erstellen. Mit einem einfachen Abfragedefinitionsschema können Sie leistungsstarke Wenn-Dann-Konstruktionen erstellen, um festzulegen, auf welche Richtlinien diese angewendet werden sollen.
So machen Sie Azure-Richtlinien wiederverwendbar
Parameter
Eine der nützlichsten Funktionen besteht darin, Parameter für die Verwendung in Ihren Richtlinien zu definieren. Wenn Sie für jede Variation in einer Richtlinie eine eindeutige Richtlinie definieren müssten, könnten Sie am Ende Hunderte haben. Eine großartige Lösung dafür ist das Parametrisieren einer Richtlinie. Damit können Sie die Richtlinie zum Zeitpunkt der Zuweisung anpassen und eine Richtliniendefinition auf viele verschiedene Anwendungsfälle anwenden.
Initiativen
Der nächste logische Schritt besteht darin, mehrere Definitionen in einem Set zusammenzufassen. Dadurch können Sie all diese unterschiedlichen Definitionen einem Bereich zuweisen, ohne jede einzelne Definition immer wieder individuell zuordnen zu müssen.
Initiativparameter
Schließlich können Sie Initiativen Parameter hinzufügen, die auf die einzelnen Richtlinien vererbt werden können. Dies bedeutet, dass Sie nicht für jede Richtlinie, die in einer Initiative enthalten ist, individuell Parameter zuweisen müssen. Dies kann viel Zeit sparen, da Sie nur wenige Initiativen definieren können, die viele verschiedene Richtlinien auf verschiedene Weise je nach den gewählten Parametern anwenden.
Maßnahmen zur Behebung
Was tun Sie also, wenn eine Richtlinie ausgewertet wird, aber festgestellt wird, dass Ressourcen nicht konform sind? An diesem Punkt können Sie eine Maßnahme zur Behebung starten, um das Problem zu beheben. Dies kann sehr leistungsstark sein, aber auch sehr gefährlich, wenn es falsch eingerichtet ist. Erneut gibt es mehrere Möglichkeiten, diese Aufgaben zu definieren, entweder über das Azure-Portal, PowerShell oder über die Azure CLI.
Azure-Portal
Wie zuvor können Sie das Azure-Portal verwenden, um die Erstellung einer Maßnahme zur Behebung zu erkunden. Wenn keine Richtlinien aufgelistet sind, stellen Sie sicher, dass Sie sowohl Richtlinien mit der Bezeichnung deployIfNotExists als auch solche, die als nicht konform ausgewertet wurden, haben, da diese sonst nicht angezeigt werden.
- Suchen Sie im Azure-Portal nach Richtlinie
- Klicken Sie auf der linken Seite auf Maßnahmen zur Behebung
- Klicken Sie auf eine Richtlinie vom Typ deployIfNotExists, die nicht konforme Ressourcen hat
- Filtern Sie die Ressourcen, die auf der Seite der Neuen Remediation-Aufgabe behoben werden sollen, um einzuschränken, auf welche die Aufgabe angewendet wird.
- Klicken Sie auf Remediate, um die Aufgabe selbst zu starten.
PowerShell
Es ist recht einfach, eine Remediation-Aufgabe über PowerShell zu erstellen. Das Wichtigste ist, dass Sie eine deployIfNotExists-Richtlinie verwenden müssen.
Azure CLI
Anstelle von PowerShell können Sie auch die Azure CLI verwenden, um eine Remediation-Aufgabe zu starten. Das Gleiche gilt für diese Aufgabe wie für die PowerShell-Aufgabe.
Zusammenfassung
Der Vorteil der Verwendung von Azure-Richtlinien besteht darin, dass Sie für jedes Azure-Abonnement beliebig viele flexible Richtlinien definieren können, um Ihre Umgebung zu verwalten. Darüber hinaus können Sie mit Zeit, Aufwand und Überlegungen zur Strukturierung Ihrer Richtlinien, Initiativen und Parameter eine gut definierte und leicht zu behebende Konfiguration erstellen.
Angesichts der Tatsache, dass Azure-Richtlinien für jedes Azure-Abonnement kostenlos sind, macht es viel Sinn, sich die Zeit zu nehmen, um das zu implementieren, was Sie benötigen. Angesichts der Flexibilität bei der Erstellung und Bereitstellung dieser Definitionen und Richtlinien kann es auf nahezu alles angewendet werden und Ihnen helfen, Ihre Umgebung im Griff zu behalten!