A common theme in cloud environments today is the ability to define templates, policies, and procedures. These templates then dictate what can be done and verify that what does exist is correct. A service from Microsoft called Azure Policy is a great way to make that happen.
В этой статье вы узнаете, как работает Azure Policy, а затем увидите, как создавать различные политики и действия по устранению недочетов.
Создание политики Azure
Существует множество способов создания политик, таких как через портал Azure, PowerShell, Azure CLI и шаблоны ARM.
Azure Portal
Если вы предпочитаете использовать графический интерфейс или изучаете свои варианты, начинайте здесь, чтобы получить хорошее введение в политики. Интерфейс прост и позволяет видеть ваши варианты сразу.
- В пределах Портала Azure, искать Политика.
- Щелкните Назначения в разделе Авторство.
- Щелкните Назначить политику.
- Щелкните многоточие под Область , чтобы выбрать подписку для применения и, при необходимости, группу ресурсов.
- Щелкните многоточие под Определение политики, чтобы выбрать политику для определения.
- Используйте либо имя, сгенерированное по умолчанию под Название задания, либо введите уникальное имя для вашей политики.
- Заполните все параметры по необходимости, основываясь на выбранной политике.
- Наконец, создайте управляемую идентичность и укажите ее местоположение, если необходимо.

PowerShell
К счастью, PowerShell делает назначение определения политики Azure быстрым и простым. Есть два предварительных требования: установка последней версии Azure PowerShell и регистрация поставщика ресурсов Azure Policy Insights.
Azure CLI
Если PowerShell недоступен или не предпочтителен, использование Azure CLI также позволяет вам выполнить множество тех же задач. Это также может быть полезным в сценариях кросс-платформенной работы, если вы не можете использовать PowerShell на всех операционных системах.
Шаблоны политик Azure
Шаблоны Azure Resource Manager – еще один способ создания и назначения политик для ресурсов. Вот стартовый шаблон, который вы можете использовать, чтобы выбрать политику для назначения группе ресурсов в качестве примера.
Как работает назначение политики Azure
После выбора или создания определений политик, которые вы хотите применить, назначьте эти определения для воздействия на конкретную область. Область просто определяет, к чему будет применено назначение политики, такое как управление или группа ресурсов. Следует отметить, что назначение политики наследуется всеми дочерними ресурсами, но у вас есть возможность исключить под-область, если это необходимо.
Примеры политик Azure
Существует множество определений политик, и может быть сложно решить, что лучше применить. Так что же из вариантов, когда вы можете их использовать и почему?
- Требуемый тег и его значение – Это можно использовать для различных целей, но одна из возможностей – например, для кодов затрат или для идентификации различных ресурсов, распределенных по нескольким группам ресурсов.
- Разрешенные типы ресурсов – Что если вы хотите разрешить только определенные ресурсы? Это может обеспечить это, например, только возможность создавать ресурс хранения.
- Проверка Windows VM с ожидающим перезагрузкой – Возможно, вам хочется узнать, какие Windows VM требуют перезагрузки, чтобы убедиться, что они не останутся позади? Используйте эту политику, чтобы найти и, возможно, устранить их по расписанию.
- Проверка диагностических настроек – Если диагностические настройки не включены, то эта политика найдет те, которые не соответствуют требованиям.
- Порты управления должны быть закрыты на ваших виртуальных машинах – Проверьте, что порты управления на ваших VM закрыты, отличная политика для тех, кто заботится о безопасности.
- Устаревшие учетные записи должны быть удалены из вашей подписки – Для всех учетных записей, которые были заблокированы для входа в каталог, найдите те, которые, возможно, требуется устранить по необходимости. Хотя здесь много всего, и каждый день создается еще больше, у вас также есть очень мощная возможность создавать собственные определения политик. Используя простую схему определения запросов, вы можете создавать мощные конструкции типа “если-то”, чтобы определить, к чему вы хотите применить политики.
Как сделать политики Azure более многоразовыми
Параметры
Один из наиболее полезных инструментов – определение параметров для использования в ваших политиках. Если бы вам пришлось определить уникальную политику для каждого варианта в политике, вы могли бы получить сотни. Отличным решением этой проблемы является параметризация политики. С ее помощью вы можете настроить политику во время назначения и сделать так, чтобы одно определение политики применялось к множеству различных случаев использования.
Инициативы
Следующим логическим шагом является сбор нескольких определений вместе в набор. Это позволяет присвоить все эти различные определения области без необходимости индивидуального присвоения каждого из них снова и снова.
Параметры Инициатив
Наконец, вы можете добавить параметры к инициативам, которые могут наследоваться до отдельных политик. Это означает, что вам не нужно индивидуально назначать параметры для каждой политики, содержащейся в инициативе. Это может сэкономить много времени, поскольку вы можете определить лишь несколько инициатив, которые применяют множество различных политик несколькими различными способами в зависимости от выбранных параметров.
Задачи по устранению недостатков
Что же делать, если у вас есть политика, которая оценивает, но находит ресурсы несоответствующими? В этом случае вы можете запустить задачу по устранению недостатков, чтобы исправить любые проблемы. Это может быть довольно мощным, но также довольно опасным, если настройка выполнена неправильно. Есть несколько способов определения этих задач, либо через портал Azure, PowerShell, либо через Azure CLI.
Портал Azure
Как и раньше, вы можете использовать портал Azure для изучения создания задачи по устранению недостатков. Если вы обнаружите, что перечисленных политик нет, убедитесь, что у вас есть и политики deployIfNotExists, и те, которые оценены как несоответствующие, иначе они не будут отображаться.
- В портале Azure найдите Политику
- Нажмите на Устранение недостатков слева
- Нажмите на политику типа deployIfNotExists и имеющую несоответствующие ресурсы
- Отфильтруйте ресурсы для последующего устранения на странице задания по новой задаче устранения, чтобы ограничить применение задачи
- Нажмите на Устранить, чтобы начать саму задачу
PowerShell
Создать задачу по устранению через PowerShell довольно просто. Главное, помните, что вы должны использовать политику deployIfNotExists.
Azure CLI
Вместо использования PowerShell вы также можете использовать Azure CLI для запуска задачи по устранению. То же самое справедливо и для этой задачи, как и для задачи PowerShell.
Сводка
Сила в использовании политик Azure заключается в том, что для любой подписки Azure вы можете определить любое количество гибких политик, чтобы помочь вам управлять вашей средой. Более того, с учетом времени, усилий и мыслей, вложенных в то, как вы структурируете ваши политики, инициативы и параметры, вы можете создать хорошо определенную и легко восстанавливаемую конфигурацию.
Учитывая, что политики Azure бесплатны для любой подписки Azure, имеет смысл потратить время на внедрение необходимого. Учитывая гибкость в создании и развертывании этих определений и политик, они могут применяться к практически чему угодно и помогать вам контролировать вашу среду!