New-AzPolicyAssignment
Membuat penetapan kebijakan.
Sintaks
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>]
Deskripsi
Cmdlet New-AzPolicyAssignment membuat penetapan kebijakan. Tentukan kebijakan dan cakupan.
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 {$_.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 4: Penetapan kebijakan di tingkat grup sumber daya dengan file parameter kebijakan
Buat file yang disebut AllowedLocations.json di direktori kerja lokal dengan konten berikut.
<#{
"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.
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.
Parameter
-ApiVersion
Menentukan versi API penyedia sumber daya yang akan digunakan. Jika Anda tidak menentukan versi, cmdlet ini menggunakan versi terbaru yang tersedia.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AssignIdentity
Buat dan tetapkan identitas terkelola yang ditetapkan sistem untuk penetapan kebijakan ini. Identitas akan digunakan saat menjalankan penyebaran untuk kebijakan 'deployIfNotExists' dan 'modifikasi'. Lokasi diperlukan saat menetapkan identitas.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-DefaultProfile
Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure
Jenis: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Description
Deskripsi untuk penetapan kebijakan
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-DisplayName
Menentukan nama tampilan untuk penetapan kebijakan.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-EnforcementMode
Mode penegakan untuk penetapan kebijakan. Saat ini, nilai yang valid adalah Default, DoNotEnforce.
Jenis: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Nilai yang diterima: | Default, DoNotEnforce |
Position: | Named |
Nilai default: | Default |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-IdentityId
Menentukan Id identitas terkelola yang ditetapkan pengguna untuk ditetapkan ke penetapan kebijakan ini. Nilai ini diperlukan jika nilai 'UserAssigned' diteruskan ke parameter -IdentityType.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-IdentityType
Menentukan jenis identitas terkelola yang akan ditetapkan ke penetapan kebijakan ini. Jika nilai 'SystemAssigned' disediakan, identitas terkelola yang ditetapkan sistem dihasilkan dan ditetapkan ke penetapan kebijakan ini. Jika nilai 'UserAssigned' disediakan, identitas yang ditetapkan pengguna diteruskan melalui Id-nya ke parameter -IdentityId ditetapkan ke penetapan kebijakan ini. Identitas akan digunakan saat menjalankan penyebaran untuk kebijakan 'deployIfNotExists' dan 'modifikasi'. Lokasi diperlukan saat menetapkan identitas. Izin harus diberikan ke identitas menggunakan New-AzRoleAssignment setelah identitas yang ditetapkan sistem dibuat. Parameter IdentityType akan diberikan prioritas jika parameter AssignIdentity dan IdentityType digunakan.
Jenis: | Nullable<T>[ManagedIdentityType] |
Nilai yang diterima: | SystemAssigned, UserAssigned, None |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Location
Lokasi identitas sumber daya penetapan kebijakan. Ini diperlukan ketika nilai -IdentityType disediakan.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Metadata
Metadata untuk penetapan kebijakan baru. Ini bisa menjadi jalur ke nama file yang berisi metadata, atau metadata sebagai string.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama untuk penetapan kebijakan.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-NonComplianceMessage
Pesan ketidakpatuhan yang menjelaskan mengapa sumber daya tidak mematuhi kebijakan.
Jenis: | PsNonComplianceMessage[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-NotScope
Tidak ada cakupan untuk penetapan kebijakan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PolicyDefinition
Menentukan kebijakan, sebagai objek PsPolicyDefinition yang berisi aturan kebijakan.
Jenis: | PsPolicyDefinition |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PolicyParameter
Jalur file parameter kebijakan atau string parameter kebijakan.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PolicyParameterObject
Objek parameter kebijakan.
Jenis: | Hashtable |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-PolicySetDefinition
Objek definisi kumpulan kebijakan.
Jenis: | PsPolicySetDefinition |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Pre
Menunjukkan bahwa cmdlet ini mempertimbangkan versi API pra-rilis ketika secara otomatis menentukan versi mana yang akan digunakan.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Scope
Menentukan cakupan untuk menetapkan kebijakan.
Misalnya, untuk menetapkan kebijakan ke grup sumber daya, tentukan yang berikut ini: /subscriptions/
nama grup sumber daya ID/resourcegroups/
langganan
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
Input
String[]
Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]