Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Policy- und Richtlinieninitiativen bieten eine Methode, um die Protokollierung im großen Maßstab mithilfe von Diagnoseeinstellungen für Azure Monitor zu ermöglichen. In diesem Artikel wird beschrieben, wie Sie eine benutzerdefinierte Richtlinie für Azure-Ressourcen erstellen, die nicht über eine integrierte Richtlinie verfügen. Informationen zum Erstellen von Diagnoseeinstellungen für Azure-Ressourcen mit integrierten Richtlinien finden Sie unter "Erstellen von Diagnoseeinstellungen im großen Maßstab mithilfe integrierter Azure-Richtlinien".
Voraussetzungen
- Um Richtliniendefinitionen, Initiativen und Zuordnungen zu erstellen, benötigen Sie die Rolle " Mitwirkender ressourcenrichtlinie " oder eine Rolle, die diese Berechtigungen enthält, z. B. "Besitzer", in dem Bereich, in dem Sie arbeiten.
- Zur
deployIfNotExistsBehebung erfordert die Richtlinienzuweisung eine verwaltete Identität. Erteilen Sie dieser Identität eine Rolle mit der Berechtigung zum Erstellen von Diagnoseeinstellungen im Zuordnungsbereich, z. B. "Mitwirkender überwachen" oder "Log Analytics Mitwirkender".
Verwenden von Protokollkategoriengruppen
Protokollkategoriengruppen enthalten ähnliche Arten von Protokollen. Kategoriegruppen erleichtern es, in einem einzigen Befehl auf mehrere Protokolle zu verweisen.
| Kategoriegruppe | Inhalt |
|---|---|
allLogs |
Alle verfügbaren Protokolle für die Ressource. |
audit |
Alle Überwachungsprotokolle für die Ressource. |
Verwenden Sie eine Kategoriegruppe, um eine Richtlinie zu definieren, die dynamisch aktualisiert wird, wenn der Gruppe neue Protokollkategorien hinzugefügt werden.
Erstellen einer benutzerdefinierten Richtliniendefinition
Erstellen Sie für Ressourcentypen, die nicht über eine integrierte Richtlinie verfügen, eine benutzerdefinierte Richtliniendefinition. Erstellen Sie die Richtlinie manuell im Azure-Portal, indem Sie eine vorhandene integrierte Richtlinie kopieren und dann für Ihren Ressourcentyp ändern. Stattdessen können Sie die Richtlinie auch programmgesteuert mithilfe eines Skripts im PowerShell-Katalog erstellen.
Das Skript Create-AzDiagPolicy erstellt Richtliniendateien für einen bestimmten Ressourcentyp. Installieren Sie die Dateien mithilfe von PowerShell oder dem Azure CLI. Erstellen Sie mit folgendem Verfahren eine benutzerdefinierte Richtliniendefinition für Diagnoseeinstellungen:
Stellen Sie sicher, dass Azure PowerShell installiert ist.
Installieren Sie das Skript mit dem folgenden Befehl:
Install-Script -Name Create-AzDiagPolicyFühren Sie das Skript mit den Parametern aus, die angeben, wohin die Protokolle gesendet werden sollen. Geben Sie bei der Eingabeaufforderung einen Abonnement- und Ressourcentyp an.
Wenn Sie beispielsweise eine Richtliniendefinition erstellen möchten, die Protokolle an einen Log Analytics Arbeitsbereich sendet und Azure Event Hubs, verwenden Sie den folgenden Befehl:
Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"Alternativ können Sie einen Abonnement- und Ressourcentyp im Befehl angeben. Um beispielsweise eine Richtliniendefinition zu erstellen, die Protokolle an einen Log Analytics Arbeitsbereich sendet und für SQL Server Datenbanken Azure Event Hubs, verwenden Sie den folgenden Befehl:
Create-AzDiagPolicy.ps1 -SubscriptionID <subscription id> -ResourceType Microsoft.Sql/servers/databases -ExportLA -ExportEH -ExportDir ".\PolicyFiles"Das Skript erstellt separate Ordner für jede Richtliniendefinition. Jeder Ordner enthält drei Dateien:
azurepolicy.json, ,azurepolicy.rules.jsonundazurepolicy.parameters.json. Zum manuellen Erstellen der Richtlinie im Azure-Portal kopieren und einfügen Sie den Inhalt, daazurepolicy.jsoner die gesamte Richtliniendefinition enthält. Verwenden Sie die anderen beiden Dateien mit PowerShell oder der Azure CLI, um die Richtliniendefinition über eine Befehlszeile zu erstellen.In den folgenden Beispielen wird gezeigt, wie die Richtliniendefinition sowohl über PowerShell als auch über die Azure CLI installiert wird. Jedes Beispiel enthält Metadaten zur Angabe einer Kategorie von
Monitoring, um die neue Richtliniendefinition mit den integrierten Richtliniendefinitionen zu gruppieren.New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace' --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
Erstellen einer Initiative
Anstatt für jede Richtliniendefinition eine Zuweisung zu erstellen, ist es eine gängige Strategie, eine Initiative zu erstellen, die die Richtliniendefinitionen umfasst, um Diagnoseeinstellungen für jeden Azure-Dienst zu erstellen. Erstellen Sie abhängig von der Art der Verwaltung Ihrer Umgebung eine Zuweisung zwischen der Initiative und einer Verwaltungsgruppe, einem Abonnement oder einer Ressourcengruppe. Diese Strategie bietet folgende Vorteile:
- Erstellen Sie eine einzelne Zuweisung für die Initiative anstelle mehrerer Zuweisungen für jeden Ressourcentyp. Verwenden Sie dieselbe Initiative für mehrere Überwachungsgruppen, Abonnements oder Ressourcengruppen.
- Ändern Sie die Initiative, wenn Sie einen neuen Ressourcentyp oder ein neues Ziel hinzufügen müssen. Ihre anfänglichen Anforderungen können z. B. das Senden von Daten nur an einen Log Analytics Arbeitsbereich sein, aber später möchten Sie Azure Event Hubs hinzufügen. Ändern Sie die Initiative, anstatt neue Zuweisungen zu erstellen.
Ausführliche Informationen zum Erstellen einer Initiative finden Sie unter Erstellen und Zuweisen einer Initiativedefinition. Beachten Sie die folgenden Empfehlungen:
- Legen Sie "Kategorie auf Überwachung " fest, um sie mit verwandten integrierten und benutzerdefinierten Richtliniendefinitionen zu gruppieren.
- Anstatt die Details für den Log Analytics Arbeitsbereich anzugeben und Azure Event Hubs für Richtliniendefinitionen, die in der Initiative enthalten sind, verwenden Sie einen gemeinsamen Initiative-Parameter. Mit diesem Parameter können Sie bei Bedarf einen gemeinsamen Wert für alle Richtliniendefinitionen angeben und diesen Wert ändern.
Weisen Sie die Initiative zu
Weisen Sie die Initiative abhängig vom Umfang ihrer zu überwachenden Ressourcen einer Azure-Verwaltungsgruppe, einem Abonnement oder einer Ressourcengruppe zu. Eine Verwaltungsgruppe ist nützlich für bereichsbezogene Richtlinien, insbesondere wenn Ihre Organisation über mehrere Abonnements verfügt.
Mithilfe von Initiative-Parametern können Sie den Arbeitsbereich oder alle anderen Details einmal für alle Richtliniendefinitionen in der Initiative angeben.
Erstellen einer Behebungsaufgabe
Azure Policy wendet die Initiative auf jede Ressource an, wenn Sie die Ressource erstellen. Eine Wartungsaufgabe stellt die Richtliniendefinitionen in der Initiative für vorhandene Ressourcen bereit und erstellt Diagnoseeinstellungen für diese Ressourcen.
Wenn Sie die Zuweisung mithilfe des Azure-Portals erstellen, können Sie gleichzeitig einen Wartungstask erstellen. Ausführliche Informationen zur Behebung finden Sie unter "Korrigieren nicht kompatibler Ressourcen mit Azure-Richtlinie".
Überprüfen der Diagnoseeinstellungen
Vergewissern Sie sich nach Abschluss der Zuweisung und etwaiger Korrekturaufgaben, dass diagnoseeinstellungen für Ihre Ressourcen vorhanden sind:
Wechseln Sie im Azure-Portal zu einer Ressource im Zuordnungsbereich, und wählen Sie dann diagnoseeinstellungen unter "Überwachung" aus. Vergewissern Sie sich, dass eine Einstellung Protokolle an die von Ihnen konfigurierten Ziele sendet.
Alternativ können Sie die Diagnoseeinstellungen für eine Ressource mithilfe der Azure CLI auflisten:
az monitor diagnostic-settings list --resource <resource-id>