Share via


New-AzureRmPolicyAssignment

Hiermee maakt u een beleidstoewijzing.

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

Syntax

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

Met de cmdlet New-AzureRmPolicyAssignment maakt u een beleidstoewijzing. Geef een beleid en bereik op.

Voorbeelden

Voorbeeld 1: Beleidstoewijzing op resourcegroepniveau

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de cmdlet Get-AzureRMResourceGroup en slaat deze op in de $ResourceGroup variabele. Met de tweede opdracht haalt u de beleidsdefinitie VirtualMachinePolicy op met behulp van de cmdlet Get-AzureRmPolicyDefinition en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van de resourcegroep die is geïdentificeerd door de eigenschap ResourceId van $ResourceGroup.

Voorbeeld 2: Beleidstoewijzing op resourcegroepsniveau met beleidsparameterobject

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

Met de eerste opdracht wordt een resourcegroep met de naam ResourceGroup11 ophaalt met behulp van de cmdlet Get-AzureRMResourceGroup. Met de opdracht wordt dat object opgeslagen in de variabele $ResourceGroup. Met de tweede opdracht wordt de ingebouwde beleidsdefinitie voor toegestane locaties opgeslagen met behulp van de cmdlet Get-AzureRmPolicyDefinition. Met de opdracht wordt dat object opgeslagen in de $Policy variabele. Met de derde en vierde opdracht maakt u een object met alle Azure-regio's met 'oost' in de naam. Met de opdrachten wordt dat object opgeslagen in de variabele $AllowedLocations. Met de laatste opdracht wordt het beleid in $Policy toegewezen op het niveau van een resourcegroep met behulp van het beleidsparameterobject in $AllowedLocations. De eigenschap ResourceId van $ResourceGroup identificeert de resourcegroep.

Voorbeeld 3: Beleidstoewijzing op resourcegroepsniveau met beleidsparameterbestand

Maak een bestand met de naam AllowedLocations.json in de lokale werkmap met de volgende inhoud.

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de cmdlet Get-AzureRMResourceGroup en slaat deze op in de $ResourceGroup variabele. De tweede opdracht haalt de ingebouwde beleidsdefinitie op voor toegestane locaties met behulp van de cmdlet Get-AzureRmPolicyDefinition en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen aan de resourcegroep die is geïdentificeerd door de eigenschap ResourceId van $ResourceGroup met behulp van het beleidsparameterbestand AllowedLocations.json uit de lokale werkmap.

Voorbeeld 4: Beleidstoewijzing met een beheerde identiteit

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

De eerste opdracht haalt een resourcegroep met de naam ResourceGroup11 op met behulp van de cmdlet Get-AzureRMResourceGroup en slaat deze op in de $ResourceGroup variabele. Met de tweede opdracht haalt u de beleidsdefinitie VirtualMachinePolicy op met behulp van de cmdlet Get-AzureRmPolicyDefinition en slaat deze op in de $Policy variabele. Met de laatste opdracht wordt het beleid in $Policy toegewezen aan de resourcegroep. Er wordt automatisch een beheerde identiteit gemaakt en toegewezen aan de beleidstoewijzing.

Parameters

-ApiVersion

Hiermee geeft u de versie van de resourceprovider-API die moet worden gebruikt. Als u geen versie opgeeft, gebruikt deze cmdlet de meest recente beschikbare versie.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

Genereer en wijs een Microsoft Entra-identiteit toe voor deze beleidstoewijzing. De identiteit wordt gebruikt bij het uitvoeren van implementaties voor 'deployIfNotExists'-beleid. Locatie is vereist bij het toewijzen van een identiteit.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

De beschrijving voor beleidstoewijzing

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Hiermee geeft u een weergavenaam voor de beleidstoewijzing op.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InformationAction

Hiermee geeft u op hoe deze cmdlet reageert op een informatie-gebeurtenis. De aanvaardbare waarden voor deze parameter zijn:

  • Verdergaan
  • Negeren
  • Informeren
  • SilentlyContinue
  • Stoppen
  • Onderbreken
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

Hiermee geeft u een informatievariabele op.

Type:String
Aliases:iv
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

De locatie van de resource-id van de beleidstoewijzing. Dit is vereist wanneer de switch -AssignIdentity wordt gebruikt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

De metagegevens voor de nieuwe beleidstoewijzing. Dit kan een pad zijn naar een bestandsnaam met de metagegevens of de metagegevens als een tekenreeks.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Hiermee geeft u een naam voor de beleidstoewijzing.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

De niet-bereiken voor beleidstoewijzing.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyDefinition

Hiermee geeft u een beleid, als een PsPolicyDefinition-object dat de beleidsregel bevat.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Het pad naar het beleidsparameterbestand of de tekenreeks van de beleidsparameter.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Het beleidsparameterobject.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PolicySetDefinition

Het definitieobject van de beleidsset.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Pre

Hiermee wordt aangegeven dat deze cmdlet api-versies van de voorlopige versie beschouwt wanneer deze automatisch bepaalt welke versie moet worden gebruikt.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Hiermee geeft u het bereik op waarop het beleid moet worden toegewezen. Als u bijvoorbeeld een beleid wilt toewijzen aan een resourcegroep, geeft u het volgende op: /subscriptions/naam van de resourcegroep abonnements-id/resourcegroups/

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Sku

Een hash-tabel die SKU-eigenschappen vertegenwoordigt. Standaard ingesteld op de gratis SKU met de waarden: @{Name = 'A0'; Tier = 'Free'}. Als u de standard-SKU wilt gebruiken, gebruikt u de volgende waarden: @{Name = 'A1'; Tier = 'Standard'}

Type:Hashtable
Aliases:SkuObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False