New-AzPolicyAssignment
Vytvoří přiřazení zásady.
Syntax
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
[-PolicySetDefinition <PsPolicySetDefinition>]
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PsPolicyDefinition>
[-PolicySetDefinition <PsPolicySetDefinition>]
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
-PolicyDefinition <PsPolicyDefinition>
[-PolicySetDefinition <PsPolicySetDefinition>]
-PolicyParameter <String>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
-PolicySetDefinition <PsPolicySetDefinition>
-PolicyParameterObject <Hashtable>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-PolicyDefinition <PsPolicyDefinition>]
-PolicySetDefinition <PsPolicySetDefinition>
-PolicyParameter <String>
[-Metadata <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-AssignIdentity]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Rutina New-AzPolicyAssignment vytvoří přiřazení zásady. Zadejte zásadu a obor.
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 {$_.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 4: Přiřazení zásad na úrovni skupiny prostředků pomocí souboru parametrů zásad
Vytvořte soubor s názvem AllowedLocations.json v místním pracovním adresáři s následujícím obsahem.
<#{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}#>
$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 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á 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.
Parametry
-ApiVersion
Určuje verzi rozhraní API poskytovatele prostředků, která se má použít. Pokud nezadáte verzi, použije tato rutina nejnovější dostupnou verzi.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssignIdentity
Vygenerujte a přiřaďte spravovanou identitu přiřazenou systémem pro toto přiřazení zásad. Identita se použije při spouštění nasazení pro zásady deployIfNotExists a Modify. Při přiřazování identity se vyžaduje umístění.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Popis přiřazení zásad
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
Určuje zobrazovaný název přiřazení zásady.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnforcementMode
Režim vynucení pro přiřazení zásad. V současné době jsou platné hodnoty Default, DoNotEnforce.
Type: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Accepted values: | Default, DoNotEnforce |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
Určuje ID spravované identity přiřazené uživatelem pro přiřazení této zásady. Tato hodnota se vyžaduje, pokud je hodnota UserAssigned předána parametru -IdentityType.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
Určuje typ spravované identity, která se má přiřadit k tomuto přiřazení zásad. Pokud je zadána hodnota SystemAssigned, vygeneruje se spravovaná identita přiřazená systémem a přiřadí se k tomuto přiřazení zásad. Pokud je zadána hodnota UserAssigned, identita přiřazená uživatelem předaná prostřednictvím id parametru -IdentityId je přiřazena k tomuto přiřazení zásady. Identita se použije při spouštění nasazení pro zásady deployIfNotExists a Modify. Při přiřazování identity se vyžaduje umístění. Po vytvoření identity přiřazené systémem musí být identitě udělena oprávnění pomocí New-AzRoleAssignmentu. Parametr IdentityType bude mít přednost, pokud se použije parametr AssignIdentity i IdentityType.
Type: | Nullable<T>[ManagedIdentityType] |
Accepted values: | SystemAssigned, UserAssigned, None |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
Umístění identity prostředku přiřazení zásady. To se vyžaduje při zadání hodnoty -IdentityType.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
Metadata pro nové přiřazení zásad. Může to být cesta k názvu souboru, který obsahuje metadata, nebo metadata jako řetězec.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Určuje název přiřazení zásady.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NonComplianceMessage
Zprávy o nedodržování předpisů, které popisují, proč prostředek nedodržuje předpisy zásad.
Type: | PsNonComplianceMessage[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
Obory nejsou určené pro přiřazení zásad.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyDefinition
Určuje zásadu, jako PsPolicyDefinition objekt, který obsahuje pravidlo zásady.
Type: | PsPolicyDefinition |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameter
Cesta k souboru parametrů zásad nebo řetězec parametru zásad.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameterObject
Objekt parametru zásad.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PolicySetDefinition
Objekt definice sady zásad.
Type: | PsPolicySetDefinition |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Pre
Označuje, že tato rutina bere v úvahu předběžné verze rozhraní API, když automaticky určí, kterou verzi použít.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Určuje obor, pro který se má zásada přiřadit.
Pokud chcete například přiřadit zásadu ke skupině prostředků, zadejte následující: /subscriptions/
název skupiny prostředků ID/resourcegroups/
předplatného.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Vstupy
String[]
Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]
Výstupy
Související odkazy
Azure PowerShell
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro