Auswerten der Auswirkung einer neuen Azure Policy-Definition

Azure Policy ist ein leistungsstarkes Tool zur Verwaltung Ihrer Azure-Ressourcen zum Erfüllen von geschäftsspezifischen Standards und Complianceanforderungen. Wenn Personen, Prozesse oder Pipelines Ressourcen erstellen oder aktualisieren, überprüft Azure Policy die Anforderung. Wenn die Auswirkung der Richtliniendefinition Modify, Append oder DeployIfNotExists lautet, ändert Azure Policy die Anforderung oder ergänzt sie. Wenn die Auswirkung der Richtliniendefinition Audit oder AuditIfNotExists lautet, veranlasst Azure Policy die Erstellung eines Aktivitätsprotokolleintrags für neue und aktualisierte Ressourcen. Und wenn die Auswirkung der Richtliniendefinition Deny oder DenyAction lautet, beendet Azure Policy die Erstellung oder Änderung der Anforderung.

Wenn Sie wissen, dass die Richtlinie ordnungsgemäß definiert ist, entsprechen diese Ergebnisse genau den Erwartungen. Es ist jedoch wichtig zu überprüfen, dass eine neue Richtlinie ordnungsgemäß funktioniert, bevor ihr gestattet wird, die Arbeit zu ändern oder zu blockieren. Die Überprüfung muss sicherstellen, dass nur die vorgesehenen Ressourcen als nicht konform eingestuft und keine konformen Ressourcen fälschlicherweise in die Ergebnisse einbezogen werden (bekannt als False Positive).

Der empfohlene Ansatz für die Überprüfung einer neuen Richtliniendefinition besteht darin, die folgenden Schritte auszuführen:

  • Präzises Definieren Ihrer Richtlinie
  • Testen der Wirksamkeit Ihrer Richtlinie
  • Überprüfen von neuen oder aktualisierten Ressourcenanforderungen
  • Bereitstellen Ihrer Richtlinie für Ressourcen
  • Kontinuierliche Überwachung

Präzises Definieren Ihrer Richtlinie

Es ist wichtig zu verstehen, wie die Geschäftsrichtlinie als Richtliniendefinition und die Beziehung von Azure-Ressourcen zu anderen Azure-Diensten implementiert wird. Dieser Schritt wird durch Identifizieren der Anforderungen und Bestimmen der Ressourceneigenschaften durchgeführt. Aber es ist auch wichtig, über die knappe Definition Ihrer Geschäftsrichtlinie hinauszuschauen. Steht in Ihrer Richtlinie z. B. „Alle virtuellen Computer müssen...“? Was ist mit anderen Azure-Diensten, die virtuelle Computer nutzen, z. B. HDInsight oder AKS? Bei der Definition einer Richtlinie müssen wir berücksichtigen, wie sich diese Richtlinie auf Ressourcen auswirkt, die von anderen Diensten genutzt werden.

Aus diesem Grund sollten Ihre Richtliniendefinitionen so präzise wie möglich definiert sein und sich auf die Ressourcen und Eigenschaften konzentrieren, die Sie für die Compliance auswerten müssen.

Testen der Wirksamkeit Ihrer Richtlinie

Bevor Sie mit Ihrer neuen Richtliniendefinition neue oder aktualisierte Ressourcen verwalten, ist es am besten zu prüfen, wie sie eine begrenzte Teilmenge vorhandener Ressourcen, z. B. eine Testressourcengruppe, auswertet. Die Azure Policy VS Code-Erweiterung ermöglicht das isolierte Testen von Definitionen gegen bestehende Azure-Ressourcen unter Verwendung des On-Demand-Evaluierungsscans. Sie können die Definition auch in einer Dev-Umgebung zuweisen, indem Sie den DurchsetzungsmodusDeaktiviert (DoNotEnforce) für Ihre Richtlinienzuweisung verwenden, um zu verhindern, dass der Effekt ausgelöst oder Aktivitätsprotokolleinträge erstellt werden.

Dieser Schritt bietet Ihnen die Möglichkeit, die Complianceergebnisse der neuen Richtlinie für vorhandene Ressourcen auszuwerten, ohne den Workflow zu beeinträchtigen. Vergewissern Sie sich, dass keine konformen Ressourcen als nicht konform angezeigt werden (False Positive) und dass alle Ressourcen, von denen Sie erwarten, dass sie nicht konform sind, korrekt markiert sind. Nachdem die anfängliche Untergruppe von Ressourcen wie erwartet validiert wurde, erweitern Sie die Bewertung langsam auf weitere bestehende Ressourcen und weitere Bereiche.

Die auf diese Weise durchgeführte Auswertung der vorhandenen Ressourcen bietet auch die Möglichkeit, nicht konforme Ressourcen vor der vollständigen Implementierung der neuen Richtlinie zu bereinigen. Diese Bereinigung kann manuell oder durch eine Abhilfemaßnahme erfolgen, wenn die Richtliniendefinition den Effekt DeployIfNotExists oder Modify hat.

Richtliniendefinitionen mit einem DeployIfNotExist sollten die Azure Resource Manager-Vorlage What If nutzen, um die Änderungen zu validieren und zu testen, die bei der Bereitstellung der ARM-Vorlage auftreten.

