O cmdlet New-AzPolicyAssignment cria ou atualiza uma atribuição de política com o escopo e o nome fornecidos.
As atribuições de política aplicam-se a todos os recursos contidos em seu escopo.
Por exemplo, quando você atribui uma política no escopo do grupo de recursos, essa política se aplica a todos os recursos do grupo.
Exemplos
Exemplo 1: Atribuição de política ao nível da subscrição
O primeiro comando obtém uma assinatura chamada Subscription01 usando o cmdlet Get-AzSubscription e a armazena na variável $Subscription.
O segundo comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy no nível da assinatura identificado pela cadeia de caracteres do escopo da assinatura.
Exemplo 2: Atribuição de política ao nível do grupo de recursos
O primeiro comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup e o armazena na variável $ResourceGroup.
O segundo comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy no nível do grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup.
Exemplo 3: Atribuição de política no nível do grupo de recursos com objeto de parâmetro de política
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 definição de política interna para locais permitidos usando o cmdlet Get-AzPolicyDefinition.
O comando armazena esse objeto na variável $Policy.
O terceiro e quarto comandos criam um objeto contendo todas as regiões do Azure com "east" no nome.
Os comandos armazenam esse objeto na variável $AllowedLocations.
O comando final atribui a política em $Policy no nível de um grupo de recursos usando o objeto de parâmetro de política em $AllowedLocations.
A propriedade ResourceId de $ResourceGroup identifica o grupo de recursos.
Exemplo 4: Atribuição de política no nível do grupo de recursos com arquivo de parâmetro de política
O primeiro comando cria um arquivo de parâmetro chamado AllowedLocations.json no diretório de trabalho local.
O segundo comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup e o armazena na variável $ResourceGroup.
O terceiro comando obtém a definição de política interna para locais permitidos usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup usando o arquivo de parâmetro de política AllowedLocations.json do diretório de trabalho local.
Exemplo 5: Atribuição de política com uma identidade gerenciada atribuída ao sistema
O primeiro comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup e o armazena na variável $ResourceGroup.
O segundo comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy ao grupo de recursos.
Uma identidade gerenciada atribuída ao sistema é criada automaticamente e atribuída à atribuição de política.
Exemplo 6: Atribuição de política com uma identidade gerenciada atribuída ao usuário
O primeiro comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup e o armazena na variável $ResourceGroup.
O segundo comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O terceiro 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 política em $Policy ao grupo de recursos.
O usuário atribuído identidade gerenciada identificado pela propriedade Id de $UserAssignedIdentity é atribuído à atribuição de política passando a propriedade Id* para o parâmetro IdentityId.
Exemplo 7: Atribuição de política com uma propriedade de modo de imposição
O primeiro comando obtém uma assinatura chamada Subscription01 usando o cmdlet Get-AzSubscription e a armazena na variável $Subscription.
O segundo comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy no nível da assinatura identificado pela cadeia de caracteres do escopo da assinatura.
A atribuição é definida com um valor EnforcementMode de DoNotEnforce , ou seja, o efeito da política não é imposto durante a criação ou atualização de recursos.
Exemplo 8: Atribuição de política com mensagens de não conformidade
$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
O primeiro comando obtém a definição do conjunto de políticas chamada VirtualMachinePolicySet usando o cmdlet Get-AzPolicySetDefinition e a armazena na variável $PolicySet.
O segundo comando cria uma matriz de mensagens de não conformidade.
Uma mensagem de finalidade geral para toda a atribuição e uma mensagem específica para uma política de restrição de SKU dentro da definição do conjunto de políticas atribuído.
O comando final atribui a definição do conjunto de políticas em $PolicySet à assinatura com duas mensagens de não conformidade que serão mostradas se um recurso for negado pela política.
Exemplo 9: Atribuição de política com seletor de recursos
O primeiro comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O segundo comando cria um objeto seletor de recursos que será usado para especificar que a atribuição só deve ser aplicada a recursos localizados no Leste dos EUA ou Leste dos EUA 2 e armazena-o na variável $ResourceSelector.
O comando final atribui a definição de política em $Policy à assinatura com o seletor de recursos especificado por $ResourceSelector.
Exemplo 10: Atribuição de política com substituição
O primeiro comando obtém a definição de política chamada VirtualMachinePolicy usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O segundo comando cria um seletor de local especificando locais do Leste dos EUA ou Leste dos EUA 2 e o armazena na variável $Seletor.
O terceiro comando cria um objeto de substituição que será usado para especificar que a definição atribuída deve ter um efeito Disabled nos locais identificados pelo objeto $Seletor e o armazena na variável $Override.
O comando final atribui a definição de política em $Policy à assinatura com a substituição especificada por $Override.
Exemplo 11: [Backcompat] Atribuição de política no nível do grupo de recursos com objeto de parâmetro de política
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 definição de política interna para locais permitidos usando o cmdlet Get-AzPolicyDefinition.
O comando armazena esse objeto na variável $Policy.
O terceiro e quarto comandos criam um objeto contendo todas as regiões do Azure com "east" no nome.
Os comandos armazenam esse objeto na variável $AllowedLocations.
O comando final atribui a política em $Policy no nível de um grupo de recursos usando o objeto de parâmetro de política em $AllowedLocations.
A propriedade ResourceId de $ResourceGroup identifica o grupo de recursos.
Exemplo 12: [Backcompat] Atribuição de política no nível do grupo de recursos com arquivo de parâmetro de política
O primeiro comando cria um arquivo de parâmetro chamado AllowedLocations.json no diretório de trabalho local.
O segundo comando obtém um grupo de recursos chamado ResourceGroup11 usando o cmdlet Get-AzResourceGroup e o armazena na variável $ResourceGroup.
O terceiro comando obtém a definição de política interna para locais permitidos usando o cmdlet Get-AzPolicyDefinition e a armazena na variável $Policy.
O comando final atribui a política em $Policy no grupo de recursos identificado pela propriedade ResourceId de $ResourceGroup usando o arquivo de parâmetro de política AllowedLocations.json do diretório de trabalho local.
Parâmetros
-BackwardCompatible
Faz com que o cmdlet retorne artefatos usando o formato herdado colocando propriedades específicas da política em um objeto de pacote de propriedades.
O parâmetro DefaultProfile não é funcional.
Use o parâmetro SubscriptionId quando disponível se estiver executando o cmdlet em uma assinatura diferente.
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}'.
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.
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: '/subscriptionId}/resourceGroups/{resourceGroupName}', ou recurso (formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.