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.
İ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.
İlk komut, Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve $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ı
İ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ölgeleri 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ı
İlk komut, yerel çalışma dizininde AllowedLocations.json adlı bir parametre dosyası oluşturur.
İkinci komut, Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar.
Üçüncü 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 grubunda ilkeyi $Policy atar.
Örnek 5: Sistem tarafından atanan yönetilen kimlikle ilke ataması
İlk komut, Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve $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ı
İlk komut, Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve $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, kullanıcı tarafından atanan UserAssignedIdentity1 adlı yönetilen kimliği Get-AzUserAssignedIdentity cmdlet'ini kullanarak 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.
İ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.
İlk komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar.
İkinci komut, atamanın yalnızca Doğu ABD veya Doğu ABD 2'de bulunan kaynaklara uygulanacağını belirtmek için kullanılacak bir kaynak seçici nesnesi oluşturur ve bunu $ResourceSelector değişkeninde depolar.
Son komut, $ResourceSelector tarafından belirtilen kaynak seçici ile aboneliğe $Policy ilke tanımını atar.
İlk komut, Get-AzPolicyDefinition cmdlet'ini kullanarak VirtualMachinePolicy adlı ilke tanımını alır ve $Policy değişkeninde depolar.
İkinci komut, Doğu ABD veya Doğu ABD 2 konumlarını belirten bir konum seçici oluşturur ve bunu $Selector değişkeninde depolar.
Üçüncü komut, atanan tanımın $Selector nesnesi tarafından tanımlanan konumlarda Disabled etkisi olması gerektiğini belirtmek için kullanılacak bir geçersiz kılma nesnesi oluşturur ve bunu $Override değişkeninde depolar.
Son komut, $Policy ilke tanımını $Override tarafından belirtilen geçersiz kılmayla aboneliğe atar.
Örnek 11: [Backcompat] İlke parametresi nesnesiyle kaynak grubu düzeyinde ilke ataması
İ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ölgeleri 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 12: [Backcompat] İlke parametre dosyasıyla kaynak grubu düzeyinde ilke ataması
İlk komut, yerel çalışma dizininde AllowedLocations.json adlı bir parametre dosyası oluşturur.
İkinci komut, Get-AzResourceGroup cmdlet'ini kullanarak ResourceGroup11 adlı bir kaynak grubu alır ve bunu $ResourceGroup değişkeninde depolar.
Üçüncü 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 grubunda ilkeyi $Policy 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.
İ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}'.
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.
İ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}'
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.