Überprüfen von neuen oder aktualisierten Ressourcen

Nachdem Sie überprüft haben, dass Ihre neue Richtliniendefinition ordnungsgemäß über vorhandene Ressourcen berichtet, ist es an der Zeit, die Auswirkungen der Richtlinie zu untersuchen, wenn Ressourcen erstellt oder aktualisiert werden. Wenn die Richtliniendefinition die Parametrisierung von Effekten unterstützt, verwenden Sie Audit oder AuditIfNotExist. Mit dieser Konfiguration können Sie die Erstellung und Aktualisierung von Ressourcen überwachen, um festzustellen, ob die neue Richtliniendefinition einen Eintrag im Azure-Aktivitätsprotokoll für eine nicht konforme Ressource auslöst, ohne die vorhandene Arbeit oder Anforderungen zu beeinträchtigen.

Es wird empfohlen, die Ressourcen, die Ihrer Richtliniendefinition entsprechen, sowohl zu aktualisieren als auch neu zu erstellen, um zu sehen, ob der Audit- oder AuditIfNotExist-Effekt wie erwartet korrekt ausgelöst wird. Achten Sie auf Ressourcenanforderungen, die nicht von der neuen Richtliniendefinition betroffen sein sollten und die den Effekt Audit oder AuditIfNotExist auslösen. Diese betroffenen Ressourcen sind ein weiteres Beispiel für False Positive und müssen vor der vollständigen Implementierung in der Richtliniendefinition festgelegt werden.

Für den Fall, dass die Richtliniendefinition in dieser Phase der Tests geändert wird, wird empfohlen, den Prüfungsprozess mit der Überwachung vorhandener Ressourcen zu beginnen. Eine Änderung der Richtliniendefinition für ein False Positive bei neuen oder aktualisierten Ressourcen wird wahrscheinlich auch Auswirkungen auf vorhandene Ressourcen haben.

Bereitstellen Ihrer Richtlinie für Ressourcen

Nachdem Sie die Überprüfung Ihrer neuen Richtliniendefinition sowohl mit vorhandenen Ressourcen als auch mit neuen oder aktualisierten Ressourcenanforderungen abgeschlossen haben, beginnen Sie mit der Implementierung der Richtlinie. Es wird empfohlen, die Richtlinienzuweisung für die neue Richtliniendefinition zunächst für eine Teilmenge aller Ressourcen zu erstellen, z. B. für eine Ressourcengruppe. Über die Eigenschaft resourceSelectors in der Richtlinienzuweisung können Sie weiter nach Ressourcentyp oder Standort filtern. Nachdem Sie die anfängliche Bereitstellung überprüft haben, erweitern Sie den Geltungsbereich der Richtlinie, um sie als Ressourcengruppe zu erweitern. Nach der Validierung der anfänglichen Bereitstellung erweitern Sie die Reichweite der Richtlinie, indem Sie die ResourceSelector-Filter so anpassen, dass sie auf weitere Standorte oder Ressourcentypen abzielen, oder indem Sie die Zuweisung aufheben und durch eine neue Zuweisung mit einem breiteren Geltungsbereich wie Abonnements und Verwaltungsgruppen ersetzen. Fahren Sie mit dieser schrittweisen Einführung fort, bis der gesamte Umfang der Ressourcen, die von Ihrer neuen Richtliniendefinition abgedeckt werden sollen, erfasst ist.

Wenn während des Rollouts Ressourcen gefunden werden, die von Ihrer neuen Richtliniendefinition ausgenommen sein sollten, gehen Sie wie folgt vor:

  • Aktualisieren Sie die Definition der Richtlinie, um sie expliziter zu formulieren, damit unbeabsichtigte Auswirkungen verringert werden.
  • Ändern des Bereichs der Richtlinienzuweisung (durch Entfernen und Erstellen einer neuen Zuweisung)
  • Hinzufügen der Gruppe von Ressourcen zur Ausschlussliste für die Richtlinienzuweisung

Alle Änderungen am Bereich (Ebene oder Ausschlüsse) sollten vollständig überprüft und mit Ihren Sicherheits- und Complianceorganisationen kommuniziert werden, um sicherzustellen, dass es keine Lücken bei der Abdeckung gibt.

Überwachen Ihrer Richtlinie und Compliance

Die Implementierung und Zuweisung Ihrer Richtliniendefinition ist nicht der letzte Schritt. Überwachen Sie kontinuierlich die Compliance der Ressourcen gemäß Ihrer neuen Richtliniendefinition, und richten Sie geeignete Azure Monitor-Warnungen und -Benachrichtigungen ein, wenn nicht konforme Geräte identifiziert werden. Es wird außerdem empfohlen, die Richtliniendefinition und die damit verbundenen Zuweisungen planmäßig auszuwerten, um zu überprüfen, ob die Richtliniendefinition den Anforderungen der Geschäftsrichtlinie und der Compliance entspricht. Richtlinien sollten entfernt werden, wenn sie nicht mehr benötigt werden. Richtlinien müssen auch von Zeit zu Zeit aktualisiert werden, wenn sich die zugrunde liegenden Azure-Ressourcen weiterentwickeln und neue Eigenschaften und Funktionen hinzufügt werden.

Nächste Schritte