Schnellstart: Erstellen einer Richtlinienzuweisung zum Identifizieren nicht konformer Ressourcen mithilfe von Azure PowerShell
Zum Verständnis der Konformität in Azure müssen Sie zunächst wissen, wie Sie den Status Ihrer Ressourcen ermitteln. In diesem Schnellstart erstellen Sie mit Azure PowerShell eine Richtlinienzuweisung zum Ermitteln nicht konformer Ressourcen. Die Richtlinie wird einer Ressourcengruppe zugewiesen und überwacht VMs, die keine verwalteten Datenträger verwenden. Nachdem Sie die Richtlinienzuweisung erstellt haben, ermitteln Sie nicht konforme VMs.
Das Azure PowerShell-Modul kann zum Verwalten von Azure-Ressourcen über die Befehlszeile oder in Skripts verwendet werden. In diesem Artikel wird erläutert, wie Sie Azure PowerShell zum Erstellen einer Richtlinienzuweisung verwenden.
Beim Zuweisen einer integrierten Richtlinien- oder Initiativendefinition ist der Verweis auf eine Version optional. Richtlinienzuweisungen von integrierten Definitionen sind standardmäßig auf die neueste Version festgelegt und erben automatisch Nebenversionsänderungen, sofern nicht anders angegeben.
Voraussetzungen
- Sollten Sie kein Azure-Konto haben, erstellen Sie zunächst ein kostenloses Konto.
- Azure PowerShell.
- Visual Studio Code.
Microsoft.PolicyInsights
muss in Ihrem Azure-Abonnement registriert sein. Um einen Ressourcenanbieter zu registrieren, benötigen Sie die Berechtigung zum Registrieren von Ressourcenanbietern. Diese Berechtigung ist in den Rollen „Mitwirkender“ und „Besitzer“ enthalten.- Eine Ressourcengruppe mit mindestens einer VM, die keine verwalteten Datenträger verwendet.
Herstellen einer Verbindung mit Azure
Stellen Sie in einer Visual Studio Code-Terminalsitzung eine Verbindung mit Azure her. Wenn Sie über mehrere Abonnements verfügen, führen Sie die Befehle aus, um den Kontext für Ihr Abonnement festzulegen. Ersetzen Sie <subscriptionID>
durch Ihre Azure-Abonnement-ID.
Connect-AzAccount
# Run these commands if you have multiple subscriptions
Get-AzSubScription
Set-AzContext -Subscription <subscriptionID>
Registrieren des Ressourcenanbieters
Wenn ein Ressourcenanbieter registriert ist, ist er zur Verwendung in Ihrem Azure-Abonnement verfügbar.
Führen Sie Get-AzResourceProvider
aus, um zu überprüfen, ob Microsoft.PolicyInsights
registriert ist. Der Ressourcenanbieter enthält mehrere Ressourcentypen. Wenn das Ergebnis NotRegistered
ist, führen Sie Register-AzResourceProvider
aus:
Get-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights' |
Select-Object -Property ResourceTypes, RegistrationState
Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
Weitere Informationen finden Sie unter Get-AzResourceProvider und Register-AzResourceProvider.
Erstellen einer Richtlinienzuweisung
Verwenden Sie die folgenden Befehle, um eine neue Richtlinienzuweisung für Ihre Ressourcengruppe zu erstellen. In diesem Beispiel wird eine vorhandene Ressourcengruppe verwendet, die eine VM ohne verwaltete Datenträger enthält. Die Ressourcengruppe ist der Bereich für die Richtlinienzuweisung. Dieses Beispiel verwendet die integrierte Richtliniendefinition Virtuelle Computer überwachen, die keine verwalteten Datenträger verwenden.
Führen Sie die folgenden Befehle aus, und ersetzen Sie <resourceGroupName>
durch Ihren Ressourcengruppennamen:
$rg = Get-AzResourceGroup -Name '<resourceGroupName>'
$definition = Get-AzPolicyDefinition |
Where-Object { $_.DisplayName -eq 'Audit VMs that do not use managed disks' }
Die Variable $rg
speichert Eigenschaften für die Ressourcengruppe, und die Variable $definition
speichert die Eigenschaften der Richtliniendefinition. Die Eigenschaften werden in nachfolgenden Befehlen verwendet.
Führen Sie den folgenden Befehl aus, um die Richtlinienzuweisung zu erstellen:
$policyparms = @{
Name = 'audit-vm-managed-disks'
DisplayName = 'Audit VM managed disks'
Scope = $rg.ResourceId
PolicyDefinition = $definition
Description = 'Az PowerShell policy assignment to resource group'
}
New-AzPolicyAssignment @policyparms
Die Variable $policyparms
verwendet Splatting, um Parameterwerte zu erstellen und die Lesbarkeit zu verbessern. Der Befehl New-AzPolicyAssignment
verwendet die Parameterwerte, die in der Variablen $policyparms
definiert sind.
Name
erstellt den Richtlinienzuweisungsnamen, der in derResourceId
der Zuordnung verwendet wird.DisplayName
ist der Name für die Richtlinienzuweisung und ist im Azure-Portal sichtbar.Scope
verwendet die Eigenschaft$rg.ResourceId
, um die Richtlinie der Ressourcengruppe zuzuweisen.PolicyDefinition
weist die in der Variablen$definition
gespeicherte Richtliniendefinition zu.Description
kann verwendet werden, um Kontext zur Richtlinienzuweisung hinzuzufügen.
Die Ergebnisse der Richtlinienzuweisung ähneln dem folgenden Beispiel:
Name : audit-vm-managed-disks
ResourceId : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks
ResourceName : audit-vm-managed-disks
ResourceGroupName : {resourceGroupName}
ResourceType : Microsoft.Authorization/policyAssignments
SubscriptionId : {subscriptionId}
PolicyAssignmentId : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks
Properties : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignmentProperties
Weitere Informationen finden Sie unter New-AzPolicyAssignment.
Wenn Sie die Informationen zur Richtlinienzuweisung erneut anzeigen möchten, führen Sie den folgenden Befehl aus:
Get-AzPolicyAssignment -Name 'audit-vm-managed-disks' -Scope $rg.ResourceId
Identifizieren nicht konformer Ressourcen
Es dauert einige Minuten, bis der Konformitätszustand für eine neue Richtlinienzuweisung aktiviert ist und Ergebnisse zum Status der Richtlinie liefert.
Verwenden Sie folgenden Befehl, um Ressourcen zu ermitteln, die nicht mit der erstellten Richtlinienzuweisung konform sind:
$complianceparms = @{
ResourceGroupName = $rg.ResourceGroupName
PolicyAssignmentName = 'audit-vm-managed-disks'
Filter = 'IsCompliant eq false'
}
Get-AzPolicyState @complianceparms
Die Variable $complianceparms
verwendet Splatting zum Erstellen von Parameterwerten, die im Befehl Get-AzPolicyState
verwendet werden.
ResourceGroupName
ruft den Ressourcengruppennamen aus der Eigenschaft$rg.ResourceGroupName
ab.PolicyAssignmentName
gibt den Namen an, der beim Erstellen der Richtlinienzuweisung verwendet wird.Filter
verwendet einen Ausdruck, um Ressourcen zu finden, die nicht mit der Richtlinienzuweisung kompatibel sind.
Ihre Ergebnisse ähneln dem folgenden Beispiel, und ComplianceState
zeigt NonCompliant
:
Timestamp : 2/14/2024 18:25:37
ResourceId : /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.compute/virtualmachines/{vmId}
PolicyAssignmentId : /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.authorization/policyassignments/audit-vm-managed-disks
PolicyDefinitionId : /providers/microsoft.authorization/policydefinitions/06a78e20-9358-41c9-923c-fb736d382a4d
IsCompliant : False
SubscriptionId : {subscriptionId}
ResourceType : Microsoft.Compute/virtualMachines
ResourceLocation : {location}
ResourceGroup : {resourceGroupName}
ResourceTags : tbd
PolicyAssignmentName : audit-vm-managed-disks
PolicyAssignmentOwner : tbd
PolicyAssignmentScope : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
PolicyDefinitionName : 06a78e20-9358-41c9-923c-fb736d382a4d
PolicyDefinitionAction : audit
PolicyDefinitionCategory : tbd
ManagementGroupIds : {managementGroupId}
ComplianceState : NonCompliant
AdditionalProperties : {[complianceReasonCode, ]}
Weitere Informationen finden Sie unter Get-AzPolicyState.
Bereinigen von Ressourcen
Führen Sie den folgenden Befehl aus, um die Richtlinienzuweisung zu entfernen:
Remove-AzPolicyAssignment -Name 'audit-vm-managed-disks' -Scope $rg.ResourceId
Abmeldung von Ihrer Azure PowerShell-Sitzung:
Disconnect-AzAccount
Nächste Schritte
In diesem Schnellstart haben Sie eine Richtliniendefinition zum Identifizieren nicht kompatibler Ressourcen in Ihrer Azure-Umgebung zugewiesen.
Fahren Sie mit dem Tutorial fort, um mehr über das Zuweisen von Richtlinien zu lernen, die überprüfen, ob Ressourcen konform sind.