Condividi tramite


New-AzureRmPolicyAssignment

Crea un'assegnazione di criteri.

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

Sintassi

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Descrizione

Il cmdlet New-AzureRmPolicyAssignment crea un'assegnazione di criteri. Specificare un criterio e un ambito.

Esempio

Esempio 1: Assegnazione di criteri a livello di gruppo di risorse

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzureRMResourceGroup e lo archivia nella variabile $ResourceGroup. Il secondo comando ottiene la definizione di criteri denominata VirtualMachinePolicy usando il cmdlet Get-AzureRmPolicyDefinition e la archivia nella variabile $Policy. Il comando finale assegna i criteri in $Policy al livello del gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Esempio 2: Assegnazione di criteri a livello di gruppo di risorse con oggetto parametro criteri

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzureRMResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene la definizione predefinita dei criteri per le posizioni consentite usando il cmdlet Get-AzureRmPolicyDefinition. Il comando archivia l'oggetto nella variabile $Policy. Il terzo e il quarto comando creano un oggetto contenente tutte le aree di Azure con "east" nel nome. I comandi archiviano l'oggetto nella variabile $AllowedLocations. Il comando finale assegna i criteri in $Policy al livello di un gruppo di risorse usando l'oggetto parametro criteri in $AllowedLocations. La proprietà ResourceId di $ResourceGroup identifica il gruppo di risorse.

Esempio 3: Assegnazione di criteri a livello di gruppo di risorse con il file dei parametri dei criteri

Creare un file denominato AllowedLocations.json nella directory di lavoro locale con il contenuto seguente.

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzureRMResourceGroup e lo archivia nella variabile $ResourceGroup. Il secondo comando ottiene la definizione predefinita dei criteri per le posizioni consentite usando il cmdlet Get-AzureRmPolicyDefinition e la archivia nella variabile $Policy. Il comando finale assegna i criteri in $Policy nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup usando il file dei parametri dei criteri AllowedLocations.json dalla directory di lavoro locale.

Esempio 4: Assegnazione di criteri con un'identità gestita

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzureRMResourceGroup e lo archivia nella variabile $ResourceGroup. Il secondo comando ottiene la definizione di criteri denominata VirtualMachinePolicy usando il cmdlet Get-AzureRmPolicyDefinition e la archivia nella variabile $Policy. Il comando finale assegna i criteri in $Policy al gruppo di risorse. Un'identità gestita viene creata e assegnata automaticamente all'assegnazione dei criteri.

Parametri

-ApiVersion

Specifica la versione dell'API del provider di risorse da usare. Se non si specifica una versione, questo cmdlet usa la versione più recente disponibile.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-AssignIdentity

Generare e assegnare un'identità Microsoft Entra per questa assegnazione di criteri. L'identità verrà usata durante l'esecuzione delle distribuzioni per i criteri 'deployIfNotExists'. La posizione è obbligatoria quando si assegna un'identità.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure

Tipo:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Description

Descrizione per l'assegnazione dei criteri

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-DisplayName

Specifica un nome visualizzato per l'assegnazione dei criteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-InformationAction

Specifica la modalità di risposta di questo cmdlet a un evento informativo. I valori validi per questo parametro sono:

  • Continua
  • Ignora
  • Inquire
  • SilentlyContinue
  • Stop
  • Sospendi
Tipo:ActionPreference
Alias:infa
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InformationVariable

Specifica una variabile di informazioni.

Tipo:String
Alias:iv
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Location

Posizione dell'identità della risorsa dell'assegnazione dei criteri. Questa operazione è necessaria quando viene usata l'opzione -AssignIdentity.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Metadata

Metadati per la nuova assegnazione di criteri. Può trattarsi di un percorso di un nome file contenente i metadati o dei metadati come stringa.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Specifica un nome per l'assegnazione dei criteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-NotScope

L'oggetto non rientra nell'assegnazione dei criteri.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PolicyDefinition

Specifica un criterio, come oggetto PsPolicyDefinition che contiene la regola dei criteri.

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PolicyParameter

Il percorso del file del parametro dei criteri o la stringa del parametro dei criteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PolicyParameterObject

Oggetto parametro del criterio.

Tipo:Hashtable
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PolicySetDefinition

Oggetto definizione del set di criteri.

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Pre

Indica che questo cmdlet considera le versioni api non definitive quando determina automaticamente la versione da usare.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Scope

Specifica l'ambito in corrispondenza del quale assegnare il criterio. Ad esempio, per assegnare un criterio a un gruppo di risorse, specificare quanto segue: /subscriptions/nome del gruppo di risorse ID/resourcegroups/sottoscrizione

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Sku

Tabella hash che rappresenta le proprietà dello SKU. L'impostazione predefinita è lo SKU gratuito con i valori : @{Name = 'A0'; Tier = 'Free'}. Per usare lo SKU Standard, usare i valori : @{Name = 'A1'; Tier = 'Standard'}.

Tipo:Hashtable
Alias:SkuObject
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False