New-AzPolicyAssignment

Szabályzat-hozzárendelést hoz létre.

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

A New-AzPolicyAssignment parancsmag létrehoz egy szabályzat-hozzárendelést. Adjon meg egy szabályzatot és hatókört.

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 {$_.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.

4. példa: Szabályzat-hozzárendelés erőforráscsoport szintjén szabályzatparaméterfájllal

Hozzon létre egy AllowedLocations.json nevű fájlt a helyi munkakönyvtárban az alábbi tartalommal.

<#{
    "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.

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.

Paraméterek

-ApiVersion

A használni kívánt erőforrás-szolgáltatói API verzióját adja meg. Ha nem ad meg verziót, ez a parancsmag a legújabb elérhető verziót használja.

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

-AssignIdentity

Rendszer által hozzárendelt felügyelt identitás létrehozása és hozzárendelése ehhez a szabályzat-hozzárendeléshez. Az identitás a "deployIfNotExists" és a "modify" szabályzatok üzembe helyezésének végrehajtásakor lesz használva. Identitás hozzárendeléséhez hely szükséges.

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

-DefaultProfile

Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés

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

-Description

A szabályzat-hozzárendelés leírása

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ő nevét adja meg.

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. Az érvényes értékek jelenleg a DoNotEnforce alapértelmezett értékei.

Type:Nullable<T>[PolicyAssignmentEnforcementMode]
Accepted values:Default, DoNotEnforce
Position:Named
Default value:Default
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

A szabályzat-hozzárendeléshez hozzárendelni kívánt felhasználó által hozzárendelt felügyelt identitás azonosítóját adja meg. Ez az érték akkor szükséges, ha a "UserAssigned" értéket a rendszer átadja a -IdentityType paraméternek.

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

-IdentityType

Megadja a szabályzat-hozzárendeléshez hozzárendelni kívánt felügyelt identitás típusát. Ha a "SystemAssigned" érték meg van adva, a rendszer létrehoz egy rendszer által hozzárendelt felügyelt identitást, és hozzá van rendelve ehhez a szabályzat-hozzárendeléshez. Ha a "UserAssigned" érték meg van adva, a felhasználó által hozzárendelt identitás az azonosítója alapján lett átadva a -IdentityId paraméternek ehhez a házirend-hozzárendeléshez. Az identitás a "deployIfNotExists" és a "modify" szabályzatok üzembe helyezésének végrehajtásakor lesz használva. Identitás hozzárendeléséhez hely szükséges. A rendszer által hozzárendelt identitás létrehozása után engedélyeket kell adni az identitásnak a New-AzRoleAssignment használatával. Az IdentityType paraméter elsőbbséget élvez, ha az AssignIdentity és az IdentityType paramétert is használja.

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

A szabályzat-hozzárendelés erőforrás-identitásának helye. Erre a -IdentityType érték megadásakor van szükség.

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

-Metadata

Az új szabályzat-hozzárendelés metaadatai. Ez lehet a metaadatokat tartalmazó fájlnév elérési útja, vagy a metaadatok sztringként.

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

-Name

Megadja a szabályzat-hozzárendelés nevét.

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

-NonComplianceMessage

Azok a nemmegfelelőségi üzenetek, amelyek azt írják le, hogy egy erőforrás miért nem felel meg a szabályzatnak.

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

-NotScope

A szabályzat-hozzárendelés nem hatókörei.

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

-PolicyDefinition

A szabályzatot psPolicyDefinition objektumként adja meg, amely a szabályzatszabályt tartalmazza.

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

-PolicyParameter

A szabályzatparaméter fájl elérési útja vagy a szabályzatparaméter sztringje.

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

-PolicyParameterObject

A szabályzatparaméter-objektum.

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

-PolicySetDefinition

A szabályzatkészlet definíciós objektuma.

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

-Pre

Azt jelzi, hogy ez a parancsmag a kiadás előtti API-verziókat veszi figyelembe, amikor automatikusan meghatározza a használni kívánt verziót.

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

-Scope

Megadja a szabályzat hozzárendelésének hatókörét. Ha például szabályzatot szeretne hozzárendelni egy erőforráscsoporthoz, adja meg a következőket: /subscriptions/előfizetés-azonosító/resourcegroups/erőforráscsoport neve

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

Bevitelek

String

String[]

PsPolicyDefinition

PsPolicySetDefinition

Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]

PsNonComplianceMessage[]

Kimenetek

PsPolicyAssignment