Usar políticas para impor padrões

Concluído

Você está organizando seus recursos melhor em grupos de recursos e aplicou marcas aos recursos para usá-las em relatórios de cobrança e em sua solução de monitoramento. O agrupamento e a marcação de recursos fizeram diferença nos recursos existentes, mas como você garante que novos recursos sigam as regras? Vamos dar uma olhada em como as políticas podem ajudar você a impor padrões em seu ambiente do Azure.

O que é o Azure Policy?

Azure Policy é um serviço que você pode usar para criar, atribuir e gerenciar políticas. Essas políticas aplicam e impõem as regras que seus recursos precisam seguir. Essas políticas podem impor essas regras quando os recursos forem criados e podem ser avaliadas em relação aos recursos existentes para proporcionar visibilidade em conformidade.

As políticas podem impor regras como permitir que apenas tipos específicos de recursos sejam criados ou permitir apenas recursos em regiões do Azure específicas. Você pode impor as convenções de nomenclatura em seu ambiente do Azure. Você também pode impor que marcas específicas sejam aplicadas aos recursos. Vamos dar uma olhada em como as políticas funcionam.

Criar uma política

Você deseja garantir que todos os recursos tenham a marca Departamento associada a eles e bloquear a criação se a marca não existir. Você precisará criar uma definição de política e atribuí-la a um escopo. Nesse caso, o escopo é nosso grupo de recursos msftlearn-core-infrastructure-rg. Você pode criar e atribuir políticas por meio do portal do Azure, do Azure PowerShell ou da CLI do Azure. Este exercício o orienta na criação de uma política no portal.

Criar a definição de política

  1. Navegue até o portal do Azure em um navegador da Web caso ainda não tenha feito isso. Na caixa de pesquisa na barra de navegação superior, pesquise por Política e selecione o serviço Política.

  2. Selecione o painel Definições na seção Criação no menu esquerdo.

  3. Você deve ver uma lista de políticas internas que podem ser usadas. Nesse caso, você criará sua própria política personalizada. Selecione + Definição de política no menu superior.

  4. Esse botão abre a caixa de diálogo Nova definição de política. Para definir a Localização da definição, selecione o Seletor de escopo de inicialização (...) azul. Selecione a assinatura na qual a política será armazenada, que deve ser a mesma assinatura do nosso grupo de recursos. Escolha o botão Selecionar.

  5. De volta à caixa de diálogo Nova definição de política, insira Impor marca no recurso no campo Nome.

  6. Para a Descrição, insira Esta política impõe a existência de uma marca em um recurso.

  7. Para Categoria, selecione Usar existente e selecione a categoria Geral.

  8. Para a Regra de política, exclua todo o texto na caixa e cole o JSON a seguir:

    {
      "mode": "Indexed",
      "policyRule": {
        "if": {
          "field": "[concat('tags[', parameters('tagName'), ']')]",
          "exists": "false"
        },
        "then": {
          "effect": "deny"
        }
      },
      "parameters": {
        "tagName": {
          "type": "String",
          "metadata": {
            "displayName": "Tag Name",
            "description": "Name of the tag, such as 'environment'"
          }
        }
      }
    }
    

    A definição da sua política deve ter a aparência do exemplo a seguir. Selecione Salvar para salvar a definição de política.

    Screenshot of Azure portal showing the new policy definition dialog.

Criar uma atribuição de política

Criamos a política, mas ainda não chegamos a colocá-la em vigor. Para habilitar a política, você precisa criar uma atribuição. Nesse caso, você precisa atribuí-la ao escopo do seu grupo de recursos msftlearn-core-infrastructure-rg, para que ela se aplique a tudo o que estiver dentro do grupo de recursos.

  1. No painel da política, selecione Atribuições na seção Criação à esquerda.

  2. Selecione Atribuir política na parte superior.

  3. No painel Atribuir política, você atribuirá sua política ao grupo de recursos. Para Escopo, selecione o seletor de escopo de Inicialização azul (...). Selecione sua assinatura e o grupo de recursos msftlearn-core-infrastructure-rg e selecione o botão Selecionar.

  4. Para Definição de política, selecione o seletor de definição de política de inicialização azul (...). Na lista suspensa Tipo, selecione Personalizado, selecione a política Impor marca no recurso que você criou e selecione o botão Adicionar.

  5. Selecione a guia Parâmetros na parte superior da tela.

  6. No painel Parâmetros, insira Departamento para o nome da marca.

  7. Selecione Examinar + criar e Criar para criar a atribuição.

Testar a política

Agora que você atribuiu a política ao seu grupo de recursos, qualquer tentativa de criar um recurso sem a marca Departamento deverá falhar.

Importante

Observe que a atribuição de política pode levar até 30 minutos para entrar em vigor. Devido a esse atraso, nas etapas a seguir, a validação da política pode ter êxito, mas a implantação ainda falhará. Se isso acontecer, aguarde por um tempo e tente realizar a implantação novamente.

  1. No menu do portal do Azure ou na Página Inicial, selecione Criar um recurso.

  2. Pesquise por Conta de armazenamento e selecione Conta de armazenamento. Nos resultados, selecione Criar.

  3. Selecione sua assinatura e, em seguida, o grupo de recursos msftlearn-core-infrastructure-rg.

  4. Para Nome da conta de armazenamento, atribua qualquer nome de sua escolha, mas observe que ele deve ser um nome globalmente exclusivo.

  5. Deixe o restante das opções com seu padrão e selecione Examinar.

    A validação da criação do recurso falhará porque você não tem uma marca Departamento aplicada ao recurso. Se a política não tiver causado uma falha de validação, talvez seja necessário aguardar alguns minutos para que ela seja habilitada.

    Screenshot of Azure portal showing a policy validation failure on a new storage account without a tag.

    Corrija a violação para que você possa implantar a conta de armazenamento.

  6. Selecione Marcas na parte superior do painel Criar conta de armazenamento.

  7. Adicione uma marca Department:Finance à lista.

    Screenshot of Azure portal showing a new Department tag to add during creation.

  8. Agora clique em Examinar. Agora a validação deverá passar e, se você selecionar Criar, sua conta de armazenamento será criada.

Usar políticas para impor padrões

Você viu como é possível usar políticas para garantir que os recursos tenham as marcas que organizam os seus recursos. Há outras maneiras de usar políticas em nosso benefício.

Você poderia usar uma política para restringir em quais regiões do Azure você pode implantar recursos. Para organizações altamente regulamentadas ou que têm restrições legais ou regulamentares sobre o local em que os dados podem residir, as políticas ajudam a garantir que os recursos não sejam provisionados em áreas geográficas que vão contra esses requisitos.

Você poderia usar uma política para restringir quais tipos de tamanhos de máquina virtual podem ser implantados. Você pode querer permitir tamanhos de VM maiores em assinaturas de produção, mas talvez queira garantir que os custos sejam mantidos minimizados nas suas assinaturas de desenvolvimento. Ao negar os tamanhos de VM maiores por meio da política nas suas assinaturas de desenvolvimento, você pode garantir que eles não sejam implantados nesses ambientes.

Você também pode usar uma política para impor as convenções de nomenclatura. Se a sua organização tiver adotado um padrão em convenções de nomenclatura específicas, o uso da política para impor as convenções nos ajudará a manter um padrão de nomenclatura consistente entre os seus recursos do Azure.