New-AzPolicyAssignment
Szabályzat-hozzárendelést hoz létre vagy frissít.
Syntax
New-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-Location <String>]
[-NonComplianceMessage <PSObject[]>]
[-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[]>]
[-BackwardCompatible]
[-PolicyDefinition <PSObject>]
-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[]>]
[-BackwardCompatible]
[-PolicyDefinition <PSObject>]
-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[]>]
[-BackwardCompatible]
-PolicyDefinition <PSObject>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A New-AzPolicyAssignment parancsmag létrehoz vagy frissít egy szabályzat-hozzárendelést a megadott hatókörrel és névvel. A szabályzat-hozzárendelések a hatókörükben található összes erőforrásra vonatkoznak. Ha például erőforráscsoport-hatókörhöz rendel egy szabályzatot, az a csoport összes erőforrására vonatkozik.
Példák
1. példa: Szabályzat-hozzárendelés előfizetési szinten
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)"
Az első parancs lekéri az Előfizetés01 nevű előfizetést a Get-AzSubscription parancsmag használatával, és a $Subscription változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri a VirtualMachinePolicy nevű szabályzatdefiníciót, és a $Policy változóban tárolja. Az utolsó parancs az előfizetés hatókörének sztringje által azonosított előfizetés szintjén rendeli hozzá a szabályzatot $Policy.
2. példa: Szabályzat-hozzárendelés erőforráscsoport szintjén
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot, és a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri a VirtualMachinePolicy nevű szabályzatdefiníciót, és a $Policy változóban tárolja. Az utolsó parancs hozzárendeli a szabályzatot $Policy a $ResourceGroup ResourceId tulajdonsága által azonosított erőforráscsoport szintjén.
3. példa: Szabályzat-hozzárendelés erőforráscsoport szintjén szabályzatparaméter-objektummal
$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
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot. A parancs az objektumot a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri az engedélyezett helyek beépített szabályzatdefinícióját. A parancs az objektumot a $Policy változóban tárolja. A harmadik és negyedik parancsok létrehoznak egy objektumot, amely az összes Azure-régiót tartalmazza, a névben pedig a "kelet". A parancsok az objektumot a $AllowedLocations változóban tárolják. Az utolsó parancs egy erőforráscsoport szintjén rendeli hozzá a szabályzatot $Policy a $AllowedLocations házirendparaméter-objektumával. A $ResourceGroup ResourceId tulajdonsága azonosítja az erőforráscsoportot.
4. példa: Szabályzat-hozzárendelés erőforráscsoport szintjén szabályzatparaméterfájllal
{
"listOfAllowedLocations": {
"value": [
"westus",
"westeurope",
"japanwest"
]
}
}
$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
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot, és a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri az engedélyezett helyek beépített szabályzatdefinícióját, és a $Policy változóban tárolja. Az utolsó parancs hozzárendeli a szabályzatot $Policy a $ResourceGroup ResourceId tulajdonsága által azonosított erőforráscsoporthoz a helyi munkakönyvtárból AllowedLocations.json házirendparaméterfájl használatával.
5. példa: Szabályzat-hozzárendelés egy rendszer által hozzárendelt felügyelt identitással
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'SystemAssigned'
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot, és a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri a VirtualMachinePolicy nevű szabályzatdefiníciót, és a $Policy változóban tárolja. Az utolsó parancs hozzárendeli az $Policy házirendjét az erőforráscsoporthoz. A rendszer automatikusan létrehoz egy rendszer által hozzárendelt felügyelt identitást, és hozzárendeli a szabályzat-hozzárendeléshez.
6. példa: Szabályzat-hozzárendelés egy felhasználó által hozzárendelt felügyelt identitással
$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
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot, és a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri a VirtualMachinePolicy nevű szabályzatdefiníciót, és a $Policy változóban tárolja. A harmadik parancs a Get-AzUserAssignedIdentity parancsmaggal lekéri a UserAssignedIdentity1 nevű felhasználó által hozzárendelt felügyelt identitást, és a $UserAssignedIdentity változóban tárolja. Az utolsó parancs hozzárendeli az $Policy házirendjét az erőforráscsoporthoz. Az $UserAssignedIdentity Azonosító tulajdonsága által azonosított felhasználó által hozzárendelt felügyelt identitás a szabályzat-hozzárendeléshez van rendelve az Id* tulajdonságnak az IdentityId paraméternek való átadásával.
7. példa: Szabályzat-hozzárendelés kényszerítési mód tulajdonsággal
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)" -EnforcementMode DoNotEnforce
Az első parancs lekéri az Előfizetés01 nevű előfizetést a Get-AzSubscription parancsmag használatával, és a $Subscription változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri a VirtualMachinePolicy nevű szabályzatdefiníciót, és a $Policy változóban tárolja. Az utolsó parancs az előfizetés hatókörének sztringje által azonosított előfizetés szintjén rendeli hozzá a szabályzatot $Policy.
A hozzárendelés a DoNotEnforce EnforcementMode értékével van beállítva, azaz a szabályzat hatása nem lesz kényszerítve az erőforrás létrehozása vagy frissítése során.
8. példa: Szabályzat-hozzárendelés nem megfelelőségi üzenetekkel
$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
Az első parancs a Get-AzPolicySetDefinition parancsmaggal lekéri a VirtualMachinePolicySet nevű szabályzatkészlet-definíciót, és a $PolicySet változóban tárolja. A második parancs nem megfelelő üzenetek tömböt hoz létre. Egy általános célú üzenet a teljes hozzárendeléshez és egy, a hozzárendelt szabályzatkészlet definícióján belüli termékváltozat-korlátozási szabályzatra vonatkozó üzenet. Az utolsó parancs hozzárendeli a szabályzatkészlet definícióját $PolicySet az előfizetéshez két nemmegfelelési üzenettel, amelyek akkor jelennek meg, ha egy erőforrást a szabályzat megtagad.
9. példa: [Backcompat] Szabályzat-hozzárendelés erőforráscsoport szintjén szabályzatparaméter-objektummal
$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
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot. A parancs az objektumot a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri az engedélyezett helyek beépített szabályzatdefinícióját. A parancs az objektumot a $Policy változóban tárolja. A harmadik és negyedik parancsok létrehoznak egy objektumot, amely az összes Azure-régiót tartalmazza, a névben pedig a "kelet". A parancsok az objektumot a $AllowedLocations változóban tárolják. Az utolsó parancs egy erőforráscsoport szintjén rendeli hozzá a szabályzatot $Policy a $AllowedLocations házirendparaméter-objektumával. A $ResourceGroup ResourceId tulajdonsága azonosítja az erőforráscsoportot.
10. példa: [Backcompat] Szabályzat-hozzárendelés erőforráscsoport szintjén szabályzatparaméterfájllal
{
"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
Az első parancs a Get-AzResourceGroup parancsmaggal lekéri a ResourceGroup11 nevű erőforráscsoportot, és a $ResourceGroup változóban tárolja. A második parancs a Get-AzPolicyDefinition parancsmaggal lekéri az engedélyezett helyek beépített szabályzatdefinícióját, és a $Policy változóban tárolja. Az utolsó parancs hozzárendeli a szabályzatot $Policy a $ResourceGroup ResourceId tulajdonsága által azonosított erőforráscsoporthoz a helyi munkakönyvtárból AllowedLocations.json házirendparaméterfájl használatával.
Paraméterek
-BackwardCompatible
A parancsmag az örökölt formátumú összetevők visszaadását okozza, amelyek szabályzatspecifikus tulajdonságokat helyeznek el egy tulajdonságcsomag-objektumban.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
A DefaultProfile paraméter nem működik. Ha a parancsmagot egy másik előfizetésen hajtja végre, használja az SubscriptionId paramétert, ha elérhető.
Type: | PSObject |
Aliases: | AzureRMContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Ez az üzenet a szabályzat megsértése esetén a válasz része lesz.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
A szabályzat-hozzárendelés megjelenítendő neve.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnforcementMode
A szabályzat-hozzárendelés kényszerítési módja. A lehetséges értékek az Alapértelmezett és a DoNotEnforce.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
A szabályzathoz társított felhasználói identitás. A felhasználói identitás szótárkulcs-hivatkozásai arm-erőforrás-azonosítók lesznek a következő formában: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
Az identitás típusa. Ez az egyetlen kötelező mező, amikor rendszer- vagy felhasználó által hozzárendelt identitást ad hozzá egy erőforráshoz.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
A szabályzat-hozzárendelés helye. Csak felügyelt identitás használatakor szükséges.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
A szabályzat-hozzárendelés metaadatai. A metaadatok egy nyitott végű objektum, amely általában kulcsértékpárok gyűjteménye.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
A szabályzat-hozzárendelés neve.
Type: | String |
Aliases: | PolicyAssignmentName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NonComplianceMessage
Azok az üzenetek, amelyek azt írják le, hogy egy erőforrás miért nem felel meg a szabályzatnak. A létrehozáshoz tekintse meg a MEGJEGYZÉSEK szakaszt a NONCOMPLIANCEMESSAGE tulajdonságokhoz, és hozzon létre egy kivonattáblát.
Type: | PSObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
A szabályzat kizárt hatókörei.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyDefinition
Szabályzatdefiníció vagy szabályzatkészlet definíciós objektumának elfogadása
Type: | PSObject |
Aliases: | PolicySetDefinition |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameter
A hozzárendelt szabályzatszabály paraméterértékei. A kulcsok a paraméternevek.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PolicyParameterObject
A hozzárendelt szabályzatszabály paraméterértékei. A kulcsok a paraméternevek.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
A szabályzat-hozzárendelés hatóköre. Érvényes hatókörök: felügyeleti csoport (formátum: "/providers/Microsoft.Management/managementGroups/{managementGroup}"), előfizetés (formátum: "/subscriptions/{subscriptionId}"), erőforráscsoport (formátum: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", vagy erőforrás (formátum: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}"
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Bevitelek
PSObject[]
String[]
Kimenetek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: