Snabbstart: Skapa en policytilldelning som identifierar icke-kompatibla resurser med hjälp av Azure PowerShellQuickstart: Create a policy assignment to identify non-compliant resources using Azure PowerShell

Det första steget mot att förstå kompatibilitet i Azure är att identifiera dina resursers status.The first step in understanding compliance in Azure is to identify the status of your resources. I den här snabbstarten skapar du en principtilldelning som identifierar virtuella datorer som inte använder hanterade diskar.In this quickstart, you create a policy assignment to identify virtual machines that aren't using managed disks. När du är klar kommer du att identifiera virtuella datorer som inte är kompatibla.When complete, you'll identify virtual machines that are non-compliant.

Azure PowerShell-modulen används för att hantera Azure-resurser från kommando raden eller i skript.The Azure PowerShell module is used to manage Azure resources from the command line or in scripts. Den här guiden förklarar hur du använder AZ-modulen för att skapa en princip tilldelning.This guide explains how to use Az module to create a policy assignment.

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.If you don't have an Azure subscription, create a free account before you begin.

FörutsättningarPrerequisites

  • Innan du börjar bör du kontrollera att den senaste versionen av Azure PowerShell har installerats.Before you start, make sure that the latest version of Azure PowerShell is installed. Detaljerad information finns i Installera Azure PowerShell-modulen.See Install Azure PowerShell module for detailed information.

  • Registrera resurs leverantören Azure Policy Insights med Azure PowerShell.Register the Azure Policy Insights resource provider using Azure PowerShell. När du registrerar resursprovidern säkerställer du att din prenumeration fungerar med den.Registering the resource provider makes sure that your subscription works with it. Om du vill registrera en resursprovider måste du ha behörighet att utföra åtgärden att registrera resursprovidern.To register a resource provider, you must have permission to the register resource provider operation. Den här åtgärden ingår i rollerna Deltagare och Ägare.This operation is included in the Contributor and Owner roles. Registrera resursprovidern genom att köra följande kommando:Run the following command to register the resource provider:

    # Register the resource provider if it's not already registered
    Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
    

    Läs mer om att registrera och visa resursprovidrar i (Resursprovidrar och typer)For more information about registering and viewing resource providers, see Resource Providers and Types

Skapa en principtilldelningCreate a policy assignment

I den här snabb starten skapar du en princip tilldelning för definitionen Granska virtuella datorer utan Managed disks .In this quickstart, you create a policy assignment for the Audit VMs without managed disks definition. Den här princip definitionen identifierar virtuella datorer som inte använder hanterade diskar.This policy definition identifies virtual machines not using managed disks.

Skapa en ny principtilldelning genom att köra följande kommandon:Run the following commands to create a new policy assignment:

# Get a reference to the resource group that will be the scope of the assignment
$rg = Get-AzResourceGroup -Name '<resourceGroupName>'

# Get a reference to the built-in policy definition that will be assigned
$definition = Get-AzPolicyDefinition | Where-Object { $_.Properties.DisplayName -eq 'Audit VMs that do not use managed disks' }

# Create the policy assignment with the built-in definition against your resource group
New-AzPolicyAssignment -Name 'audit-vm-manageddisks' -DisplayName 'Audit VMs without managed disks Assignment' -Scope $rg.ResourceId -PolicyDefinition $definition

Föregående kommandon använder följande information:The preceding commands use the following information:

  • Namn – det faktiska namnet på tilldelningen.Name - The actual name of the assignment. I det här exemplet användes audit-vm-manageddisks.For this example, audit-vm-manageddisks was used.
  • Visningsnamn – Visningsnamn för principtilldelningen.DisplayName - Display name for the policy assignment. I det här fallet använder du tilldelningen Granska virtuella datorer utan hanterade diskar.In this case, you're using Audit VMs without managed disks Assignment.
  • Definition – Principdefinitionen som du använder som bas för att skapa tilldelningen.Definition – The policy definition, based on which you're using to create the assignment. I det här fallet är principdefinitionens ID Granska virtuella datorer som inte använder hanterade diskar.In this case, it's the ID of policy definition Audit VMs that do not use managed disks.
  • Omfång – Ett omfång avgör vilka resurser eller grupper med resurser som principtilldelningen används på.Scope - A scope determines what resources or grouping of resources the policy assignment gets enforced on. Det kan vara allt från en prenumeration till resursgrupper.It could range from a subscription to resource groups. Kom ihåg att ersätta <omfång> med namnet på din resursgrupp.Be sure to replace <scope> with the name of your resource group.

Du är nu redo att identifiera icke-kompatibla resurser för att förstå miljöns kompatibilitetstillstånd.You're now ready to identify non-compliant resources to understand the compliance state of your environment.

Identifiera icke-kompatibla resurserIdentify non-compliant resources

Använd följande information för att identifiera resurser som inte är kompatibla med principtilldelningen som du skapade.Use the following information to identify resources that aren't compliant with the policy assignment you created. Kör följande kommandon:Run the following commands:

# Get the resources in your resource group that are non-compliant to the policy assignment
Get-AzPolicyState -ResourceGroupName $rg.ResourceGroupName -PolicyAssignmentName 'audit-vm-manageddisks' -Filter 'IsCompliant eq false'

Mer information om hur du hämtar princip status finns i Get-AzPolicyState.For more information about getting policy state, see Get-AzPolicyState.

Ditt resultat liknar följande exempel:Your results resemble the following example:

Timestamp                   : 3/9/19 9:21:29 PM
ResourceId                  : /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmId}
PolicyAssignmentId          : /subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/audit-vm-manageddisks
PolicyDefinitionId          : /providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d
IsCompliant                 : False
SubscriptionId              : {subscriptionId}
ResourceType                : /Microsoft.Compute/virtualMachines
ResourceTags                : tbd
PolicyAssignmentName        : audit-vm-manageddisks
PolicyAssignmentOwner       : tbd
PolicyAssignmentScope       : /subscriptions/{subscriptionId}
PolicyDefinitionName        : 06a78e20-9358-41c9-923c-fb736d382a4d
PolicyDefinitionAction      : audit
PolicyDefinitionCategory    : Compute
ManagementGroupIds          : {managementGroupId}

Resultaten matchar det du ser på fliken Resource Compliance (resurs krav ) i en princip tilldelning i vyn Azure Portal.The results match what you see in the Resource compliance tab of a policy assignment in the Azure portal view.

Rensa resurserClean up resources

Om du vill ta bort den skapade tilldelningen använder du följande kommando:To remove the assignment created, use the following command:

# Removes the policy assignment
Remove-AzPolicyAssignment -Name 'audit-vm-manageddisks' -Scope '/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>'

Nästa stegNext steps

I den här snabbstarten har du tilldelat en principdefinition för att identifiera icke-kompatibla resurser i Azure-miljön.In this quickstart, you assigned a policy definition to identify non-compliant resources in your Azure environment.

Om du vill ha mer information om tilldelning av principer för att validera att de nya resurserna är kompatibla fortsätter du till självstudien för att:To learn more about assigning policies to validate that new resources are compliant, continue to the tutorial for: