New-AzPolicyAssignment
Membuat atau memperbarui penetapan kebijakan.
Sintaks
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>]
Deskripsi
Cmdlet New-AzPolicyAssignment membuat atau memperbarui penetapan kebijakan dengan cakupan dan nama yang diberikan. Penetapan kebijakan berlaku untuk semua sumber daya yang terkandung dalam cakupannya. Misalnya, saat Anda menetapkan kebijakan di cakupan grup sumber daya, kebijakan tersebut berlaku untuk semua sumber daya dalam grup.
Contoh
Contoh 1: Penetapan kebijakan di tingkat langganan
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)"
Perintah pertama mendapatkan langganan bernama Subscription01 dengan menggunakan cmdlet Get-AzSubscription dan menyimpannya dalam variabel $Subscription. Perintah kedua mendapatkan definisi kebijakan bernama VirtualMachinePolicy dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy pada tingkat langganan yang diidentifikasi oleh string cakupan langganan.
Contoh 2: Penetapan kebijakan di tingkat grup sumber daya
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup dan menyimpannya dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bernama VirtualMachinePolicy dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy pada tingkat grup sumber daya yang diidentifikasi oleh properti ResourceId $ResourceGroup.
Contoh 3: Penetapan kebijakan di tingkat grup sumber daya dengan objek parameter kebijakan
$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
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup. Perintah menyimpan objek tersebut dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bawaan untuk lokasi yang diizinkan dengan menggunakan cmdlet Get-AzPolicyDefinition. Perintah menyimpan objek tersebut dalam variabel $Policy. Perintah ketiga dan keempat membuat objek yang berisi semua wilayah Azure dengan "timur" dalam nama. Perintah menyimpan objek tersebut dalam variabel $AllowedLocations. Perintah akhir menetapkan kebijakan dalam $Policy pada tingkat grup sumber daya menggunakan objek parameter kebijakan di $AllowedLocations. Properti ResourceId dari $ResourceGroup mengidentifikasi grup sumber daya.
Contoh 4: Penetapan kebijakan di tingkat grup sumber daya dengan file parameter kebijakan
{
"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
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup dan menyimpannya dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bawaan untuk lokasi yang diizinkan dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy di grup sumber daya yang diidentifikasi oleh properti ResourceId $ResourceGroup menggunakan file parameter kebijakan AllowedLocations.json dari direktori kerja lokal.
Contoh 5: Penetapan kebijakan dengan identitas terkelola yang ditetapkan sistem
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -IdentityType 'SystemAssigned'
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup dan menyimpannya dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bernama VirtualMachinePolicy dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy ke grup sumber daya. Identitas terkelola yang ditetapkan sistem secara otomatis dibuat dan ditetapkan ke penetapan kebijakan.
Contoh 6: Penetapan kebijakan dengan identitas terkelola yang ditetapkan pengguna
$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
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup dan menyimpannya dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bernama VirtualMachinePolicy dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah ketiga mendapatkan identitas terkelola yang ditetapkan pengguna bernama UserAssignedIdentity1 dengan menggunakan cmdlet Get-AzUserAssignedIdentity dan menyimpannya dalam variabel $UserAssignedIdentity. Perintah akhir menetapkan kebijakan dalam $Policy ke grup sumber daya. Identitas terkelola yang ditetapkan pengguna yang diidentifikasi oleh properti Id $UserAssignedIdentity ditetapkan ke penetapan kebijakan dengan meneruskan properti Id* ke parameter IdentityId.
Contoh 7: Penetapan kebijakan dengan properti mode penegakan
$Subscription = Get-AzSubscription -SubscriptionName 'Subscription01'
$Policy = Get-AzPolicyDefinition -Name 'VirtualMachinePolicy'
New-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope "/subscriptions/$($Subscription.Id)" -EnforcementMode DoNotEnforce
Perintah pertama mendapatkan langganan bernama Subscription01 dengan menggunakan cmdlet Get-AzSubscription dan menyimpannya dalam variabel $Subscription. Perintah kedua mendapatkan definisi kebijakan bernama VirtualMachinePolicy dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy pada tingkat langganan yang diidentifikasi oleh string cakupan langganan.
Penetapan diatur dengan nilai EnforcementMode dari DoNotEnforce yaitu efek kebijakan tidak diberlakukan selama pembuatan atau pembaruan sumber daya.
Contoh 8: Penetapan kebijakan dengan pesan ketidakpatuhan
$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
Perintah pertama mendapatkan definisi set kebijakan bernama VirtualMachinePolicySet dengan menggunakan cmdlet Get-AzPolicySetDefinition dan menyimpannya dalam variabel $PolicySet. Perintah kedua membuat array pesan non-kepatuhan. Satu pesan tujuan umum untuk seluruh penugasan dan satu pesan khusus untuk kebijakan pembatasan SKU dalam definisi yang ditetapkan kebijakan. Perintah akhir menetapkan definisi kumpulan kebijakan dalam $PolicySet ke langganan dengan dua pesan ketidakpatuhan yang akan ditampilkan jika sumber daya ditolak oleh kebijakan.
Contoh 9: Penetapan kebijakan [Backcompat] di tingkat grup sumber daya dengan objek parameter kebijakan
$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
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup. Perintah menyimpan objek tersebut dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bawaan untuk lokasi yang diizinkan dengan menggunakan cmdlet Get-AzPolicyDefinition. Perintah menyimpan objek tersebut dalam variabel $Policy. Perintah ketiga dan keempat membuat objek yang berisi semua wilayah Azure dengan "timur" dalam nama. Perintah menyimpan objek tersebut dalam variabel $AllowedLocations. Perintah akhir menetapkan kebijakan dalam $Policy pada tingkat grup sumber daya menggunakan objek parameter kebijakan di $AllowedLocations. Properti ResourceId dari $ResourceGroup mengidentifikasi grup sumber daya.
Contoh 10: Penetapan kebijakan [Backcompat] di tingkat grup sumber daya dengan file parameter kebijakan
{
"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
Perintah pertama mendapatkan grup sumber daya bernama ResourceGroup11 dengan menggunakan cmdlet Get-AzResourceGroup dan menyimpannya dalam variabel $ResourceGroup. Perintah kedua mendapatkan definisi kebijakan bawaan untuk lokasi yang diizinkan dengan menggunakan cmdlet Get-AzPolicyDefinition dan menyimpannya dalam variabel $Policy. Perintah akhir menetapkan kebijakan dalam $Policy di grup sumber daya yang diidentifikasi oleh properti ResourceId $ResourceGroup menggunakan file parameter kebijakan AllowedLocations.json dari direktori kerja lokal.
Parameter
-BackwardCompatible
Menyebabkan cmdlet mengembalikan artefak menggunakan format warisan yang menempatkan properti khusus kebijakan dalam objek tas properti.
Jenis: | SwitchParameter |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Aliases: | cf |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Parameter DefaultProfile tidak berfungsi. Gunakan parameter SubscriptionId saat tersedia jika menjalankan cmdlet terhadap langganan yang berbeda.
Jenis: | PSObject |
Aliases: | AzureRMContext, AzureCredential |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Pesan ini akan menjadi bagian dari respons jika terjadi pelanggaran kebijakan.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
Nama tampilan penetapan kebijakan.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnforcementMode
Mode penegakan penetapan kebijakan. Nilai yang mungkin adalah Default dan DoNotEnforce.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
Identitas pengguna yang terkait dengan kebijakan. Referensi kunci kamus identitas pengguna akan menjadi id sumber daya ARM dalam formulir: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
Jenis identitas. Ini adalah satu-satunya bidang yang diperlukan saat menambahkan sistem atau identitas yang ditetapkan pengguna ke sumber daya.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
Lokasi penetapan kebijakan. Hanya diperlukan saat menggunakan identitas terkelola.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
Metadata penetapan kebijakan. Metadata adalah objek terbuka dan biasanya merupakan kumpulan pasangan nilai kunci.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Nama penetapan kebijakan.
Jenis: | String |
Aliases: | PolicyAssignmentName |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NonComplianceMessage
Pesan yang menjelaskan mengapa sumber daya tidak mematuhi kebijakan. Untuk membuat, lihat bagian CATATAN untuk properti NONCOMPLIANCEMESSAGE dan membuat tabel hash.
Jenis: | PSObject[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
Cakupan kebijakan yang dikecualikan.
Jenis: | String[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyDefinition
Terima definisi kebijakan atau objek definisi kumpulan kebijakan
Jenis: | PSObject |
Aliases: | PolicySetDefinition |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameter
Nilai parameter untuk aturan kebijakan yang ditetapkan. Kuncinya adalah nama parameter.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PolicyParameterObject
Nilai parameter untuk aturan kebijakan yang ditetapkan. Kuncinya adalah nama parameter.
Jenis: | Hashtable |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Cakupan penetapan kebijakan. Cakupan yang valid adalah: grup manajemen (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), langganan (format: '/subscriptions/{subscriptionId}'), grup sumber daya (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', atau sumber daya (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Aliases: | wi |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
PSObject[]
String[]
Output
Azure PowerShell
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk