Zum Inhalt wechseln

Nutzen Sie Azure Policy-as-Code, um Compliance Checks zu automatisieren

Technology

8 März 2021 - 5 Minuten lesen

Policy As Code In Azure 416X300
Adam Łepkowski  Cloud Architect, Azure Practice Lead 

Architekt mit über 10 Jahren Erfahrung in IT-Bereitstellung verschiedenster Projekte und Umgebungen. Im Moment spezialisiert in Azure Cloud.

Alle Beiträge von Adam Łepkowski  anzeigen

1394 DE Resources Thumbs

Teilen

Inhaltsverzeichnis

  1. Wie funktioniert Azure Policy? 
  2. Policy as Code 
  3. Zusammenfassung

Azure Policy ist ein wichtiger Service, der genutzt wird, um Organisationsstandards zu validieren und durchzusetzen. Egal, ob Sie für ein großes oder ein kleines Unternehmen arbeiten, beim Erstellen einer Cloud-Lösung müssen immer Standards beachtet werden. Dies können interne Unternehmensregeln sein, die für Ressourcen definiert sind, die in der Cloud vom Betriebsteam, Sicherheitsteam oder vom Architecture Board erstellt wurden. Es kann auch externe Verpflichtungen geben, wie z. B. gesetzliche Anforderungen - Branchen wie Gesundheitswesen oder Finanzen sind stark reguliert.

In vielen Unternehmen werden interne Cloud-Standards immer noch in einem Word- oder PDF-Dokument beschrieben. Definierte Regeln werden häufig in folgende Kategorien unterteilt: 

 

  • Security
    • Festplatten für virtuelle Maschinen sollten immer verschlüsselt sein.
    • Der App-Dienst sollte eine SSL-Verbindung verwenden.
    • Die Multi-Faktor-Benutzeranmeldung sollte aktiviert sein.
    • Der SSH-Zugriff sollte blockiert sein.

  • Kosten:
    • Zulässige Ressourcentypen - Begrenzt die Ressourcen, die Ihr Team erstellen kann, auf die in der Richtlinie aufgeführten bestimmten Typen.
    • Zulässige virtuelle Maschinen-SKU - Definiert, welche Art von Maschine von Ihrem Team verwendet werden kann. Auf diese Weise können Sie den Zugriff auf teure Konfigurationen deaktivieren.

  • Management
    • Alle Ressourcen müssen markiert werden 
    • Azure Monitor sollte die Ressourcen der virtuellen Maschine verfolgen. 

 Stellen Sie sich vor, Ihr Unternehmen verfügt über mehrere Teams und Mitglieder, sowie eine Richtlinie in Form eines Word-Dokuments, in dem Standards beschrieben werden, welche in der Cloud eingehalten werden müssen. Wenn die Richtlinienkonformität immer manuell überprüft werden muss, ist viel Platz für menschliches Versagen vorhanden und die Umgebungen sind nicht konsistent. Ihr Betriebsteam wird viel Zeit damit verbringen, zu überprüfen, ob Ihre Umgebung alle im Dokument aufgeführten Standards erfüllt. In vielen Fällen machen sie diese Arbeit einfach nicht, weil sie immer wichtigere Dinge zu tun haben. In diesem Szenario ist der Kommunikationsaufwand viel zu hoch. Eine natürliche Lösung für eine solche Herausforderung, die den besten DevOps-Praktiken entspricht, besteht darin, solche Aktivitäten zu automatisieren und Azure-Richtlinien zu verwenden.

 Azure Policy bietet über 500 integrierte Regeln. Es ist wahrscheinlich, dass die meisten oder sogar alle Standards, denen Sie folgen möchten, bereits im Service definiert sind. Sie müssen nur diejenigen auswählen, die für Ihr Projekt relevant sind. Wenn Sie etwas benötigen das speziell auf Ihre Bedürfnisse zugeschnitten ist, können Sie natürlich jederzeit Ihre eigene benutzerdefinierte Regel erstellen.

 Viele im Service verfügbare Regeln sind bereits gruppiert. Wenn Ihr Projekt beispielsweise der ISO 270001 oder dem britischen NHS entsprechen muss, können Sie einfach die richtige Gruppe auswählen und Azure setzt diese gesetzlichen Anforderungen durch. Darüber hinaus ist der Kommunikationsaufwand zwischen Ihren Teams viel geringer, da Sie mit dem Service Ihre Regeln verwalten können und automatisch erzwingen, dass mehrere Teams diese einhalten. Mit den in Azure verfügbaren Überwachungsoptionen können Sie sehen, wer den Regeln folgt. Sie müssen nicht manuell prüfen, ob alle vorhandenen Umgebungen den in einem Word-Dokument aufgeführten Standards entsprechen. 

 Wie funktioniert Azure Policy? 

In den Azure Ressourcen gibt es zwei Hauptdefinitionen: 

 Der Prozess, um Azure Policy zu nutzen, sieht wie folgt aus:

  1. Erstellen Sie eine Richtliniendefinition oder verwenden Sie die integrierte Definition.
  2. Erstellen Sie bei Bedarf eine Initiativdefinition, um mehrere Richtlinien zu gruppieren.  
  3. Ordnen Sie einer Ressource eine Richtliniendefinition zu (Verwaltungsgruppe, Abonnement, Ressourcengruppe, bestimmte Ressource)
  4. Sehen Sie sich die Ergebnisse der Richtlinienbewertung an (Azure Security Center, Azure Policy) 

 Als nächstes sehen Sie ein Beispiel für eine JSON-Richtliniendefinition, welche das Erstellen einer Ressource nicht zulässt, wenn kein Tag mit dem entsprechenden Wert bereitgestellt wird: 

