Определение членства в динамической группе сети в Диспетчере виртуальная сеть Azure с помощью Политика Azure
В этой статье вы узнаете, как использовать условные операторы Политика Azure для создания сетевых групп с динамическим членством. Эти условные операторы создаются с помощью базового редактора, выбрав параметры и операторы из раскрывающегося меню. Кроме того, вы узнаете, как использовать расширенный редактор для обновления условных инструкций существующей сетевой группы.
Политика Azure — это служба, которая позволяет применять управление ресурсами в масштабе. Его можно использовать для указания условных выражений, определяющих членство в группах, в отличие от явных списков виртуальных сетей. Это условие продолжает динамически работать с группами сети, позволяя виртуальным сетям присоединяться к группе и покидать группу автоматически в качестве выполнения изменений условий, при этом операция Network Manager не требуется.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Чтобы изменить динамические сетевые группы, необходимо предоставить доступ с помощью управления доступом на основе ролей. Классическая авторизация администратора или устаревшая авторизация не поддерживается.
Параметры и операторы
Виртуальные сети с динамическим членством выбираются с помощью условных инструкций. Вы можете определить несколько условных операторов с помощью логических операторов , таких как AND и OR , в сценариях, где необходимо дополнительно сузить выбранные виртуальные сети.
Список поддерживаемых параметров:
Параметры | Поле расширенного редактора |
---|---|
Имя | Name |
ИД | Id |
Теги | tag['tagName'] |
Имя подписки | [subscription().Name] |
ИД подписки | [subscription().Id] |
Теги подписки | [subscription().tags['tagName']] |
Имя группы ресурсов | [resourceGroup().Name] |
Идентификатор группы ресурсов | [resourceGroup().Id] |
Теги группы ресурсов | [resourceGroup().tags['tagName']] |
Список поддерживаемых операторов:
Операторы | Расширенный редактор |
---|---|
Содержит | "contains": <> |
Не содержит | "notcontains": <> |
In | "in": <> |
Не в | "notin": <> |
Равно | "equals": <> |
Не равно | "notequals": <> |
Содержит любой из | "contains": <> |
Содержит все | "contains": <> |
Не содержит ни одного из | "notcontains": <> |
Exists | "exists": true |
Не существует | "exists": false |
Примечание.
Операторы "Существует " и "Не существует " используются только с параметром Tags .
Базовый редактор
Предположим, что в подписке есть следующие виртуальные сети. Каждая виртуальная сеть имеет связанный тег с именем среды с соответствующим значением рабочей или тестовой среды.
Виртуальная сеть | Имя тега | Значение тега |
---|---|---|
myVNet01-EastUS | environment | рабочая среда |
myVNet01-WestUS | environment | рабочая среда |
myVNet02-WestUS | environment | test |
myVNet03-WestUS | environment | test |
Вы хотите выбрать только виртуальные сети, тег которых имеет пару значений ключа среды, равной рабочей среде. Чтобы начать использовать базовый редактор для создания условной инструкции, необходимо создать новую сетевую группу.
Перейдите к экземпляру Диспетчера виртуальная сеть Azure и выберите группы сети в разделе "Параметры". Затем нажмите кнопку +Создать , чтобы создать новую сетевую группу.
Введите имя и необязательное описание для группы сети и нажмите кнопку "Добавить".
Выберите группу сети из списка и выберите команду "Создать Политика Azure".
Введите имя политики и оставьте выбранные области, если изменения не требуются.
В разделе "Критерии" выберите теги из раскрывающегося списка " Параметр " и выберите пару "Значение ключа" в раскрывающемся списке " Оператор".
Введите среду и рабочую среду в разделе "Условие" и выберите "Предварительный просмотр ресурсов". В списке должны отображаться myVNet01-EastUS и myVNet01-WestUS.
Нажмите кнопку "Закрыть " и "Сохранить".
Через несколько минут выберите группу сети и выберите "Участники группы" в разделе "Параметры". Вы должны видеть только myVNet01-WestUS и myVNet01-WestUS.
Внимание
Базовый редактор доступен только во время создания Политика Azure. После создания политики все изменения будут выполнены с помощью JSON в разделе "Политики" диспетчера виртуальных сетей или через Политика Azure.
Расширенный редактор
Расширенный редактор можно использовать для выбора виртуальных сетей во время создания сетевой группы или при обновлении существующей сетевой группы. В формате JSON расширенный редактор полезен для создания и обновления сложных Политика Azure условных инструкций опытными пользователями.
Создание новой политики с помощью расширенного редактора
Перейдите к экземпляру Диспетчера виртуальная сеть Azure и выберите группы сети в разделе "Параметры". Затем нажмите кнопку +Создать , чтобы создать новую сетевую группу.
Введите имя и необязательное описание для группы сети и нажмите кнопку "Добавить".
Выберите группу сети из списка и выберите команду "Создать Политика Azure".
Введите имя политики и оставьте выбранные области, если изменения не требуются.
В разделе "Условия" выберите расширенный редактор (JSON), чтобы открыть редактор.
Введите следующий код JSON в текстовое поле и нажмите кнопку "Сохранить".
{ "field": "Name", "contains": "myVNet01" }
Через несколько минут выберите группу сети и выберите "Участники группы" в разделе "Параметры". Вы должны видеть только myVNet01-WestUS и myVNet01-EastUS.
Внимание
Все политики Azure, создаваемые с помощью диспетчера виртуальных сетей, будут жить в области служб Политика Azure. Они не будут удалены из Политика Azure назначений и определений при удалении экземпляра диспетчера виртуальных сетей. Для этого требуется удаление политик вручную. Узнайте, как удалить политики Azure
Изменение существующей политики
Выберите группу сети, созданную в предыдущем разделе. Затем перейдите на вкладку "Политики ".
Выберите политику, созданную в предыдущем разделе.
Условные операторы для группы сети отображаются в представлении предварительного редактора следующим образом:
[ { "field": "Name", "contains": "myVNet01" } ]
Чтобы добавить еще одну условную инструкцию для поля Name, не содержащего WestUS, введите следующее в расширенный редактор:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }
Параметр
"allOf"
содержит как условные операторы, разделенные логическим оператором AND .Выберите Сохранить.
Через несколько минут выберите группу сети и выберите "Участники группы" в разделе "Параметры". Вы должны видеть только myVNet01-EastUS.
Полный список параметров и операторов, которые можно использовать с расширенным редактором, см. в разделе "Параметры и операторы ".
Дополнительные примеры
Ниже приведены дополнительные примеры условных инструкций в расширенном редакторе.
Пример 1. Только оператор OR
В этом примере используется логический оператор OR для разделения двух условных операторов.
Базовый редактор:
Расширенный оператор:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
Параметр "anyOf"
содержит оба условных оператора, разделенные логическим оператором OR .
Пример 2. Оператор AND и OR одновременно
Базовый редактор:
Расширенный редактор:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
Оба "allOf"
и "anyOf"
используются в коде. Так как оператор AND последний в списке, он находится во внешней части кода, содержащего две условные инструкции с оператором OR.
Пример 3. Использование настраиваемых значений тегов с расширенным редактором
В этом примере создается условная инструкция, которая находит виртуальные сети, в которых имя включает myVNet И тег среды равен рабочей среде.
Расширенный редактор:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }
Примечание.
Условные условия должны фильтроваться по типу ресурса Microsoft.Network/virtualNetwork, чтобы повысить эффективность. Это условие предопределено для вас на любых условных условиях, указанных на портале.