Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, você aprenderá a usar instruções condicionais da Política do Azure para criar grupos de rede com associação dinâmica. Cria estas declarações condicionais utilizando o editor básico, selecionando parâmetros e operadores num menu pendente. Além disso, você aprende a usar o editor avançado para atualizar instruções condicionais de um grupo de rede existente.
O Azure Policy é um serviço que permite que você imponha a governança por recurso em escala. Ele pode ser usado para especificar expressões condicionais que definem a associação ao grupo, em oposição a listas explícitas de redes virtuais. Essa condição continua a alimentar seus grupos de rede dinamicamente, permitindo que as redes virtuais entrem e saiam do grupo automaticamente à medida que o cumprimento da condição muda, sem necessidade de nenhuma operação do Network Manager.
Nota
O momento da pertença condicional a grupos de rede depende do âmbito da atribuição do Azure Policy. No caso de âmbitos com menos de 1.000 subscrições, as atualizações da associação podem demorar alguns minutos. Em ambientes com mais de 1.000 subscrições, o Azure Policy pode demorar até 24 horas a notificar o grupo de rede. Após a notificação, as configurações ativas aplicam-se aos membros atualizados dentro de alguns minutos. Para mais informações, consulte Latência e timing de implementação.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Para modificar grupos dinâmicos de rede, você deve receber acesso com controle de acesso baseado em função. A autorização do Administrador Clássico/legada não é suportada.
Parâmetros e operadores
As redes virtuais com associações dinâmicas são selecionadas usando instruções condicionais. Pode definir mais do que uma declaração condicional utilizando operadores lógicos, como E e OU, para cenários em que é necessário restringir ainda mais as redes virtuais selecionadas.
Lista de parâmetros suportados:
| Parâmetros | Campo do editor avançado |
|---|---|
| Nome | Name |
| ID | Id |
| Etiquetas | tag['tagName'] |
| Nome da subscrição | [subscription().Name] |
| ID da Subscrição | [subscription().Id] |
| Tags de assinatura | [subscription().tags['tagName']] |
| Nome do Grupo de Recursos | [resourceGroup().Name] |
| ID do Grupo de Recursos | [resourceGroup().Id] |
| Tags de grupo de recursos | [resourceGroup().tags['tagName']] |
Lista de operadores suportados:
| Operadores | Editor avançado |
|---|---|
| Contém | "contains": <> |
| Não contém | "notcontains": <> |
| In | "in": <> |
| Não está incluído em | "notin": <> |
| Igual | "equals": <> |
| Não é igual | "notequals": <> |
| Contém qualquer um dos | "contains": <> |
| Contém todos os | "contains": <> |
| Não contém nenhum dos | "notcontains": <> |
| Existe | "exists": true |
| Não existe | "exists": false |
Nota
Os operadores Exists e Does not exist são usados apenas com o parâmetro Tags .
Editor básico
Suponha que você tenha as seguintes redes virtuais em sua assinatura. Cada rede virtual tem uma tag associada chamada ambiente com o respetivo valor de produção ou teste.
| Rede Virtual | Nome da tag | Valor da Etiqueta |
|---|---|---|
| myVNet01-EastUS | ambiente | produção |
| myVNet01-WestUS | ambiente | produção |
| myVNet02-WestUS | ambiente | testar |
| myVNet03-WestUS | ambiente | testar |
Você só deseja selecionar redes virtuais cuja tag tem um par de valor chave de ambiente igual à produção. Para começar a usar o editor básico para criar sua instrução condicional, você precisa criar um novo grupo de rede.
Vá para sua instância do Azure Virtual Network Manager e selecione Grupos de Rede em Configurações. Em seguida, selecione + Criar para criar um novo grupo de rede.
Insira um Nome e uma Descrição opcional para o grupo de rede e selecione Adicionar.
Selecione o grupo de rede na lista e selecione Criar Política do Azure.
Introduza um nome da política e mantenha as seleções de Âmbito, a menos que seja necessário efetuar alterações.
Em Critérios, selecione Tags na lista suspensa em Parâmetro e, em seguida, selecione Par de valores de chave na lista suspensa em Operador.
Insira o ambiente e a produção em Condição e selecione Visualizar recursos. Você deve ver myVNet01-EastUS e myVNet01-WestUS aparecerem na lista.
Selecione Fechar e Salvar.
Após alguns minutos, selecione seu grupo de rede e selecione Membros do Grupo em Configurações. Deves ver apenas myVNet01-EastUS e myVNet01-WestUS.
Importante
O editor básico só está disponível durante a criação de uma Política do Azure. Depois que uma política for criada, todas as edições serão feitas usando JSON na seção Políticas do gerenciador de rede virtual ou por meio da Política do Azure.
Editor avançado
O editor avançado pode ser usado para selecionar redes virtuais durante a criação de um grupo de rede ou ao atualizar um grupo de rede existente. Com base em JSON, o editor avançado é útil para criar e atualizar instruções condicionais complexas da Política do Azure por usuários experientes.
Criar uma nova política com editor avançado
Vá para sua instância do Azure Virtual Network Manager e selecione Grupos de Rede em Configurações. Em seguida, selecione + Criar para criar um novo grupo de rede.
Insira um Nome e uma Descrição opcional para o grupo de rede e selecione Adicionar.
Selecione o grupo de rede na lista e selecione Criar Política do Azure.
Introduza um nome da política e mantenha as seleções de Âmbito, a menos que seja necessário efetuar alterações.
Em Critérios, selecione Editor avançado (JSON) para abrir o editor.
Insira o seguinte código JSON na caixa de texto e selecione Salvar:
{ "field": "Name", "contains": "myVNet01" }Após alguns minutos, selecione seu grupo de rede e selecione Membros do Grupo em Configurações. Você só deve ver myVNet01-WestUS e myVNet01-EastUS.
Importante
Todas as Políticas do Azure que você criar com o gerenciador de rede virtual viverão na área de serviços de Política do Azure. Eles não serão removidos de suas atribuições e definições do Azure Policy quando uma instância do gerenciador de rede virtual for excluída. Isso requer a remoção manual das políticas. Saiba como remover as Políticas do Azure
Editar uma política existente
Selecione o grupo de rede criado na seção anterior. Em seguida, selecione o separador Políticas.
Selecione a política criada na seção anterior.
Você vê as instruções condicionais para o grupo de rede na visualização avançada do editor da seguinte maneira:
[ { "field": "Name", "contains": "myVNet01" } ]Para adicionar outra instrução condicional para um campo Name que não contémWestUS, digite o seguinte no editor avançado:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }O
"allOf"parâmetro contém ambas as instruções condicionais que são separadas pelo operador lógico AND .Selecione Guardar.
Após alguns minutos, selecione seu grupo de rede e selecione Membros do Grupo em Configurações. Você só deve ver myVNet01-EastUS.
Consulte Parâmetro e operadores para obter a lista completa de parâmetros e operadores que você pode usar com o editor avançado.
Mais exemplos
Aqui estão mais exemplos de instruções condicionais no editor avançado.
Exemplo 1: Apenas operador OR
Este exemplo usa o operador lógico OR para separar duas instruções condicionais.
Editor básico:
Operador avançado:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
O "anyOf" parâmetro contém ambas as instruções condicionais que são separadas pelo operador lógico OR .
Exemplo 2: Operador AND e OR ao mesmo tempo
Editor básico:
Editor avançado:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
Ambos "allOf" e "anyOf" são usados no código. Como o operador AND é o último da lista, ele está na parte externa do código que contém as duas instruções condicionais com o operador OR .
Exemplo 3: Usando valores de tag personalizados com editor avançado
Neste exemplo, é criada uma instrução condicional que localiza redes virtuais em que o nome inclui myVNet E a etiqueta environment é igual a production.
Editor avançado:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }Nota
As condicionais devem filtrar o tipo de recurso Microsoft.Network/virtualNetwork para melhorar a eficiência. Esta condição é aplicada para si em quaisquer condicionais especificadas através do portal.
Próximos passos
- Saiba mais sobre os grupos da rede.
- Crie uma instância do Azure Virtual Network Manager .
- Criar e gerir políticas para impor a conformidade