Compartilhar via


Set-AzPolicyAssignment

Modifica uma atribuição de política.

Sintaxe

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

Description

O cmdlet Set-AzPolicyAssignment modifica uma atribuição de política. Especifique uma atribuição por ID ou por nome e escopo.

Exemplos

Exemplo 1: Atualizar o nome de exibição

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

O primeiro comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup. O comando armazena esse objeto na variável $ResourceGroup. O segundo comando obtém a atribuição de política chamada PolicyAssignment usando o cmdlet Get-AzPolicyAssignment. O comando armazena esse objeto na variável $PolicyAssignment. O comando final atualiza o nome de exibição na atribuição de política no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.

Exemplo 2: Adicionar uma identidade gerenciada atribuída pelo sistema à atribuição de política

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

O primeiro comando obtém a atribuição de política chamada PolicyAssignment da assinatura atual usando o cmdlet Get-AzPolicyAssignment. O comando armazena esse objeto na variável $PolicyAssignment. O comando final atribui uma identidade gerenciada atribuída pelo sistema à atribuição de política.

Exemplo 3: Adicionar uma identidade gerenciada atribuída pelo usuário à atribuição de política

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

O primeiro comando obtém a atribuição de política chamada PolicyAssignment da assinatura atual usando o cmdlet Get-AzPolicyAssignment. O comando armazena esse objeto na variável $PolicyAssignment. O segundo comando obtém a identidade gerenciada atribuída pelo usuário chamada UserAssignedIdentity1 usando o cmdlet Get-AzUserAssignedIdentity e a armazena na variável $UserAssignedIdentity. O comando final atribui a identidade gerenciada atribuída pelo usuário identificada pela propriedade Id de $UserAssignedIdentity à atribuição de política.

Exemplo 4: Atualizar parâmetros de atribuição de política com o novo objeto de parâmetro de política

$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

O primeiro e o segundo comandos criam um objeto que contém todas as regiões do Azure cujos nomes começam com "france" ou "uk". O segundo comando armazena esse objeto na variável $AllowedLocations. O terceiro comando obtém a atribuição de política chamada 'PolicyAssignment' O comando armazena esse objeto na variável $PolicyAssignment. O comando final atualiza os valores de parâmetro na atribuição de política chamada PolicyAssignment.

Exemplo 5: Atualizar parâmetros de atribuição de política com o arquivo de parâmetro de política

Crie um arquivo chamado AllowedLocations.json no diretório de trabalho local com o conteúdo a seguir.

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

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

O comando atualiza a atribuição de política chamada 'PolicyAssignment' usando o arquivo de parâmetro de política AllowedLocations.json do diretório de trabalho local.

Exemplo 6: Atualizar um enforcementMode

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

O primeiro comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup. O comando armazena esse objeto na variável $ResourceGroup. O segundo comando obtém a atribuição de política chamada PolicyAssignment usando o cmdlet Get-AzPolicyAssignment. O comando armazena esse objeto na variável $PolicyAssignment. O comando final atualiza a propriedade enforcementMode na atribuição de política no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.

Exemplo 7: Atualizar mensagens de não conformidade

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

O primeiro comando obtém a atribuição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyAssignment e a armazena na variável $PolicyAssignment. O comando final atualiza as mensagens de não conformidade na atribuição de política com uma nova mensagem que será exibida se um recurso for negado pela política.

Parâmetros

-ApiVersion

Especifica a versão da API do provedor de recursos a ser usada. Se você não especificar uma versão, esse cmdlet usará a versão mais recente disponível.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AssignIdentity

Gere e atribua uma identidade gerenciada atribuída pelo sistema para essa atribuição de política. A identidade será usada ao executar implantações para políticas 'deployIfNotExists' e 'modify'. A localização é necessária ao atribuir uma identidade.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usadas para comunicação com o Azure

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Description

A descrição da atribuição de política

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-DisplayName

Especifica um novo nome de exibição para a atribuição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-EnforcementMode

O modo de imposição para atribuição de política. Atualmente, os valores válidos são Default, DoNotEnforce.

Tipo:Nullable<T>[PolicyAssignmentEnforcementMode]
Valores aceitos:Default, DoNotEnforce
Cargo:Named
Valor padrão:Default
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Id

Especifica a ID de recurso totalmente qualificada para a atribuição de política que esse cmdlet modifica.

Tipo:String
Aliases:ResourceId
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-IdentityId

Especifica a ID da identidade gerenciada atribuída pelo usuário a ser atribuída a essa atribuição de política. Esse valor será necessário se o valor 'UserAssigned' for passado para o parâmetro -IdentityType.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-IdentityType

Especifica o tipo de identidade gerenciada a ser atribuída a essa atribuição de política. Se o valor 'SystemAssigned' for fornecido, uma identidade gerenciada atribuída pelo sistema será gerada e atribuída a essa atribuição de política. Se o valor 'UserAssigned' for fornecido, a identidade atribuída pelo usuário passada por meio de sua ID para o parâmetro -IdentityId será atribuída a essa atribuição de política. A identidade será usada ao executar implantações para políticas 'deployIfNotExists' e 'modify'. A localização é necessária ao atribuir uma identidade. As permissões devem ser concedidas à identidade usando New-AzRoleAssignment depois que a identidade atribuída pelo sistema for criada. O parâmetro IdentityType terá precedência se o parâmetro AssignIdentity e o parâmetro IdentityType forem usados.

Tipo:Nullable<T>[ManagedIdentityType]
Valores aceitos:SystemAssigned, UserAssigned, None
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

O objeto de atribuição de política para atualizar que foi gerado de outro cmdlet.

Tipo:PsPolicyAssignment
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Location

O local da identidade do recurso da atribuição de política. Isso é necessário quando o valor -IdentityType é fornecido.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Metadata

Os metadados atualizados para a atribuição de política. Pode ser um caminho para um nome de arquivo que contém os metadados ou os metadados como uma cadeia de caracteres.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica o nome da atribuição de política que esse cmdlet modifica.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-NonComplianceMessage

As mensagens de não conformidade que descrevem por que um recurso não está em conformidade com a política.

Tipo:PsNonComplianceMessage[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-NotScope

A atribuição de política não escopos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PolicyParameter

O novo caminho ou cadeia de caracteres do arquivo de parâmetros de política para a atribuição de política.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PolicyParameterObject

O novo objeto de parâmetros de política para a atribuição de política.

Tipo:Hashtable
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Pre

Indica que esse cmdlet considera versões de API de pré-lançamento quando determina automaticamente qual versão usar.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Scope

Especifica o escopo no qual a política é aplicada.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

Entradas

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

Saídas

PsPolicyAssignment