Was ist Azure Policy?

Azure Policy hilft bei der Durchsetzung von Organisationsstandards und bei der Bewertung der Compliance nach Bedarf. Über sein Compliance-Dashboard bietet der Dienst eine aggregierte Ansicht zur Bewertung des Gesamtzustands der Umgebung mit der Möglichkeit, einen Drilldown zur Granularität pro Ressource und Richtlinie durchzuführen. Außerdem trägt er durch Massenwartung für vorhandene Ressourcen und automatische Wartung dazu bei, dass Ihre Ressourcen Compliance-Anforderungen erfüllen.

Häufige Anwendungsfälle für Azure Policy sind die Implementierung von Governance für Ressourcenkonsistenz, Einhaltung gesetzlicher Bestimmungen, Sicherheit, Kosten und Verwaltung. Richtliniendefinitionen für diese häufigen Anwendungsfälle sind in ihrer Azure-Umgebung bereits integriert bereitgestellt, um Ihnen den Einstieg zu erleichtern.

Alle Azure Policy-Daten und -Objekte werden im Ruhezustand verschlüsselt. Weitere Informationen finden Sie unter Datenverschlüsselung ruhender Azure-Daten.

Übersicht

Azure Policy wertet Ressourcen in Azure aus, indem die Eigenschaften dieser Ressourcen mit Geschäftsregeln verglichen werden. Diese im JSON-Format beschriebenen Geschäftsregeln werden als Richtliniendefinitionen bezeichnet. Um die Verwaltung zu vereinfachen, können mehrere Geschäftsregeln gruppiert werden, um eine Richtlinieninitiative (manchmal auch als policySet bezeichnet) zu bilden. Nachdem Ihre Geschäftsregeln erstellt wurden, wird die Richtliniendefinition oder -initiative jedem von Azure unterstützten Ressourcenbereich zugewiesen, z. B. Verwaltungsgruppen, Abonnements, Ressourcengruppen oder einzelnen Ressourcen. Die Zuweisung gilt für alle Ressourcen innerhalb des Resource Manager-Bereichs dieser Zuweisung. Unterbereiche können ggf. ausgeschlossen werden. Weitere Informationen finden Sie unter Erläuterungen zum Bereich in Azure Policy.

Azure Policy verwendet ein JSON-Format zum Erstellen der Logik, mit der die Auswertung bestimmt, ob eine Ressource konform ist. Definitionen enthalten Metadaten und die Richtlinienregel. Die definierte Regel kann Funktionen, Parameter, logische Operatoren, Bedingungen und Eigenschaftenaliase verwenden, um genau dem gewünschten Szenario zu entsprechen. Die Richtlinienregel bestimmt, welche Ressourcen im Bereich der Zuweisung ausgewertet werden.

Grundlegendes zu den Auswertungsergebnissen

Die Auswertung von Ressourcen erfolgt zu bestimmten Zeitpunkten während des Ressourcenlebenszyklus, des Lebenszyklus der Richtlinienzuweisung und für regelmäßige kontinuierliche Compliance-Auswertungen. Nachfolgend sind die Uhrzeiten oder Ereignisse aufgeführt, die dazu führen, dass eine Ressource ausgewertet wird:

  • Eine Ressource wird in einem Bereich mit einer Richtlinienzuweisung erstellt oder aktualisiert.
  • Eine Richtlinie oder Initiative wird einem Bereich neu zugewiesen.
  • Eine Richtlinie oder Initiative, die bereits einem Bereich zugewiesen ist, wird aktualisiert.
  • Die standardmäßige Compliance-Auswertung, die alle 24 Stunden erfolgt, wird durchgeführt.

Ausführliche Informationen darüber, wann und wie die Richtlinienauswertung erfolgt, finden Sie unter Auswertungsauslöser.

Steuern der Reaktion auf eine Auswertung

