Aracılığıyla paylaş


New-AzPolicyAssignment

İlke ataması oluşturur veya güncelleştirir.

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

New-AzPolicyAssignment cmdlet'i, verilen kapsam ve adla bir ilke ataması oluşturur veya güncelleştirir. İlke atamaları, kapsamları içinde yer alan tüm kaynaklar için geçerlidir. Örneğin, kaynak grubu kapsamında bir ilke atadığınızda, bu ilke gruptaki tüm kaynaklar için geçerlidir.

Örnekler

Örnek 1: Abonelik düzeyinde ilke ataması

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

İlk komut, Get-AzSubscription cmdlet'ini kullanarak Subscription01 adlı bir abonelik alır ve bunu $Subscription değişkeninde depolar. İkinci komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, ilkeyi abonelik kapsam dizesi tarafından tanımlanan abonelik düzeyinde $Policy atar.

Örnek 2: Kaynak grubu düzeyinde ilke ataması

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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar. İkinci komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, ilkeyi $ResourceGroup ResourceId özelliği tarafından tanımlanan kaynak grubu düzeyinde $Policy atar.

Örnek 3: İlke parametresi nesnesiyle kaynak grubu düzeyinde ilke ataması

$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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır. Komut bu nesneyi $ResourceGroup değişkeninde depolar. İkinci komut Get-AzPolicyDefinition cmdlet'ini kullanarak izin verilen konumlar için yerleşik ilke tanımını alır. Komut bu nesneyi $Policy değişkeninde depolar. Üçüncü ve dördüncü komutlar, adında "doğu" olan tüm Azure bölgelerini içeren bir nesne oluşturur. Komutlar bu nesneyi $AllowedLocations değişkeninde depolar. Son komut, $AllowedLocations'da ilke parametre nesnesini kullanarak bir kaynak grubu düzeyinde $Policy ilkeyi atar. $ResourceGroup ResourceId özelliği kaynak grubunu tanımlar.

Örnek 4: İlke parametre dosyasıyla kaynak grubu düzeyinde ilke ataması

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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar. İkinci komut Get-AzPolicyDefinition cmdlet'ini kullanarak izin verilen konumlar için yerleşik ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, yerel çalışma dizininden AllowedLocations.json ilke parametre dosyasını kullanarak $ResourceGroup ResourceId özelliği tarafından tanımlanan kaynak grubundaki $Policy ilkeyi atar.

Örnek 5: Sistem tarafından atanan yönetilen kimlikle ilke ataması

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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar. İkinci komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, $Policy içindeki ilkeyi kaynak grubuna atar. Sistem tarafından atanan yönetilen kimlik otomatik olarak oluşturulur ve ilke atamasına atanır.

Örnek 6: Kullanıcı tarafından atanan yönetilen kimlikle ilke ataması

$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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar. İkinci komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar. Üçüncü komut, Get-AzUserAssignedIdentity cmdlet'ini kullanarak UserAssignedIdentity1 adlı kullanıcı tarafından atanan yönetilen kimliği alır ve $UserAssignedIdentity değişkeninde depolar. Son komut, $Policy içindeki ilkeyi kaynak grubuna atar. $UserAssignedIdentity Id özelliği tarafından tanımlanan kullanıcı tarafından atanan yönetilen kimlik, Id* özelliği IdentityId parametresine geçirilerek ilke atamasına atanır.

Örnek 7: Zorlama modu özelliğiyle ilke ataması

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

İlk komut, Get-AzSubscription cmdlet'ini kullanarak Subscription01 adlı bir abonelik alır ve bunu $Subscription değişkeninde depolar. İkinci komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, ilkeyi abonelik kapsam dizesi tarafından tanımlanan abonelik düzeyinde $Policy atar.

Atama, DoNotEnforce'un EnforcementMode değeriyle ayarlanır. İlke etkisi kaynak oluşturma veya güncelleştirme sırasında uygulanmaz.

Örnek 8: Uyumsuzluk iletileriyle ilke ataması

$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

