Set-AzPolicyAssignment

Modifica un'assegnazione di criteri.

Sintassi

Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameterObject <Hashtable>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameter <String>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameterObject <Hashtable>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameter <String>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   -InputObject <PsPolicyAssignment>
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-AzPolicyAssignment modifica un'assegnazione di criteri. Specificare un'assegnazione in base all'ID o al nome e all'ambito.

Esempio

Esempio 1: Aggiornare il nome visualizzato

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene l'assegnazione di criteri denominata PolicyAssignment usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna il nome visualizzato nell'assegnazione dei criteri nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Esempio 2: Aggiungere un'identità gestita assegnata dal sistema all'assegnazione dei criteri

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

Il primo comando ottiene l'assegnazione di criteri denominata PolicyAssignment dalla sottoscrizione corrente usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale assegna un'identità gestita assegnata dal sistema all'assegnazione dei criteri.

Esempio 3: Aggiungere un'identità gestita assegnata dall'utente all'assegnazione dei criteri

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id

Il primo comando ottiene l'assegnazione di criteri denominata PolicyAssignment dalla sottoscrizione corrente usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il secondo comando ottiene l'identità gestita assegnata dall'utente denominata UserAssignedIdentity1 usando il cmdlet Get-AzUserAssignedIdentity e lo archivia nella variabile $UserAssignedIdentity. Il comando finale assegna all'assegnazione dei criteri l'identità gestita assegnata dall'utente identificata dalla proprietà Id di $UserAssignedIdentity.

Esempio 4: Aggiornare i parametri di assegnazione dei criteri con il nuovo oggetto parametro dei criteri

$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations

Il primo e il secondo comando creano un oggetto contenente tutte le aree di Azure i cui nomi iniziano con "france" o "uk". Il secondo comando archivia l'oggetto nella variabile $AllowedLocations. Il terzo comando ottiene l'assegnazione di criteri denominata "PolicyAssignment" Il comando archivia tale oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna i valori dei parametri nell'assegnazione di criteri denominata PolicyAssignment.

Esempio 5: Aggiornare i parametri di assegnazione dei criteri con il file dei parametri dei criteri

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

{
    "listOfAllowedLocations":  {
      "value": [
        "uksouth",
        "ukwest",
        "francecentral",
        "francesouth"
      ]
    }
}

Set-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json

Il comando aggiorna l'assegnazione dei criteri denominata "PolicyAssignment" usando il file dei parametri dei criteri AllowedLocations.json dalla directory di lavoro locale.

Esempio 6: Aggiornare un enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

Il primo comando ottiene un gruppo di risorse denominato ResourceGroup11 usando il cmdlet Get-AzResourceGroup. Il comando archivia l'oggetto nella variabile $ResourceGroup. Il secondo comando ottiene l'assegnazione di criteri denominata PolicyAssignment usando il cmdlet Get-AzPolicyAssignment. Il comando archivia l'oggetto nella variabile $PolicyAssignment. Il comando finale aggiorna la proprietà enforcementMode nell'assegnazione di criteri nel gruppo di risorse identificato dalla proprietà ResourceId di $ResourceGroup.

Esempio 7: Aggiornare i messaggi di non conformità

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

Il primo comando ottiene l'assegnazione di criteri denominata VirtualMachinePolicy usando il cmdlet Get-AzPolicyAssignment e la archivia nella variabile $PolicyAssignment. Il comando finale aggiorna i messaggi di non conformità nell'assegnazione dei criteri con un nuovo messaggio che verrà visualizzato se una risorsa viene negata dai 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Descrizione per l'assegnazione dei criteri

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Specifica un nuovo nome visualizzato per l'assegnazione dei criteri.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

Modalità di imposizione per l'assegnazione dei criteri. Attualmente, i valori validi sono Default, DoNotEnforce.

Type:Nullable<T>[PolicyAssignmentEnforcementMode]
Accepted values:Default, DoNotEnforce
Position:Named
Default value:Default
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

Specifica l'ID risorsa completo per l'assegnazione di criteri modificata da questo cmdlet.

Type:String
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

Specifica l'ID dell'identità gestita assegnata dall'utente da assegnare a questa assegnazione di criteri. Questo valore è obbligatorio se il valore 'UserAssigned' viene passato al parametro -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

Specifica il tipo di identità gestita da assegnare a questa assegnazione di criteri. Se viene specificato il valore "SystemAssigned", viene generata un'identità gestita assegnata dal sistema e assegnata a questa assegnazione di criteri. Se viene specificato il valore 'UserAssigned', l'identità assegnata dall'utente passata tramite il relativo ID al parametro -IdentityId viene assegnata a questa assegnazione di criteri. L'identità verrà usata durante l'esecuzione delle distribuzioni per i criteri 'deployIfNotExists' e 'modify'. La posizione è obbligatoria quando si assegna un'identità. Le autorizzazioni devono essere concesse all'identità usando New-AzRoleAssignment dopo la creazione dell'identità assegnata dal sistema. Il parametro IdentityType avrà la precedenza se vengono usati sia Il parametro AssignIdentity che il parametro IdentityType.

Type:Nullable<T>[ManagedIdentityType]
Accepted values:SystemAssigned, UserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Oggetto assegnazione criteri per aggiornare l'output di un altro cmdlet.

Type:PsPolicyAssignment
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

Posizione dell'identità della risorsa dell'assegnazione dei criteri. Questa operazione è necessaria quando viene specificato il valore -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifica il nome dell'assegnazione di criteri modificata da questo cmdlet.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

Messaggi di non conformità che descrivono il motivo per cui una risorsa non è conforme ai criteri.

Type:PsNonComplianceMessage[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

L'assegnazione di criteri non ha ambiti.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Il nuovo percorso o stringa del file dei parametri dei criteri per l'assegnazione dei criteri.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Nuovo oggetto parametri dei criteri per l'assegnazione dei criteri.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Pre

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Specifica l'ambito in corrispondenza del quale viene applicato il criterio.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Input

String

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]]

PsPolicyAssignment

PsNonComplianceMessage[]

Output

PsPolicyAssignment