Geschäftsregeln für die Behandlung nicht konformer Ressourcen sind von Organisation zu Organisation sehr unterschiedlich. Beispiele dafür, wie die Plattform einer Organisation auf eine nicht konforme Ressource reagieren soll:

  • Ablehnen der Ressourcenänderung
  • Protokollieren der Änderung an der Ressource
  • Ändern der Ressource vor der Änderung
  • Ändern der Ressource nach der Änderung
  • Bereitstellen von zugehörigen konformen Ressourcen

Azure Policy ermöglicht jede dieser geschäftlichen Reaktionen durch die Anwendung von Effekten. Effekte werden in der Richtlinienregel der Richtliniendefinition festgelegt.

Korrigieren nicht konformer Ressourcen

Diese Effekte wirken sich in erster Linie auf eine Ressource aus, wenn die Ressource erstellt oder aktualisiert wird. Azure Policy unterstützt auch den Umgang mit vorhandenen nicht konformen Ressourcen, ohne diese Ressource ändern zu müssen. Weitere Informationen zum Erreichen von Konformität für vorhandene Ressourcen finden Sie unter Warten von Ressourcen.

Videoübersicht

Die folgende Übersicht über Azure Policy stammt von der Build 2018. Folien und den Videodownload finden Sie unter Govern your Azure environment through Azure Policy (Steuern Ihrer Azure-Umgebung per Azure Policy) auf Channel 9.

Erste Schritte

Azure Policy und Azure RBAC

Zwischen Azure Policy und der rollenbasierten Zugriffssteuerung von Azure (Azure RBAC) gibt es einige entscheidende Unterschiede. Azure Policy wertet den Status aus, indem Eigenschaften für Ressourcen, die in Resource Manager dargestellt sind, und Eigenschaften einiger Ressourcenanbieter überprüft werden. Azure Policy schränkt Aktionen (auch als Vorgänge bezeichnet) nicht ein. Azure Policy stellt sicher, dass der Ressourcenzustand Ihren Geschäftsregeln entspricht, unabhängig davon, wer die Änderung vorgenommen hat oder wer die Berechtigung hat, eine Änderung vorzunehmen. Einige Azure Policy-Ressourcen wie Richtliniendefinitionen, Initiativdefinitionen und Zuweisungen sind für alle Benutzer sichtbar. So wissen alle Benutzer und Dienste, welche Richtlinienregeln in einer Umgebung festgelegt wurden.

Bei Azure RBAC steht die Verwaltung von Benutzeraktionen in verschiedenen Bereichen im Mittelpunkt. Wenn die Steuerung einer Aktion erforderlich ist, ist Azure RBAC das richtige Tool dafür. Auch wenn eine Person Zugriff zum Ausführen einer Aktion hat und das Ergebnis eine nicht konforme Ressource ist, blockiert Azure Policy weiterhin das Erstellen oder Aktualisieren.

Die Kombination aus Azure RBAC und Azure Policy bietet vollständige Bereichskontrolle in Azure.

Azure RBAC-Berechtigungen in Azure Policy

Azure Policy verfügt über verschiedene Berechtigungen (als Vorgänge bezeichnet) in zwei Ressourcenanbietern:

Zahlreiche integrierte Rollen erteilen Berechtigungen für Azure Policy-Ressourcen. Die Rolle Mitwirkender bei Ressourcenrichtlinien umfasst die meisten Vorgänge in Azure Policy. Die Rolle Besitzer verfügt über die vollständigen Berechtigungen. Sowohl Mitwirkender als auch Leser haben Zugriff auf alle Azure Policy-Lesevorgänge.

Mitwirkende können eine Ressourcenwartung auslösen, aber keine Definitionen und Zuweisungen erstellen oder aktualisieren. Die Berechtigung Benutzerzugriffsadministrator ist erforderlich, um der verwalteten Identität unter den Zuweisungen deployIfNotExists oder modify die benötigten Berechtigungen zu gewähren.

Hinweis

Alle Richtlinienobjekte, einschließlich Definitionen, Initiativen und Zuweisungen, werden für alle Rollen im jeweiligen Bereich lesbar. Beispielsweise kann eine Richtlinienzuweisung, deren Bereich auf ein Azure-Abonnement festgelegt ist, von allen Rolleninhabern mit Abonnementbereich und niedriger gelesen werden.

Wenn keine der integrierten Rollen über die erforderlichen Berechtigungen verfügt, erstellen Sie eine benutzerdefinierte Rolle.

Azure Policy-Vorgänge können erhebliche Auswirkungen auf Ihre Azure-Umgebung haben. Es sollte nur das Minimum an Berechtigungen zugewiesen werden, das zum Ausführen einer Aufgabe erforderlich ist, und diese Berechtigungen sollten keinen Benutzern gewährt werden, die sie nicht benötigen.

Hinweis

Die verwaltete Identität einer Richtlinienzuweisung vom Typ deployIfNotExists oder modify benötigt ausreichende Berechtigungen zum Erstellen oder Aktualisieren von Zielressourcen. Weitere Informationen finden Sie unter Konfigurieren von Richtliniendefinitionen für die Wartung.

Von Azure Policy abgedeckte Ressourcen

Azure Policy wertet alle Azure-Ressourcen auf oder unterhalb der Abonnementebene aus, einschließlich Ressourcen mit Arc-Unterstützung. Für bestimmte Ressourcenanbieter wie Gastkonfiguration, Azure Kubernetes Service und Azure Key Vault gibt es eine tiefergreifende Integration für die Verwaltung von Einstellungen und Objekten. Weitere Informationen finden Sie unter Ressourcenanbietermodi.

Empfehlungen für die Verwaltung von Richtlinien

Hier sind einige Hinweise und Tipps aufgeführt, die Sie beachten sollten:

  • Beginnen Sie mit einem Überwachungseffekt anstelle eines Ablehnungseffekts, um die Auswirkung Ihrer Richtliniendefinition auf die Ressourcen in Ihrer Umgebung nachzuverfolgen. Wenn Sie bereits Skripts für die automatische Skalierung Ihrer Anwendungen eingerichtet haben, kann ein Ablehnungseffekt die bereits eingerichteten Automatisierungsaufgaben verhindern.

  • Berücksichtigen Sie beim Erstellen von Definitionen und Anweisungen die Hierarchien der Organisation. Wir empfehlen Ihnen, Definitionen auf allgemeiner Ebene zu erstellen, z.B. Verwaltungsgruppen- oder Abonnementebene. Erstellen Sie anschließend die Zuweisung auf der nächsten untergeordneten Ebene. Wenn Sie eine Definition für eine Verwaltungsgruppe erstellen, kann die Zuweisung für ein Abonnement oder eine Ressourcengruppe innerhalb dieser Verwaltungsgruppe festgelegt werden.

  • Wir empfehlen Ihnen, auch für nur eine einzelne Richtliniendefinition Initiativdefinitionen zu erstellen und zuzuweisen. Es kann beispielsweise sein, dass Sie über die Richtliniendefinition policyDefA verfügen und sie unter der Initiativdefinition initiativeDefC erstellen. Wenn Sie später eine andere Richtliniendefinition für policyDefB erstellen, deren Ziele denen von policyDefA ähneln, können Sie sie unter initiativeDefC hinzufügen und beide zusammen nachverfolgen.

    • Nachdem Sie eine Initiativzuweisung erstellt haben, werden Richtliniendefinitionen, die der Initiative hinzugefügt werden, ebenfalls Teil der Zuweisungen dieser Initiative.

    • Wenn eine Initiativzuweisung ausgewertet wird, werden auch alle Richtlinien innerhalb der Initiative ausgewertet. Falls Sie eine Richtlinie einzeln auswerten möchten, empfiehlt es sich, sie nicht in eine Initiative aufzunehmen.

  • Verwalten Sie Azure Policy-Ressourcen als Code mit manuellen Überprüfungen von Änderungen an Richtliniendefinitionen, -initiativen und -zuweisungen. Weitere Informationen zu vorgeschlagenen Mustern und Tools finden Sie unter Entwerfen von Workflows für Azure Policy-as-Code.