Die Definition beinhaltet die drei Hauptabschnitte: 

  1. Der Eigenschaftenabschnitt enthält allgemeine Informationen zur Definition - Name, Kategorie, Version usw. 
  2. Im Parameterbereich können generische Regeln erstellt werden. In diesem Beispiel können Sie den erforderlichen Tag-Namen und -Wert angeben. Parameterwerte werden bereitgestellt, wenn:

    a. Die Richtliniendefinition wird Initiativen zugewiesen. Sie können den Standardwert angeben, 
    b. Die Initiative oder Richtlinie ist einer Ressource zugeordnet. 

  3. Der Abschnitt mit den Richtlinienregeln enthält eine Regel, mit der Ressourcen bewertet werden, sowie den Effekt, der ausgeführt wird, wenn die Regelbedingung nicht erfüllt ist. In diesem Beispiel sehen Sie, dass der "Verweigern" -Effekt verwendet wird. Dies bedeutet, dass keine Ressource ohne ein bestimmtes Tag erstellt werden kann.

 Policy as Code 

In den meisten Fällen ist die Verwendung des Azure-Portals zum Verwalten der Azure-Richtlinie ausreichend. Wenn Sie jedoch über mehrere Teams verfügen, können Sie diesen Prozess weiter verfeinern. Anstatt das Azure-Portal oder verschiedene SDKs zu verwenden, können Sie eine andere Lösung verwenden, die auf Unternehmensebene wiederholbar ist. Sie können den Policy-as-Code Ansatz verwenden. 

Dazu müssen Sie ein Haupt-Repository erstellen, in dem Sie alle Richtliniendefinitionen und -initiativen speichern. Richtlinien und Initiativen werden in der Umgebung bereitgestellt, in der Sie jedes Mal überprüfen können, ob sie ordnungsgemäß funktionieren, wenn Ihr operatives Team eine der folgenden Aktionen ausführt:

  • Erstellen einer neuen Richtliniendefinition. 
  • Aktualisierung einer vorhandenen Richtliniendefinition.
  • Erstellen eines neuen Assignments. 
  • Aktualisierung eines vorhandenen Assignments. 

Richtlinien und Initiativen werden in einer Umgebung bereitgestellt, in der Sie überprüfen können, ob sie ordnungsgemäß funktionieren. In dieser Umgebung verfügen Sie über die Ressourcen, mit denen Sie die Azure-Richtlinienkonfiguration testen können. Wenn eine Konfiguration nicht mit der Richtlinie übereinstimmt, können Sie optional den Remediation Task ausführen, um Korrekturen einzuführen. Im nächsten Schritt stellen Sie diese in Ihrem realen Projekt oder Ihrer Ressourcengruppe bereit. Wenn das Team alle Änderungen in der Entwicklungsumgebung vorgenommen hat, können Sie mit der Einführung der neuen Konfiguration in anderen Umgebungen fortfahren.

Zusammenfassung

Azure Policy ist ein perfekter Service zur Implementierung von Governance für Ressourcenkonsistenz, Einhaltung von Gesetzen, Kosten und Sicherheit. Mit vielen integrierten Richtlinien können Sie die für den gesamten Prozess erforderliche Zeit enorm reduzieren. Die Integration mit Azure Security Center und der Azure-Richtlinie selbst bietet Überwachungstools, mit denen Sie feststellen können, wo die Regeln befolgt werden und wo Probleme auftreten.

Es ist eine großartige Lösung für große und kleine Unternehmen, da Sie so den Zeitaufwand für die Unternehmensführung reduzieren und die definierten Standards schneller und effizienter einführen können. Es ist wichtig, den besten Ansatz für die Verwaltung von Richtlinien und Initiativen zu wählen. Sie können ein Standardverfahren verwenden, welches das Azure-Portal und verschiedene SDKs verwendet. Sie können auch den Policy-as-Code Ansatz mit dem Haupt-Repository und einer gesamten Pipeline übernehmen, die für die Einführung von Änderungen vorgesehen ist. Wir empfehlen, dass Sie die spezifischen Bedürfnisse Ihres Unternehmens selbst oder mithilfe eines erfahrenen Partners berücksichtigen und den optimalen Weg für die Einführung von Governance bestimmen.

Sie sollten sich daran erinnern, dass die Policy-as-Code vom Projektteam selbst oder vom Operationsteam implementiert werden kann. Alles hängt von Ihrer Unternehmensstruktur und Ihren internen Prozessen ab.

1394 DE Resources Thumbs
Adam Łepkowski  Cloud Architect, Azure Practice Lead 

Architekt mit über 10 Jahren Erfahrung in IT-Bereitstellung verschiedenster Projekte und Umgebungen. Im Moment spezialisiert in Azure Cloud.

Alle Beiträge von Adam Łepkowski  anzeigen

Was Sie noch interesieren könnte

Kontakt

Starten Sie Ihr Projekt mit Objectivity

CTA Pattern - Contact - Middle