Основы структуры определения Политика Azure
Политика Azure определения описывают условия соответствия ресурсов и действуют, если условие выполнено. Условие сравнивает поле или значение свойства ресурса с требуемым значением. Доступ к полям свойств ресурсов осуществляется с помощью псевдонимов. Если поле свойства ресурса является массивом, для выбора значений из всех элементов массива и применения условия к каждому из них можно использовать специальный псевдоним массива. Дополнительные сведения об условиях.
С помощью назначений политик можно управлять затратами и управлять ресурсами. Например, можно указать, что разрешены только определенные типы виртуальных машин. Кроме того, можно требовать наличие определенного тега для ресурсов. Назначения в области применяются ко всем ресурсам в этой области и ниже. Назначение политики, применяемое к группе ресурсов, применяется также ко всем ресурсам в этой группе.
Вы используете JSON для создания определения политики, содержащего элементы для:
displayName
description
mode
version
metadata
parameters
policyRule
- логические оценки
effect
В следующем примере JSON показана политика, которая налагает ограничения на расположения для развертывания ресурсов.
{
"properties": {
"displayName": "Allowed locations",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
"mode": "Indexed",
"metadata": {
"version": "1.0.0",
"category": "Locations"
},
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources",
"strongType": "location",
"displayName": "Allowed locations"
},
"defaultValue": [
"westus2"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}
}
}
Дополнительные сведения см. в схеме определения политики. Встроенные компоненты и шаблоны Политики Azure приведены в примерах Политики Azure.
Отображаемое имя и описание
Вы используете displayName
и description
определяете определение политики и предоставляете контекст при использовании определения. Максимальная displayName
длина 128 символов и description
максимальная длина 512 символов.
Примечание.
Во время создания или обновления определения id
политики, type
и определяются свойствами, внешними для JSON, и name
не нужны в JSON-файле. Получение определения политики с помощью пакета SDK возвращает id
type
и name
свойства в составе JSON, но каждая из них относится к определению политики только для чтения.
Тип политики
policyType
Хотя свойство не может быть задано, есть три значения, возвращаемые пакетом SDK и видимые на портале:
Builtin
: Корпорация Майкрософт предоставляет и поддерживает эти определения политик.Custom
: это значение задается для всех определений политик, созданных клиентами.Static
: указывает определение политики соответствия нормативным требованиям, которой владеет Майкрософт. Результаты соответствия для этих определений политик являются результатами аудита инфраструктуры Майкрософт, отличных от Майкрософт. На портале Azure это значение иногда отображается как управляемое корпорацией Майкрософт. Дополнительные сведения см. в статье Общая ответственность в облаке.
Режим
Он mode
настраивается в зависимости от того, нацелена ли политика на свойство Azure Resource Manager или свойство поставщика ресурсов.
Режимы Resource Manager
Определяет mode
, какие типы ресурсов вычисляются для определения политики. Ниже приведены поддерживаемые режимы.
all
: оцениваются группы ресурсов, подписки и все типы ресурсов.indexed
: оцениваются только типы ресурсов, которые поддерживают теги и расположение.
Например, ресурс Microsoft.Network/routeTables
поддерживает теги и расположение и оценивается в обоих режимах. Однако ресурс Microsoft.Network/routeTables/routes
нельзя помечать тегами и он не оценивается в режиме indexed
.
В большинстве случаев рекомендуется задать значение mode
all
. Во всех определениях политик, создаваемых на портале, используется режим all
. Если вы используете PowerShell или Azure CLI, можно указать mode
параметр вручную. Если определение политики не содержит mode
значения, оно по умолчанию all
используется в Azure PowerShell и null
в Azure CLI. Режим null
аналогичен использованию indexed
для поддержки обратной совместимости.
indexed
следует использовать при создании политик, которые будут принудительно применять теги или расположения. Это не обязательно, но помешает отображению ресурсов, которые не поддерживают теги и расположения, в качестве несоответствующих в результатах проверки соответствия. Исключением являются группы ресурсов и подписки. Определения политик, которые применяют расположение или теги в группе ресурсов или подписке, должны быть заданы mode
all
и предназначены для конкретного Microsoft.Resources/subscriptions/resourceGroups
типа или Microsoft.Resources/subscriptions
типа. Пример см. в разделе "Шаблон: теги " Пример #1". Список ресурсов, поддерживающих теги, см. в разделе Поддержка тегов для ресурсов Azure.
Режимы поставщика ресурсов
Ниже перечислены полностью поддерживаемые режимы поставщика ресурсов:
Microsoft.Kubernetes.Data
для управления кластерами и компонентами Kubernetes, такими как pod, контейнеры и входящий трафик. Поддерживается для кластеров Служба Azure Kubernetes и кластеров Kubernetes с поддержкой Azure Arc. Определения, использующие этот режим поставщика ресурсов, используют эффекты аудита, запрета и отключения.Microsoft.KeyVault.Data
для управления хранилищами и сертификатами в Azure Key Vault. Дополнительные сведения об этих определениях политик см. в статье Интеграция Azure Key Vault с Политикой Azure.Microsoft.Network.Data
для управления настраиваемыми политиками членства в Диспетчере виртуальных сетей Azure с помощью Политики Azure;
Сейчас в предварительной версии поддерживаются следующие режимы поставщика ресурсов:
Microsoft.ManagedHSM.Data
для управления ключами модуля безопасности управляемого оборудования (HSM) с помощью Политика Azure.Microsoft.DataFactory.Data
для использования Политика Azure запретить Фабрика данных Azure доменные имена исходящего трафика, не указанные в списке разрешений. Этот режим поставщика ресурсов применяется только и не сообщает о соответствии требованиям в общедоступной предварительной версии.Microsoft.MachineLearningServices.v2.Data
для управления развертываниями моделей Машинное обучение Azure. Этот режим поставщика ресурсов сообщает о соответствии только что созданным и обновленным компонентам. В общедоступной предварительной версии записи соответствия остаются в течение 24 часов. Развертывания моделей, которые существуют до назначения этих определений политик, не сообщают о соответствии.Microsoft.LoadTestService.Data
для ограничения экземпляров нагрузочного тестирования Azure на частные конечные точки.
Примечание.
Если не указано явно, режимы поставщика ресурсов поддерживают только встроенные определения политик, а исключения не поддерживаются на уровне компонента.
При выпуске Политика Azure управления версиями следующие режимы поставщика ресурсов не поддерживают встроенное управление версиями:
Microsoft.DataFactory.Data
Microsoft.MachineLearningServices.v2.Data
Microsoft.ManagedHSM.Data
Версия (предварительная версия)
Встроенные определения политик могут размещать несколько версий с definitionID
одинаковыми. Если номер версии не указан, все интерфейсы будут отображать последнюю версию определения. Чтобы просмотреть определенную версию встроенной, ее необходимо указать в API, пакете SDK или пользовательском интерфейсе. Чтобы ссылаться на определенную версию определения в назначении, см . версию определения в рамках назначения.
Служба Политика Azure использует version
и preview
deprecated
свойства для передачи состояния и уровня изменений встроенному определению политики или инициативе. Формат version
— {Major}.{Minor}.{Patch}
. Если определение политики находится в состоянии предварительной версии, суффикс предварительного просмотра добавляется к version
свойству и рассматривается как логическое значение. Если определение политики устарело, то нерекомендуемое нерекомендуемое выражение фиксируется как логическое значение в метаданных определения с помощью "deprecated": "true"
.
- Основная версия (пример: 2.0.0): внесите критические изменения, такие как основные изменения логики правил, удаление параметров, добавление эффекта принудительного применения по умолчанию.
- Дополнительная версия (пример: 2.1.0): вводятся такие изменения, как незначительные изменения логики правила, добавление новых допустимых параметров, изменение
roleDefinitionIds
, добавление или перемещение определений в рамках инициативы. - Версия исправления (например, 2.1.4): ввод изменений строк или метаданных и сценариев безопасности с разбиениями стекла (редко).
Дополнительные сведения о встроенных версиях Политика Azure см. в разделе "Встроенное управление версиями". Дополнительные сведения о том, что означает, что политика является устаревшей или доступна в виде предварительной версии, см. в разделе Предварительные версии политик и устаревшие политики.
Метаданные
В необязательном свойстве metadata
хранится информация об определении политики. Клиенты могут определять любые свойства и значения, полезные для организации, в свойстве metadata
. Однако существуют некоторые распространенные свойства, используемые Политика Azure и встроенными. Каждое metadata
свойство имеет ограничение в 1024 символов.
Общие свойства метаданных
version
(строка): отслеживает сведения о версии содержимого определения политики.category
(строка): определяет, в какой категории на портале Azure отображается определение политики.preview
(логическое): флаг true или false, указывающий, было ли определение политики создано в предварительной версии.deprecated
(логическое значение): значение true или false флаг, если определение политики помечено как нерекомендуемое.portalReview
(строка): определяет, следует ли проверять параметры на портале независимо от требуемых входных данных.
Расположение определения
При создании инициативы или политики необходимо указывать расположение определения. Расположение определения должно быть задано как группа управления или подписка. Расположение указывает область, которой можно назначить инициативу или политику. Ресурсы должны быть непосредственными членами или дочерними элементами в иерархии расположения определения для назначения.
Если расположение определения является
- подпиской: определение политики можно назначить только ресурсам в этой подписке;
- группой управления: определение политики можно назначить только ресурсам из дочерних групп управления и дочерних подписок. Если вы планируете применять определение политики к нескольким подпискам, расположение должно быть группой управления, содержащей каждую подписку.
Дополнительные сведения см. в статье Общие сведения об области в Политике Azure.
Следующие шаги
- Дополнительные сведения о структуре определения политики см. в параметрах, правиле политики и псевдониме.
- Для инициатив перейдите к структуре определения инициативы.
- Изучите примеры на странице примеров Политики Azure.
- Изучите сведения о действии политик.
- Узнайте о программном создании политик.
- Узнайте, как получать данные о соответствии.
- Узнайте, как исправлять несоответствующие ресурсы.
- Дополнительные сведения о группе управления см. в статье Упорядочивание ресурсов с помощью групп управления Azure.