Azure Policy-Objekte

Richtliniendefinition

Die Erstellung und Implementierung einer Richtlinie in Azure Policy beginnt mit dem Erstellen einer Richtliniendefinition. Jede Richtliniendefinition verfügt über Bedingungen, unter denen sie erzwungen wird. Des Weiteren verfügt sie über einen definierten Effekt, der wirksam wird, wenn die Bedingungen erfüllt sind.

In Azure Policy bieten wir mehrere integrierte Richtlinien an, die standardmäßig zur Verfügung stehen. Beispiel:

  • Zulässige Speicherkonten-SKUs (ablehnen): Bestimmt, ob ein bereitzustellendes Speicherkonto innerhalb einer Gruppe von SKU-Größen liegt. Alle Speicherkonten, die nicht der definierten Gruppe von SKU-Größen entsprechen, werden abgelehnt.
  • Zulässiger Ressourcentyp (ablehnen): Definiert die Ressourcentypen, die Sie bereitstellen können. Alle Ressourcen, die nicht in dieser Liste enthalten sind, werden abgelehnt.
  • Zulässige Standorte (ablehnen): Schränkt die verfügbaren Standorte für neue Ressourcen ein. Der dazugehörige Effekt dient zur Erzwingung Ihrer Geokonformitätsanforderungen.
  • Zulässige SKUs für virtuelle Computer (ablehnen): Gibt eine Gruppe von SKUs für virtuelle Computer an, die Sie bereitstellen können.
  • Tag zu Ressourcen hinzufügen (ändern): Wendet ein erforderliches Tag und dessen Standardwert an, falls dies nicht mit der Bereitstellungsanforderung angegeben wird.
  • Nicht zulässige Ressourcentypen (ablehnen): Verhindert, dass die in der Liste enthaltenen Ressourcentypen bereitgestellt werden.

Um diese Richtliniendefinitionen implementieren zu können (integrierte und benutzerdefinierte Definitionen), müssen Sie sie zuweisen. Sie können diese Richtlinien über das Azure-Portal, PowerShell oder die Azure CLI zuweisen.

Bei der Richtlinienauswertung werden mehrere unterschiedliche Aktionen durchgeführt, z.B. Richtlinienzuweisung oder Richtlinienaktualisierungen. Eine vollständige Liste finden Sie unter Evaluation Triggers (Auswertungsauslöser).

Weitere Informationen zu den Strukturen von Richtliniendefinitionen finden Sie unter Struktur von Richtliniendefinitionen.

Richtlinienparameter vereinfachen die Richtlinienverwaltung für Sie, da sie die Anzahl der Richtliniendefinitionen, die Sie erstellen müssen, reduzieren. Beim Erstellen einer Richtliniendefinition können Sie Parameter definieren, damit sie allgemeingültiger ist. Anschließend können Sie diese Richtliniendefinition für verschiedene Szenarien wiederverwenden. Dazu übergeben Sie unterschiedliche Werte beim Zuweisen der Richtliniendefinition. Geben Sie z.B. eine Gruppe von Speicherorten für ein Abonnement an.

Parameter werden beim Erstellen einer Richtliniendefinition definiert. Bei der Definition eines Parameters wird ein Name und optional ein Wert vergeben. Sie können z.B. einen Parameter für eine Richtlinie mit dem Titel location definieren. Dann können Sie ihm beim Zuweisen einer Richtlinie unterschiedliche Werte wie z.B. EastUS oder WestUS geben.

Weitere Informationen zu Richtlinienparametern finden Sie unter Struktur von Azure Policy-Definitionen – Parameter.

Initiativdefinition

Eine Initiativendefinition ist eine Auflistung von Richtliniendefinitionen, die auf das Erreichen eines einzigen übergeordneten Ziels ausgerichtet sind. Initiativdefinitionen vereinfachen das Verwalten und Zuweisen von Richtliniendefinitionen. Die Vereinfachung besteht im Gruppieren einer Reihe von Richtlinien zu einem einzelnen Element. Sie können beispielsweise eine Initiative mit dem Titel Aktivieren der Überwachung in Microsoft Defender für Cloud mit dem Ziel erstellen, alle verfügbaren Sicherheitsempfehlungen in Ihrer Microsoft Defender für Cloud-Instanz zu überwachen.

