Compartilhar via


Update-AzPolicyAssignment

Essa operação atualiza uma atribuição de diretiva com o escopo e o nome fornecidos. As atribuições de política se aplicam a todos os recursos contidos em seu escopo. Por exemplo, quando você atribui uma política no escopo do grupo de recursos, essa diretiva se aplica a todos os recursos do grupo.

Syntax

Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Essa operação atualiza uma atribuição de diretiva com o escopo e o nome fornecidos. As atribuições de política se aplicam a todos os recursos contidos em seu escopo. Por exemplo, quando você atribui uma política no escopo do grupo de recursos, essa diretiva se aplica a todos os recursos do grupo.

Exemplos

Exemplo 1: Atualizar o nome para exibição

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-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 para exibição na atribuição de diretiva no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.

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

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-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 ao sistema à atribuição de política.

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

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Update-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 ao 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 ao 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 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'
Update-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

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

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

O comando atualiza a atribuição de diretiva 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
Update-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 diretiva no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.

Exemplo 7: Atualizar mensagens de não conformidade

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-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 diretiva com uma nova mensagem que será exibida se um recurso for negado pela política.

Exemplo 8: [Backcompat] 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 diretiva no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.

Parâmetros

-BackwardCompatible

Faz com que o cmdlet retorne artefatos usando o formato herdado colocando propriedades específicas da política em um objeto do pacote de propriedades.

Tipo:SwitchParameter
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

O parâmetro DefaultProfile não está funcional. Use o parâmetro SubscriptionId quando disponível se estiver executando o cmdlet em uma assinatura diferente.

Tipo:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Esta mensagem fará parte da resposta em caso de violação da política.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

O nome para exibição da atribuição de política.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

O modo de imposição de atribuição de política. Os valores possíveis são Default e DoNotEnforce.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

A ID da atribuição de política a ser atualizada. Use o formato '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.

Tipo:String
Aliases:ResourceId, PolicyAssignmentId
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

A identidade do usuário associada à política. As referências de chave do dicionário de identidade do usuário serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

O tipo de identidade. Este é o único campo obrigatório ao adicionar uma identidade atribuída ao sistema ou usuário a um recurso.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Tipo:IPolicyAssignment
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

O local da atribuição de política. Necessário apenas ao utilizar a identidade gerenciada.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Os metadados de atribuição de política. Os metadados são um objeto aberto e normalmente são uma coleção de pares de valores de chave.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

O nome da atribuição de política.

Tipo:String
Aliases:PolicyAssignmentName
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

As mensagens que descrevem por que um recurso não está em conformidade com a política. Para construir, consulte a seção NOTAS para propriedades NONCOMPLIANCEMESSAGE e crie uma tabela de hash.

Tipo:PSObject[]
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

Os escopos excluídos da política.

Tipo:String[]
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Os valores de parâmetro para a regra de política atribuída. As chaves são os nomes dos parâmetros.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Os valores de parâmetro para a regra de política atribuída. As chaves são os nomes dos parâmetros.

Tipo:PSObject
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:False
Accept wildcard characters:False

-Scope

O escopo da atribuição de política. Os escopos válidos são: grupo de gerenciamento (formato: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), assinatura (formato: '/subscriptions/{subscriptionId}'), grupo de recursos (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' ou recurso (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

Tipo:String
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

IPolicyAssignment

PSObject[]

String

String[]

Saídas

IPolicyAssignment

Observações

ALIASES

Set-AzPolicyAssignment