İlk komut, Get-AzPolicySetDefinition cmdlet'ini kullanarak VirtualMachinePolicySet adlı ilke kümesi tanımını alır ve $PolicySet değişkeninde depolar. İkinci komut bir uyumsuzluk iletileri dizisi oluşturur. Atamanın tamamı için bir genel amaçlı ileti ve atanan ilke kümesi tanımı içindeki bir SKU kısıtlama ilkesine özgü bir ileti. Son komut, bir kaynağın ilke tarafından reddedilmesi durumunda gösterilecek iki uyumsuz iletiyle aboneliğe $PolicySet ilke kümesi tanımını atar.

Örnek 9: [Backcompat] İlke parametresi nesnesiyle kaynak grubu düzeyinde ilke ataması

$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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır. Komut bu nesneyi $ResourceGroup değişkeninde depolar. İkinci komut Get-AzPolicyDefinition cmdlet'ini kullanarak izin verilen konumlar için yerleşik ilke tanımını alır. Komut bu nesneyi $Policy değişkeninde depolar. Üçüncü ve dördüncü komutlar, adında "doğu" olan tüm Azure bölgelerini içeren bir nesne oluşturur. Komutlar bu nesneyi $AllowedLocations değişkeninde depolar. Son komut, $AllowedLocations'da ilke parametre nesnesini kullanarak bir kaynak grubu düzeyinde $Policy ilkeyi atar. $ResourceGroup ResourceId özelliği kaynak grubunu tanımlar.

Örnek 10: [Backcompat] İlke parametre dosyasıyla kaynak grubu düzeyinde ilke ataması

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

İlk komut Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar. İkinci komut Get-AzPolicyDefinition cmdlet'ini kullanarak izin verilen konumlar için yerleşik ilke tanımını alır ve $Policy değişkeninde depolar. Son komut, yerel çalışma dizininden AllowedLocations.json ilke parametre dosyasını kullanarak $ResourceGroup ResourceId özelliği tarafından tanımlanan kaynak grubundaki $Policy ilkeyi atar.

Parametreler

-BackwardCompatible

Cmdlet'in bir özellik paketi nesnesine ilkeye özgü özellikler yerleştirerek eski biçimi kullanarak yapıtlar döndürmesine neden olur.

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

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

-DefaultProfile

DefaultProfile parametresi işlevsel değil. Cmdlet'i farklı bir abonelikte yürütürken kullanılabilir olduğunda SubscriptionId parametresini kullanın.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

İlke ihlali durumunda bu ileti yanıtın bir parçası olacaktır.

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

-DisplayName

İlke atamasının görünen adı.

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

-EnforcementMode

İlke ataması zorlama modu. Olası değerler Default ve DoNotEnforce'tır.

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

-IdentityId

İlkeyle ilişkili kullanıcı kimliği. Kullanıcı kimliği sözlük anahtarı başvuruları şu biçimde ARM kaynak kimlikleri olacaktır: '/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

Kimlik türü. Bir kaynağa sistem veya kullanıcı tarafından atanan kimlik eklenirken gereken tek alan budur.

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

-Location

İlke atamasının konumu. Yalnızca yönetilen kimlik kullanıldığında gereklidir.

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

-Metadata

İlke atama meta verileri. Meta veriler açık uçlu bir nesnedir ve genellikle anahtar değer çiftleri koleksiyonudur.

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

-Name

İlke atamasının adı.

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

-NonComplianceMessage

Kaynağın ilkeyle neden uyumlu olmadığını açıklayan iletiler. Oluşturmak için NONCOMPLIANCEMESSAGE özellikleri için NOTES bölümüne bakın ve bir karma tablo oluşturun.

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

-NotScope

İlkenin dışlanan kapsamları.

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

-PolicyDefinition

İlke tanımını veya ilke kümesi tanım nesnesini kabul etme

Type:PSObject
Aliases:PolicySetDefinition
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Atanan ilke kuralı için parametre değerleri. Anahtarlar parametre adlarıdır.

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

-PolicyParameterObject

Atanan ilke kuralı için parametre değerleri. Anahtarlar parametre adlarıdır.

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

-Scope

İlke atamasının kapsamı. Geçerli kapsamlar şunlardır: yönetim grubu (biçim: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), abonelik (biçim: '/subscriptions/{subscriptionId}'), kaynak grubu (biçim: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', veya kaynak (biçim: '/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

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

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

Girişler

PSObject

PSObject[]

String

String[]

Çıkışlar

IPolicyAssignment