Hinweis

Das SDK, etwa Azure CLI und Azure PowerShell, verwendet zum Verweisen auf Initiativen Eigenschaften und Parameter mit dem Namen PolicySet.

Im Rahmen dieser Initiative würden Sie Richtliniendefinitionen wie etwa Folgende haben:

  • Unverschlüsselte SQL-Datenbank in Microsoft Defender für Cloud überwachen: Zum Überwachen von unverschlüsselten SQL-Datenbanken und -Servern.
  • Betriebssystem-Sicherheitsrisiken in Microsoft Defender für Cloud überwachen: Zum Überwachen von Servern, die die konfigurierte Baseline nicht erfüllen.
  • Fehlende Endpoint Protection-Instanz in Microsoft Defender für Cloud überwachen: Zum Überwachen von Servern ohne installierten Endpoint Protection-Agent.

Genau wie Richtlinienparameter vereinfachen auch Initiativparameter die Initiativverwaltung, indem sie die Redundanz verringern. Bei Initiativparametern handelt es sich um Parameter, die von den Richtliniendefinitionen innerhalb der Initiative verwendet werden.

Stellen Sie sich beispielsweise ein Szenario vor, in dem Sie die Initiativdefinition initiativeC mit den Richtliniendefinitionen policyA und policyB verwenden, die jeweils einen anderen Parametertyp erwarten:

Richtlinie Name des Parameters Typ des Parameters Hinweis
policyA allowedLocations array Dieser Parameter erwartet eine Liste von Zeichenfolgen als Wert, da der Parametertyp als Array definiert wurde.
policyB allowedSingleLocation Zeichenfolge Dieser Parameter erwartet ein Wort als Wert, da der Parametertyp als Zeichenfolge definiert wurde.

In diesem Szenario haben Sie bei der Definition der Initiativparameter für initiativeC drei Optionen:

  • Verwenden Sie die Parameter der Richtliniendefinitionen innerhalb dieser Initiative: In diesem Beispiel werden allowedLocations und allowedSingleLocation zu Initiativparametern für initiativeC.
  • Geben Sie Werte für die Parameter der Richtliniendefinitionen innerhalb dieser Initiativdefinition ein. In diesem Beispiel können Sie eine Liste von Standorten für den Parameter von policyA (allowedLocations) und den Parameter von policyB (allowedSingleLocation) zur Verfügung stellen. Bei der Zuweisung dieser Initiative können Sie auch Werte bereitstellen.
  • Geben Sie eine Liste von Wertoptionen an, die bei der Zuweisung dieser Initiative verwendet werden können. Damit dürfen die von den Richtliniendefinitionen geerbten Parameter innerhalb der Initiative bei der Zuweisung dieser Initiative nur Werte aus der angegebenen Liste enthalten.

Beim Erstellen von Wertoptionen in einer Initiativdefinition können Sie während der Initiativenzuweisung keinen anderen Wert eingeben, da er nicht Teil der Liste ist.

Weitere Informationen zu den Strukturen von Initiativdefinitionen finden Sie unter Struktur der Initiativdefinition.

Zuweisungen

Eine Zuweisung ist eine Richtliniendefinition oder -initiative, die einem bestimmten Bereich zugewiesen wurde. Ein solcher Bereich kann sich von einer Verwaltungsgruppe bis zu einer einzelnen Ressource erstrecken. Der Begriff Bereich bezieht sich auf alle Ressourcen, Ressourcengruppen, Abonnements oder Verwaltungsgruppen, denen die Definition zugewiesen ist. Zuweisungen werden von allen untergeordneten Ressourcen geerbt. Dies bedeutet, dass eine auf eine Ressourcengruppe angewendete Definition auch auf die Ressourcen in dieser Ressourcengruppe angewendet wird. Sie können jedoch einen Unterbereich von der Zuweisung ausschließen.

