Основы структуры определения Политика Azure

Политика Azure определения описывают условия соответствия ресурсов и действуют, если условие выполнено. Условие сравнивает поле или значение свойства ресурса с требуемым значением. Доступ к полям свойств ресурсов осуществляется с помощью псевдонимов. Если поле свойства ресурса является массивом, для выбора значений из всех элементов массива и применения условия к каждому из них можно использовать специальный псевдоним массива. Дополнительные сведения об условиях.

С помощью назначений политик можно управлять затратами и управлять ресурсами. Например, можно указать, что разрешены только определенные типы виртуальных машин. Кроме того, можно требовать наличие определенного тега для ресурсов. Назначения на область применяются ко всем ресурсам на этом область и ниже. Назначение политики, применяемое к группе ресурсов, применяется также ко всем ресурсам в этой группе.

Вы используете JSON для создания определения политики, содержащего элементы для:

  • displayName
  • description
  • mode
  • 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 возвращает idtypeи 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.

В большинстве случаев рекомендуется задать значение modeall . Во всех определениях политик, создаваемых на портале, используется режим all. Если вы используете PowerShell или Azure CLI, можно указать mode параметр вручную. Если определение политики не содержит mode значения, оно по умолчанию all используется в Azure PowerShell и null в Azure CLI. Режим null аналогичен использованию indexed для поддержки обратной совместимости.

indexed следует использовать при создании политик, которые будут принудительно применять теги или расположения. Это не обязательно, но помешает отображению ресурсов, которые не поддерживают теги и расположения, в качестве несоответствующих в результатах проверки соответствия. Исключением являются группы ресурсов и подписки. Определения политик, которые применяют расположение или теги в группе ресурсов или подписке, должны быть заданы modeall и предназначены для конкретного 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 часов. Развертывания моделей, которые существуют до назначения этих определений политик, не сообщают о соответствии.

Примечание.

Если не указано явно, режимы поставщика ресурсов поддерживают только встроенные определения политик, а исключения не поддерживаются на уровне компонента.

Метаданные

В необязательном свойстве metadata хранится информация об определении политики. Клиенты могут определять любые свойства и значения, полезные для организации, в свойстве metadata. Однако существуют некоторые распространенные свойства, используемые Политика Azure и встроенными. Каждое metadata свойство имеет ограничение в 1024 символов.

Общие свойства метаданных

  • version (строка): отслеживает сведения о версии содержимого определения политики.
  • category (строка): определяет, в какой категории на портале Azure отображается определение политики.
  • preview (логическое): флаг true или false, указывающий, было ли определение политики создано в предварительной версии.
  • deprecated (логическое значение): значение true или false флаг, если определение политики помечено как нерекомендуемое.
  • portalReview (строка): определяет, следует ли проверять параметры на портале независимо от требуемых входных данных.

Примечание.

Служба Политика Azure использует свойства version, preview и deprecated для передачи уровня изменений встроенному определению политики или инициативе и состоянию. Формат version{Major}.{Minor}.{Patch}. Конкретные состояния, такие как устаревший или предварительная версия, добавляются к свойству version или в другом свойстве как логическое значение. Дополнительные сведения об управлении версиями встроенных компонентов Политики Azure см. в разделе Управление версиями встроенных компонентов. Дополнительные сведения о том, что означает, что политика является устаревшей или доступна в виде предварительной версии, см. в разделе Предварительные версии политик и устаревшие политики.

Расположение определения

При создании инициативы или политики необходимо указывать расположение определения. Расположение определения должно быть задано как группа управления или подписка. Расположение указывает область, которой можно назначить инициативу или политику. Ресурсы должны быть непосредственными членами или дочерними элементами в иерархии расположения определения для назначения.

Если расположение определения является

  • подпиской: определение политики можно назначить только ресурсам в этой подписке;
  • группой управления: определение политики можно назначить только ресурсам из дочерних групп управления и дочерних подписок. Если вы планируете применять определение политики к нескольким подпискам, расположение должно быть группой управления, содержащей каждую подписку.

Дополнительные сведения см. в статье Общие сведения об области в Политике Azure.

Следующие шаги