Implementando_o_Azure_Policy_para_Governanca_e_Conformidade_de_Recursos

{ „mode“: „Indiziert“, „policyRule“: { „wenn“: { „allOf“: [ { „Feld“: „Typ“, „equals“: „Microsoft.Resources/subscriptions/resourceGroups“ }, { "field": "tags['Environment']", „existiert“: „falsch“ } ] }, „dann“: { „effect“: „Verweigern“ } } } „

    * **Erklärung**: Diese Richtlinie überprüft, ob die Ressource eine Ressourcengruppe ist („Microsoft.Resources/subscriptions/resourceGroups“) und dass das Tag „Environment“ nicht vorhanden ist („exists: false“). Wenn beide Bedingungen zutreffen, verhindert der „Verweigern“-Effekt, dass die Ressourcengruppe erstellt oder aktualisiert wird.
  1. Klicken Sie auf Speichern.

3. Zuweisen der benutzerdefinierten Richtlinie

Nun weisen wir die soeben erstellte Richtlinie einer bestimmten Ressourcengruppe zu.

  1. Wählen Sie im linken Navigationsbereich des Richtliniendienstes unter „Erstellung“ die Option Zuweisungen aus.
  2. Klicken Sie auf „+ Richtlinie zuweisen“.

  3. Grundlagen:

    • Geltungsbereich: Klicken Sie auf die drei Punkte („...“) und wählen Sie das Abonnement und die Ressourcengruppe aus, auf die Sie die Richtlinie anwenden möchten (z. B. „meine-Ressourcengruppe“).
    • Richtliniendefinition: Klicken Sie auf die drei Punkte („...“) und suchen Sie nach der von Ihnen erstellten Richtlinie („Umgebungs-Tag für Ressourcengruppen erforderlich“). Wählen Sie es aus.
    • Aufgabenname: Er wird automatisch ausgefüllt, Sie können ihn jedoch ändern (z. B. „Attribution-Tag-Environment-RG“).
    • Beschreibung: Geben Sie eine Beschreibung an.
    • Richtliniendurchsetzung: „Aktiviert“ behalten.
  4. Klicken Sie auf „Weiter“.

  5. Parameter: Für diese Richtlinie sind keine Parameter vorhanden. Klicken Sie auf „Weiter“.

  6. Remediation: Für Richtlinien mit Auswirkungen wie „DeployIfNotExists“ oder „Modify“ würden Sie hier Sanierungsaufgaben konfigurieren. Für „Verweigern“ gilt dies nicht. Klicken Sie auf „Weiter“.
  7. Nicht konforme Nachrichten: Passen Sie optional die Nachricht an, die Benutzern angezeigt wird, wenn sie versuchen, eine nicht konforme Ressource zu erstellen. Klicken Sie auf „Weiter“.
  8. Überprüfen + erstellen: Überprüfen Sie die Einstellungen und klicken Sie auf Erstellen.

4. Testen der obligatorischen Tagging-Richtlinie

  1. Versuchen Sie im Azure-Portal, eine neue Ressourcengruppe innerhalb des Zuweisungsbereichs („my-resource-group“) zu erstellen.
  2. Fügen Sie beim Ausfüllen der Ressourcengruppendetails nicht das Tag „Umgebung“ hinzu.
  3. Versuchen Sie, die Ressourcengruppe zu erstellen.

    • Erwartetes Ergebnis: Die Erstellung der Ressourcengruppe sollte mit einer Fehlermeldung fehlschlagen, die darauf hinweist, dass die Richtlinie „Umgebungs-Tag für Ressourcengruppen erforderlich“ den Vorgang verweigert hat, weil das Tag „Umgebung“ fehlt.
  4. Versuchen Sie nun, eine neue Ressourcengruppe zu erstellen und fügen Sie das Tag „Umgebung“ mit einem Wert hinzu (z. B. „Umgebung: Entwicklung“).

    • Erwartetes Ergebnis: Die Erstellung der Ressourcengruppe sollte erfolgreich sein.

5. Erstellen einer Initiative (Richtliniensatz)

Lassen Sie uns eine Initiative erstellen, um allgemeine Sicherheitsrichtlinien zu gruppieren, z. B. die Anforderung von HTTPS für Speicherkonten und die Verschlüsselung auf VM-Festplatten.

  1. Wählen Sie im linken Navigationsbereich des Richtliniendienstes unter „Erstellung“ die Option Initiativen aus.
  2. Klicken Sie auf „+Initiativendefinition“.

  3. Grundlagen:

    • Definitionsort: Wählen Sie das Abonnement oder die Verwaltungsgruppe aus.
    • Name: „Basic Security Initiative“.
    • Beschreibung: „Satz wesentlicher Sicherheitsrichtlinien für grundlegende Compliance.“
    • Kategorie: Wählen Sie „Vorhandene verwenden“ und wählen Sie „Sicherheit“.
  4. Klicken Sie auf „Weiter“.

  5. Richtlinien: Klicken Sie auf „+ Richtliniendefinition hinzufügen“.

    • Suchen Sie nach internen Richtlinien wie „Speicherkonten dürfen nur HTTPS verwenden“ und „Festplatten virtueller Maschinen müssen verschlüsselt sein“.
    • Wählen Sie sie aus und klicken Sie auf „Hinzufügen“.
  6. Initiative Parameter: Wenn die hinzugefügten Richtlinien Parameter haben, können Sie diese hier konfigurieren. Klicken Sie auf „Weiter“.

  7. Überprüfen + erstellen: Überprüfen Sie die Einstellungen und klicken Sie auf Erstellen.

