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[]
String[]
Výstupy
Azure PowerShell