Exemplos comuns do Azure Policy
O Azure Policy pode ajudar você a aplicar a governança aos seus recursos de nuvem. Esse serviço pode ajudar você a criar proteções que garantam a conformidade de toda a empresa com os requisitos da política de governança. Para criar políticas, use os cmdlets do PowerShell ou o portal do Azure. Este artigo fornece exemplos de cmdlets do PowerShell.
Observação
Com o Azure Policy, as políticas de imposição (DeployIfNotExists
) não são implantadas automaticamente nas VMs existentes. A correção é necessária para manter as VMs em conformidade. Para saber mais, veja Correção de recursos não compatíveis com o Azure Policy.
Exemplos de políticas comuns
As seções a seguir descrevem algumas políticas comumente usadas.
Restringir regiões de recursos
A conformidade regulatória e com as políticas geralmente depende do controle do local físico em que os recursos são implantados. É possível usar uma política interna para permitir que os usuários criem recursos somente em determinadas regiões permitidas do Azure.
Para localizar essa política no portal, pesquise "local" na página de definição de política. Também é possível executar o seguinte cmdlet para encontrar a política:
Get-AzPolicyDefinition | Where-Object { ($_.Properties.policyType -eq 'BuiltIn') `
-and ($_.Properties.displayName -like '*location*') }
O script a seguir mostra como atribuir a política. Altere o valor $SubscriptionID
para apontar para a assinatura que receberá a atribuição de política. Antes de executar o script, use o cmdlet Connect-AzAccount
para fazer logon.
# Specify the value for $SubscriptionID.
$SubscriptionID = <subscription ID>
$scope = "/subscriptions/$SubscriptionID"
# Replace the -Name GUID with the policy GUID you want to assign.
$AllowedLocationPolicy = Get-AzPolicyDefinition -Name "e56962a6-4747-49cd-b67b-bf8b01975c4c"
# Replace the locations with the ones you want to specify.
$policyParam = '{ "listOfAllowedLocations":{"value":["eastus","westus"]}}'
New-AzPolicyAssignment -Name "Allowed Location" -DisplayName "Allowed locations for resource creation" -Scope $scope -PolicyDefinition $AllowedLocationPolicy -Location eastus -PolicyParameter $policyParam
Também é possível usar esse script para aplicar as outras políticas discutidas neste artigo. Basta substituir o GUID na linha que define $AllowedLocationPolicy
pelo GUID da política que você deseja aplicar.
Bloquear determinados tipos de recursos
Outra política interna comum usada para controlar os custos também pode ser usada para bloquear determinados tipos de recursos.
Para localizar essa política no portal, pesquise "tipos de recursos permitidos" na página de definição de política. Também é possível executar o seguinte cmdlet para encontrar a política:
Get-AzPolicyDefinition | Where-Object { ($_.Properties.policyType -eq "BuiltIn") -and ($_.Properties.displayName -like "*allowed resource types") }
Depois de identificar a política que você deseja usar, modifique o exemplo do PowerShell na seção Restringir regiões de recursos para atribuir a política.
Restringir o tamanho da VM
O Azure oferece uma ampla variedade de tamanhos de VM para dar suporte a várias cargas de trabalho. Para controlar seu orçamento, é possível criar uma política que permita apenas um subconjunto de tamanhos de VM em suas assinaturas.
Implantar um antimalware
É possível usar essa política para implantar a extensão do Microsoft Antimalware com uma configuração padrão em VMs que não são protegidas pelo antimalware.
O GUID da política é 2835b622-407b-4114-9198-6f7064cbe0dc
.
O script a seguir mostra como atribuir a política. Altere o valor $SubscriptionID
para apontar para a assinatura que receberá a atribuição de política a fim de usar o script. Antes de executar o script, use o cmdlet Connect-AzAccount
para fazer logon.
# Specify the value for $SubscriptionID.
$subscriptionID = <subscription ID>
$scope = "/subscriptions/$subscriptionID"
$antimalwarePolicy = Get-AzPolicyDefinition -Name "2835b622-407b-4114-9198-6f7064cbe0dc"
# Replace location "eastus" with the value that you want to use.
New-AzPolicyAssignment -Name "Deploy Antimalware" -DisplayName "Deploy default Microsoft IaaSAntimalware extension for Windows Server" -Scope $scope -PolicyDefinition $antimalwarePolicy -Location eastus -AssignIdentity
Próximas etapas
Saiba mais sobre outras ferramentas e serviços de gerenciamento de servidor disponíveis.