6. Zuweisung der Initiative

Weisen Sie die Sicherheitsinitiative einem gesamten Abonnement zu, um sicherzustellen, dass alle darin enthaltenen Richtlinien angewendet werden.

  1. Wählen Sie im linken Navigationsbereich des Richtliniendienstes unter „Erstellung“ die Option Zuweisungen aus.
  2. Klicken Sie auf „+ Initiative zuweisen“.

  3. Grundlagen:

    • Umfang: Wählen Sie das gesamte Abonnement aus.
    • Initiative: Suchen Sie nach „Basic Security Initiative“ und wählen Sie es aus.
    • Auftragsname: Serwird automatisch ausgefüllt.
    • Richtliniendurchsetzung: „Aktiviert“ behalten.
  4. Klicken Sie auf „Weiter“.

  5. Parameter: Konfigurieren Sie alle in der Initiative definierten Parameter. Klicken Sie auf „Weiter“.

  6. Remediation: Für „Audit“-Richtlinien können Sie eine Sanierungsaufgabe erstellen, um nicht konforme Ressourcen zu reparieren. Für „Verweigern“ gilt dies nicht. Klicken Sie auf „Weiter“.
  7. Meldungen bei Nichteinhaltung: Optional können Sie Meldungen anpassen. Klicken Sie auf „Weiter“.
  8. Überprüfen + erstellen: Überprüfen Sie die Einstellungen und klicken Sie auf Erstellen.

7. Überprüfung der Compliance

Nach der Zuweisung benötigt Azure Policy einige Zeit, um die vorhandenen Ressourcen zu bewerten und die Konformität zu melden.

  1. Wählen Sie im linken Navigationsbereich des Richtliniendienstes unter „Authoring“ die Option Compliance aus.
  2. Sie sehen ein Compliance-Dashboard, das den gesamten Compliance-Status Ihrer Richtlinien- und Initiativenzuweisungen anzeigt.

  3. Klicken Sie auf eine Zuweisung, um Details anzuzeigen, einschließlich der konformen Ressourcen und der nicht. Sie können nach „Konformitätsstatus“ filtern, um nur nicht konforme Ressourcen anzuzeigen.

  4. Für Ressourcen, die nicht den Richtlinien „DeployIfNotExists“ oder „Modify“ entsprechen, können Sie eine Behebungsaufgabe erstellen, um diese Ressourcen automatisch zu reparieren.

    • Klicken Sie auf der Seite mit den Aufgabendetails auf „Behebungsaufgabe erstellen“.
    • Wählen Sie die Richtlinie aus, die Sie reparieren möchten, und klicken Sie auf „Reparieren“.

Sicherheitstipps und Best Practices

  • Beginnen Sie mit „Audit“: Beginnen Sie bei der Implementierung neuer Richtlinien mit dem „Audit“-Effekt, um die Auswirkungen zu verstehen und nicht konforme Ressourcen zu identifizieren, ohne Vorgänge zu blockieren. Ändern Sie es nach der Validierung in „Deny“ oder „Modify“/„DeployIfNotExists“.
  • Angemessener Bereich: Weisen Sie Richtlinien im höchstmöglichen Bereich (Verwaltungsgruppe oder Abonnement) zu und verwenden Sie bei Bedarf Ausschlüsse für niedrigere Bereiche. Dies gewährleistet eine breite und konsistente Abdeckung.
  • Initiativen verwenden: Gruppieren Sie verwandte Richtlinien in Initiativen, um die Verwaltung zu vereinfachen und sicherzustellen, dass ein vollständiger Regelsatz angewendet wird.
  • Namenskonventionen: Verwenden Sie klare und konsistente Namenskonventionen für Richtliniendefinitionen, Initiativen und Zuweisungen, um die Identifizierung und Verwaltung zu erleichtern.
  • Versionskontrolle: Speichern Sie Ihre benutzerdefinierten Richtliniendefinitionen in einem Versionskontrollsystem (z. B. Git), um Änderungen zu verfolgen, zusammenzuarbeiten und die automatisierte Bereitstellung zu erleichtern.
  • Kontinuierliche Überwachung: Überwachen Sie das Azure Policy-Compliance-Dashboard regelmäßig. Konfigurieren Sie Warnungen für kritische Nichtkonformitäten.
  • Integration mit Azure DevOps/GitHub Actions: Automatisieren Sie die Richtlinienbereitstellung mithilfe von CI/CD-Pipelines, um sicherzustellen, dass Richtlinien konsistent und nachvollziehbar angewendet werden.
  • Dokumentation: Sorgen Sie für eine klare Dokumentation Ihrer Richtlinien, ihrer Ziele, Auswirkungen und etwaiger Ausnahmen.

