New-AzPolicyAssignment
İlke ataması oluşturur.
Sözdizimi
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
New-AzPolicyAssignment cmdlet'i bir ilke ataması oluşturur. Bir ilke ve kapsam belirtin.
Ö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 {$_.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 4: İlke parametre dosyasıyla kaynak grubu düzeyinde ilke ataması
Aşağıdaki içeriğe sahip yerel çalışma dizininde AllowedLocations.json adlı bir dosya oluşturun.
<#{
"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.
Ö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.
Parametreler
-ApiVersion
Kullanılacak kaynak sağlayıcısı API'sinin sürümünü belirtir. Bir sürüm belirtmezseniz, bu cmdlet kullanılabilir en son sürümü kullanır.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-AssignIdentity
Bu ilke ataması için sistem tarafından atanan bir yönetilen kimlik oluşturun ve atayın. Kimlik, 'deployIfNotExists' ve 'modify' ilkeleri için dağıtımları yürütürken kullanılır. Kimlik atanırken konum gereklidir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-DefaultProfile
Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik
Tür: | IAzureContextContainer |
Diğer adlar: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Description
İlke atamasının açıklaması
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-DisplayName
İlke ataması için bir görünen ad belirtir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-EnforcementMode
İlke ataması için zorlama modu. Şu anda geçerli değerler Default, DoNotEnforce'tır.
Tür: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Kabul edilen değerler: | Default, DoNotEnforce |
Position: | Named |
Default value: | Default |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-IdentityId
Bu ilke atamasına atanacak kullanıcı tarafından atanan yönetilen kimliğin kimliğini belirtir. 'UserAssigned' değeri -IdentityType parametresine geçirilirse bu değer gereklidir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-IdentityType
Bu ilke atamasına atanacak yönetilen kimliğin türünü belirtir. 'SystemAssigned' değeri sağlanırsa, sistem tarafından atanan yönetilen kimlik oluşturulur ve bu ilke atamasına atanır. 'UserAssigned' değeri sağlanırsa, kimliği aracılığıyla -IdentityId parametresine geçirilen kullanıcı tarafından atanan kimlik bu ilke atamasına atanır. Kimlik, 'deployIfNotExists' ve 'modify' ilkeleri için dağıtımları yürütürken kullanılır. Kimlik atanırken konum gereklidir. Sistem tarafından atanan kimlik oluşturulduktan sonra New-AzRoleAssignment kullanılarak kimliğe izin verilmelidir. Hem AssignIdentity hem de IdentityType parametresi kullanılırsa IdentityType parametresine öncelik verilir.
Tür: | Nullable<T>[ManagedIdentityType] |
Kabul edilen değerler: | SystemAssigned, UserAssigned, None |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Location
İlke atamasının kaynak kimliğinin konumu. -IdentityType değeri sağlandığında bu gereklidir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Metadata
Yeni ilke atamasının meta verileri. Bu, meta verileri içeren bir dosya adının yolu veya dize olarak meta veriler olabilir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Name
İlke ataması için bir ad belirtir.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-NonComplianceMessage
Bir kaynağın neden ilkeyle uyumlu olmadığını açıklayan uyumsuzluk iletileri.
Tür: | PsNonComplianceMessage[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-NotScope
İlke atamasının kapsamları değildir.
Tür: | String[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-PolicyDefinition
İlke kuralını içeren bir PsPolicyDefinition nesnesi olarak bir ilke belirtir.
Tür: | PsPolicyDefinition |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-PolicyParameter
İlke parametresi dosya yolu veya ilke parametre dizesi.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-PolicyParameterObject
İlke parametresi nesnesi.
Tür: | Hashtable |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-PolicySetDefinition
İlke kümesi tanım nesnesi.
Tür: | PsPolicySetDefinition |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Pre
Bu cmdlet'in hangi sürümün kullanılacağını otomatik olarak belirlediğinde yayın öncesi API sürümlerini göz önünde bulundurduğunu gösterir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Scope
İlkenin atandığı kapsamı belirtir.
Örneğin, bir kaynak grubuna ilke atamak için aşağıdakileri belirtin: /subscriptions/
abonelik kimliği/resourcegroups/
kaynak grubu adı
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
Girişler
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]]