New-AzPolicyAssignment

Vytvoří nebo aktualizuje přiřazení zásad.

Syntaxe

New-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-EnforcementMode <String>]
   [-IdentityType <String>]
   [-IdentityId <String>]
   [-Location <String>]
   [-NonComplianceMessage <PSObject[]>]
   [-Override <IOverride[]>]
   [-ResourceSelector <IResourceSelector[]>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-EnforcementMode <String>]
   [-IdentityType <String>]
   [-IdentityId <String>]
   [-Location <String>]
   [-NonComplianceMessage <PSObject[]>]
   [-Override <IOverride[]>]
   [-ResourceSelector <IResourceSelector[]>]
   [-BackwardCompatible]
   [-PolicyDefinition <PSObject>]
   [-DefinitionVersion <String>]
   -PolicyParameterObject <Hashtable>
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-EnforcementMode <String>]
   [-IdentityType <String>]
   [-IdentityId <String>]
   [-Location <String>]
   [-NonComplianceMessage <PSObject[]>]
   [-Override <IOverride[]>]
   [-ResourceSelector <IResourceSelector[]>]
   [-BackwardCompatible]
   [-PolicyDefinition <PSObject>]
   [-DefinitionVersion <String>]
   -PolicyParameter <String>
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-EnforcementMode <String>]
   [-IdentityType <String>]
   [-IdentityId <String>]
   [-Location <String>]
   [-NonComplianceMessage <PSObject[]>]
   [-Override <IOverride[]>]
   [-ResourceSelector <IResourceSelector[]>]
   [-BackwardCompatible]
   -PolicyDefinition <PSObject>
   [-DefinitionVersion <String>]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Rutina New-AzPolicyAssignment vytvoří nebo aktualizuje přiřazení zásad s daným oborem a názvem. Přiřazení zásad se vztahují na všechny prostředky obsažené v jejich oboru. Když například přiřadíte zásadu v oboru skupiny prostředků, tato zásada se vztahuje na všechny prostředky ve skupině.

Příklady

Příklad 1: Přiřazení zásad na úrovni předplatného

$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)"

První příkaz získá předplatné s názvem Subscription01 pomocí rutiny Get-AzSubscription a uloží ho do proměnné $Subscription. Druhý příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu v $Policy na úrovni předplatného identifikované řetězcem oboru předplatného.

Příklad 2: Přiřazení zásad na úrovni skupiny prostředků

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

První příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup a uloží ji do proměnné $ResourceGroup. Druhý příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu v $Policy na úrovni skupiny prostředků identifikované vlastností ResourceId $ResourceGroup.

Příklad 3: Přiřazení zásad na úrovni skupiny prostředků s objektem parametru zásad

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.DisplayName -eq 'Allowed locations'}
$Locations = Get-AzLocation | Where-Object displayname -like '*east*'
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

První příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup. Příkaz uloží tento objekt do proměnné $ResourceGroup. Druhý příkaz získá integrovanou definici zásad pro povolená umístění pomocí rutiny Get-AzPolicyDefinition. Příkaz uloží tento objekt do proměnné $Policy. Třetí a čtvrtý příkaz vytvoří objekt obsahující všechny oblasti Azure s názvem east. Příkazy ukládají tento objekt do proměnné $AllowedLocations. Poslední příkaz přiřadí zásadu v $Policy na úrovni skupiny prostředků pomocí objektu parametru zásad v $AllowedLocations. Vlastnost ResourceId $ResourceGroup identifikuje skupinu prostředků.

Příklad 4: Přiřazení zásad na úrovni skupiny prostředků pomocí souboru parametrů zásad

'{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}' > .\AllowedLocations.json

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.DisplayName -eq 'Allowed locations'}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

První příkaz vytvoří soubor parametrů s názvem AllowedLocations.json v místním pracovním adresáři. Druhý příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup a uloží ji do proměnné $ResourceGroup. Třetí příkaz získá integrovanou definici zásad pro povolená umístění pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu v $Policy ve skupině prostředků identifikované vlastností ResourceId $ResourceGroup pomocí souboru parametrů zásad AllowedLocations.json z místního pracovního adresáře.

Příklad 5: Přiřazení zásad se spravovanou identitou přiřazenou systémem

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'SystemAssigned'

První příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup a uloží ji do proměnné $ResourceGroup. Druhý příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu ve $Policy ke skupině prostředků. Spravovaná identita přiřazená systémem se automaticky vytvoří a přiřadí k přiřazení zásady.

Příklad 6: Přiřazení zásad se spravovanou identitou přiřazenou uživatelem

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'UserAssigned' -IdentityId $UserAssignedIdentity.Id

První příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup a uloží ji do proměnné $ResourceGroup. Druhý příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Třetí příkaz získá spravovanou identitu přiřazenou uživatelem s názvem UserAssignedIdentity1 pomocí rutiny Get-AzUserAssignedIdentity a uloží ji do proměnné $UserAssignedIdentity. Poslední příkaz přiřadí zásadu ve $Policy ke skupině prostředků. Spravovaná identita přiřazená uživatelem identifikovaná vlastností ID $UserAssignedIdentity je přiřazena k přiřazení zásady předáním vlastnosti Id* parametru IdentityId.

Příklad 7: Přiřazení zásad s vlastností režimu vynucení

$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)" -EnforcementMode DoNotEnforce

První příkaz získá předplatné s názvem Subscription01 pomocí rutiny Get-AzSubscription a uloží ho do proměnné $Subscription. Druhý příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu v $Policy na úrovni předplatného identifikované řetězcem oboru předplatného.

Přiřazení je nastaveno s hodnotou EnforcementMode doNotEnforce , tj. efekt zásady se nevynucuje při vytváření nebo aktualizaci prostředku.

Příklad 8: Přiřazení zásad se zprávami o nedodržování předpisů

$PolicySet = Get-AzPolicySetDefinition -Name 'VirtualMachinePolicySet'
$NonComplianceMessages = @(@{Message="Only DsV2 SKUs are allowed."; PolicyDefinitionReferenceId="DefRef1"}, @{Message="Virtual machines must follow cost management best practices."})
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicySetDefinition $PolicySet -NonComplianceMessage $NonComplianceMessages

První příkaz získá definici sady zásad s názvem VirtualMachinePolicySet pomocí rutiny Get-AzPolicySetDefinition a uloží ji do proměnné $PolicySet. Druhý příkaz vytvoří pole zpráv, které nedodržují předpisy. Jedna zpráva pro obecné účely pro celé přiřazení a jednu zprávu specifickou pro zásadu omezení skladové položky v rámci definice přiřazené sady zásad. Poslední příkaz přiřadí definici sady zásad v $PolicySet k odběru se dvěma zprávami o nedodržování předpisů, které se zobrazí v případě odepření prostředku zásadami.

Příklad 9: Přiřazení zásad pomocí selektoru prostředků

$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; In = @("eastus", "eastus2")})}
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -ResourceSelector $ResourceSelector

První příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Druhý příkaz vytvoří objekt selektoru prostředků, který se použije k určení přiřazení, by se měl vztahovat pouze na prostředky umístěné v oblasti USA – východ nebo USA – východ 2 a uloží ho do proměnné $ResourceSelector. Poslední příkaz přiřadí definici zásady v $Policy předplatnému pomocí selektoru prostředků určeným $ResourceSelector.

Příklad 10: Přiřazení zásad s přepsání

$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
$Selector = @{Kind = "resourceLocation"; In = @("eastus", "eastus2")}
$Override = @(@{Kind = "policyEffect"; Value = 'Disabled'; Selector = @($Selector)})
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Override $Override

První příkaz získá definici zásady s názvem VirtualMachinePolicy pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Druhý příkaz vytvoří selektor umístění určující umístění USA – východ nebo USA – východ 2 a uloží ho do proměnné $Selector. Třetí příkaz vytvoří objekt přepsání, který se použije k určení, že přiřazená definice by měla mít v umístěních identifikovaných objektem $Selector a uloží ho do proměnné $Override. Poslední příkaz přiřadí definici zásady v $Policy předplatnému s přepsáním určeným $Override.

Příklad 11: [Backcompat] Přiřazení zásad na úrovni skupiny prostředků s objektem parametru zásad

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
$Locations = Get-AzLocation | Where-Object displayname -like '*east*'
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

První příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup. Příkaz uloží tento objekt do proměnné $ResourceGroup. Druhý příkaz získá integrovanou definici zásad pro povolená umístění pomocí rutiny Get-AzPolicyDefinition. Příkaz uloží tento objekt do proměnné $Policy. Třetí a čtvrtý příkaz vytvoří objekt obsahující všechny oblasti Azure s názvem east. Příkazy ukládají tento objekt do proměnné $AllowedLocations. Poslední příkaz přiřadí zásadu v $Policy na úrovni skupiny prostředků pomocí objektu parametru zásad v $AllowedLocations. Vlastnost ResourceId $ResourceGroup identifikuje skupinu prostředků.

Příklad 12: [Backcompat] Přiřazení zásad na úrovni skupiny prostředků se souborem parametrů zásad

'{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}' > .\AllowedLocations.json

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
New-AzPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

První příkaz vytvoří soubor parametrů s názvem AllowedLocations.json v místním pracovním adresáři. Druhý příkaz získá skupinu prostředků s názvem ResourceGroup11 pomocí rutiny Get-AzResourceGroup a uloží ji do proměnné $ResourceGroup. Třetí příkaz získá integrovanou definici zásad pro povolená umístění pomocí rutiny Get-AzPolicyDefinition a uloží ji do proměnné $Policy. Poslední příkaz přiřadí zásadu v $Policy ve skupině prostředků identifikované vlastností ResourceId $ResourceGroup pomocí souboru parametrů zásad AllowedLocations.json z místního pracovního adresáře.

Parametry

-BackwardCompatible

Způsobí, že rutina vrátí artefakty pomocí staršího formátu, který umísťuje vlastnosti specifické pro zásady do objektu kontejneru vlastností.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefaultProfile

Parametr DefaultProfile není funkční. Pokud je k dispozici spuštění rutiny pro jiné předplatné, použijte parametr SubscriptionId.

Typ:PSObject
Aliasy:AzureRMContext, AzureCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefinitionVersion

Označení verze definice zásady nebo definice sady zásad

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Description

Tato zpráva bude součástí odpovědi v případě porušení zásad.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-DisplayName

Zobrazovaný název přiřazení zásady.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-EnforcementMode

Režim vynucení přiřazení zásad. Možné hodnoty jsou Default a DoNotEnforce.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-IdentityId

Identita uživatele přidružená k zásadě. Odkazy na klíč slovníku identit uživatele budou ID prostředků ARM ve formátu: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-IdentityType

Typ identity. Toto je jediné povinné pole při přidávání identity přiřazené systémem nebo uživatelem k prostředku.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Location

Umístění přiřazení zásady. Vyžaduje se pouze při využití spravované identity.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Metadata

Metadata přiřazení zásad. Metadata jsou otevřený objekt, který je obvykle kolekcí párů klíč-hodnota.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Název přiřazení zásady.

Typ:String
Aliasy:PolicyAssignmentName
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-NonComplianceMessage

Zprávy, které popisují, proč prostředek nedodržuje zásady. Chcete-li vytvořit, přečtěte si část NOTES pro vlastnosti NONCOMPLIANCEMESSAGE a vytvořte hashovací tabulku.

Typ:PSObject[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-NotScope

Vyloučené obory zásad.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Override

Přepsání hodnoty vlastnosti zásady.

Typ:IOverride[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PolicyDefinition

Přijetí definice zásady nebo objektu definice sady zásad

Typ:PSObject
Aliasy:PolicySetDefinition
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PolicyParameter

Hodnoty parametrů pro přiřazené pravidlo zásad. Klíče jsou názvy parametrů.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PolicyParameterObject

Hodnoty parametrů pro přiřazené pravidlo zásad. Klíče jsou názvy parametrů.

Typ:Hashtable
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ResourceSelector

Seznam selektoru prostředků pro filtrování zásad podle vlastností prostředků.

Typ:IResourceSelector[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Scope

Rozsah přiřazení zásady. Platné obory jsou: skupina pro správu (formát: /providers/Microsoft.Management/managementGroups/{managementGroup}), předplatné (formát: /subscriptions/{subscriptionId}), skupina prostředků (formát: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}, nebo prostředek (formát: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

PSObject[]

String

String[]

Výstupy

IPolicyAssignment