Allgemeine Fehlerbehebung

  • Ressource fälschlicherweise blockiert:
    • Überprüfen Sie die Aktivitätsprotokolle in Azure Monitor, um zu sehen, welche Richtlinie den Vorgang verweigert hat. Der Fehler umfasst normalerweise den Richtliniennamen.
    • Überprüfen Sie die Richtliniendefinition und -zuweisung, um sicherzustellen, dass die Bedingungen und der Umfang korrekt sind.
    • Erwägen Sie die Verwendung eines Ausschlusses für die spezifische Ressource oder Ressourcengruppe, wenn die Blockierung beabsichtigt ist.
  • Nicht konforme Ressource wird nicht erkannt:
    • Stellen Sie sicher, dass die Richtlinie dem richtigen Bereich zugewiesen ist und dass die Durchsetzung „Aktiviert“ ist.
    • Stellen Sie sicher, dass die Richtliniendefinition korrekt ist und dass die Bedingungen für die nicht konforme Ressource als „wahr“ ausgewertet werden.
    • Es kann bis zu 30 Minuten dauern, bis Richtlinienänderungen wirksam werden und Compliance-Berichte aktualisiert werden.
  • Behebungsaufgaben schlagen fehl:
    • Überprüfen Sie die Protokolle der Behebungsaufgabe, um den Fehler zu identifizieren.
    • Stellen Sie sicher, dass die der Richtlinienrolle zugewiesene verwaltete Identität über die erforderlichen Berechtigungen zum Ändern von Ressourcen verfügt.
    • Die Richtlinie „DeployIfNotExists“ oder „Modify“ weist möglicherweise einen Fehler im Bereitstellungsmodell oder im Änderungsvorgang auf.
  • Richtlinie gilt nicht für vorhandene Ressourcen:
    • Richtlinien mit der Wirkung „Verweigern“ oder „Prüfen“ bewerten vorhandene und neue Ressourcen. Richtlinien mit „DeployIfNotExists“ und „Modify“ erfordern eine Korrekturaufgabe für die FarbeReparieren Sie vorhandene Ressourcen oder reagieren Sie nur auf neue Kreationen/Updates.
  • Richtlinienkonflikte: Wenn mehrere Richtlinien für dieselbe Ressource gelten, hat normalerweise die Richtlinie mit der restriktivsten Wirkung Vorrang (z. B. „Verweigern“ gegenüber „Überwachen“). Überprüfen Sie die Aufgaben und den Umfang.

Fazit

Azure Policy ist ein grundlegendes Tool für jede Organisation, die eine effektive Governance einrichten und die Compliance ihrer Ressourcen in der Azure-Cloud sicherstellen möchte. Durch die Automatisierung der Regeldurchsetzung, von der Ressourcenkennzeichnung bis hin zu kritischen Sicherheitskonfigurationen, trägt Azure Policy dazu bei, in komplexen, sich ständig weiterentwickelnden Umgebungen Ordnung aufrechtzuerhalten, Risiken zu reduzieren und Kosten zu optimieren. Die Möglichkeit, benutzerdefinierte Richtlinien zu erstellen und diese in Initiativen zu gruppieren, bietet Flexibilität zur Erfüllung spezifischer geschäftlicher und regulatorischer Anforderungen. Mit diesem praktischen Leitfaden sind Sicherheitsexperten und IT-Administratoren bestens für die Konfiguration, Validierung und Verwaltung von Azure Policy gerüstet und schaffen so eine solide Grundlage für eine sichere und konforme Cloud-Governance-Strategie.


Referenzen:

[1] Microsoft Learn. Was ist Azure Policy?. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/overview [2] Microsoft Learn. Tutorial: Erstellen und verwalten Sie Richtlinien zur Durchsetzung der Compliance. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/tutorials/create-and-manage [3] Microsoft Learn. Azure Policy-Berechtigungen in Azure RBAC. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/overview#azure-rbac-permissions-in-azure-policy [4] Microsoft Learn. Azure Policy-Definitionsframework. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/concepts/definition-structure [5] Microsoft Learn. Definitionsrahmen der Azure Policy-Initiative. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/concepts/initiative-definition-structure [6] Microsoft Learn. Tutorial: Erstellen Sie eine benutzerdefinierte Richtliniendefinition. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/tutorials/create-custom-policy-definition [7] Microsoft Learn. So reparieren Sie nicht Azure Policy-konforme Ressourcen. Verfügbar unter: https://learn.microsoft.com/pt-br/azure/governance/policy/how-to/remediate-resources