Im Abonnementbereich können Sie beispielsweise eine Definition zuweisen, die die Erstellung von Netzwerkressourcen verhindert. Sie können eine Ressourcengruppe in diesem Abonnement ausschließen, die für die Netzwerkinfrastruktur vorgesehen ist. Sie gewähren Benutzern, denen Sie in Bezug auf das Erstellen von Netzwerkressourcen vertrauen, dann Zugriff auf diese Netzwerkressourcengruppe.

Als weiteres Beispiel möchten Sie möglicherweise eine Definition für eine Ressourcentyp-Positivliste auf der Verwaltungsgruppenebene zuweisen. Dann weisen Sie einer untergeordneten Verwaltungsgruppe (oder sogar Abonnements direkt) eine weniger restriktive Richtlinie zu, die mehr Ressourcentypen zulässt. Dieses Beispiel funktioniert jedoch nicht, da es sich bei Azure Policy um ein explizites Verbotssystem handelt. Stattdessen müssen Sie die untergeordnete Verwaltungsgruppe oder das Abonnement aus der Zuweisung auf der Verwaltungsgruppenebene ausschließen. Anschließend müssen Sie die weniger restriktive Definition auf der Ebene der untergeordneten Verwaltungsgruppe oder des Abonnements zuweisen. Falls eine Ressource aufgrund einer Zuweisung abgelehnt wird, muss zum Zulassen der Ressource die ablehnende Zuweisung geändert werden.

Richtlinienzuweisungen verwenden beim Auswerten von Ressourcen immer den aktuellen Status ihrer zugewiesenen Definition oder Initiative. Wenn eine bereits zugewiesene Richtliniendefinition geändert wird, verwenden alle vorhandenen Zuweisungen dieser Definition bei der Auswertung die aktualisierte Logik.

Weitere Informationen zum Einrichten von Zuweisungen über das Portal finden Sie unter Erstellen einer Richtlinienzuweisung zum Identifizieren nicht konformer Ressourcen in Ihrer Azure-Umgebung. Schritte für PowerShell und die Azure-Befehlszeilenschnittstelle sind ebenfalls verfügbar. Informationen zur Zuweisungsstruktur finden Sie unter Zuweisungsstruktur.

Maximale Anzahl von Azure Policy-Objekten

Für jeden Objekttyp für Azure Policy gilt eine maximale Anzahl. Bei Definitionen gilt ein Scope-Eintrag (Bereich) entweder für die Verwaltungsgruppe oder das Abonnement. Bei Zuweisungen und Ausnahmen gilt ein Scope-Eintrag für die Verwaltungsgruppe, das Abonnement, die Ressourcengruppe oder eine einzelne Ressource.

Hierbei gilt: Was Maximale Anzahl
`Scope` Richtliniendefinitionen 500
`Scope` Initiativdefinitionen 200
Tenant Initiativdefinitionen 2\.500
`Scope` Richtlinien- oder Initiativenzuweisungen 200
Bereich Ausnahmen 1000
Richtliniendefinition Parameter 20
Initiativdefinition Richtlinien 1000
Initiativdefinition Parameter 300
Richtlinien- oder Initiativenzuweisungen Ausschlüsse (notScopes) 400
Richtlinienregel Geschachtelte konditionelle Abschnitte 512
Wartungstask Ressourcen 50.000
Richtliniendefinition, Initiative oder Text für Zuweisungsanforderung Byte 1.048.576

Richtlinienregeln haben zusätzliche Grenzwerte für die Anzahl von Bedingungen und deren Komplexität. Weitere Informationen finden Sie unter Grenzwerte für Richtlinienregeln.

Nächste Schritte

Nachdem Sie nun einen Überblick über Azure Policy erhalten und einige Schlüsselbegriffe kennengelernt haben, geht es mit den nächsten empfohlenen Schritten weiter: