Руководство по Защита новых ресурсов с помощью блокировок ресурсов Azure Blueprints

Блокировки ресурсов Azure Blueprints позволяют защитить новые развернутые ресурсы от незаконного изменения даже из учетной записи с ролью Владелец. Такую защиту можно добавить в определения схем ресурсов, созданных с помощью артефакта шаблона Azure Resource Manager (шаблона ARM). Блокировка ресурсов схемы задается при назначении схемы.

При работе с этим руководством вы выполните следующие шаги:

  • Создание определения схемы
  • установка определению схемы метки Опубликовано;
  • назначение определения схемы в существующую подписку (настройка блокировки ресурсов);
  • проверка новой группы ресурсов;
  • отмена назначения схемы для удаления блокировок.

Предварительные требования

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

Создание определения схемы

Сначала создайте определение схемы.

  1. Выберите Все службы в левой области. Найдите и выберите пункт Схемы.

  2. На странице Начало работы с левой стороны в разделе Создание схемы нажмите кнопку Создать.

  3. В верхней части страницы найдите пример схемы Пустая схема. Выберите Начать с пустой схемы.

  4. На вкладке Основные сведения введите следующие данные:

    • Имя схемы. Укажите имя для копии образца схемы. В этом руководстве мы будем использовать имя locked-storageaccount.
    • Описание схемы. Добавьте описание для определения схемы. Например: Для проверки блокировки ресурсов схемы на развернутых ресурсах.
    • Расположение определения. Нажмите кнопку с многоточием (...) и выберите группу управления или подписку, в которую будет сохранено определение схемы.
  5. В верхней части страницы выберите вкладку Артефакты или внизу страницы щелкните Далее: Артефакты.

  6. Добавьте группу ресурсов на уровне подписки.

    1. В разделе Подписка выберите строку Добавить артефакт.
    2. В поле Тип артефакта выберите Группа ресурсов.
    3. Для отображаемого имени артефакта задайте значение RGtoLock.
    4. Оставьте поля Имя группы ресурсов и Расположение пустыми, но убедитесь, что установлен флажок для каждого свойства, чтобы сделать их динамическими параметрами.
    5. Нажмите кнопку Добавить, чтобы добавить артефакт в схему.
  7. Добавьте шаблон в группу ресурсов:

    1. Под записью RGtoLock щелкните строку Добавить артефакт.

    2. В поле Тип артефакта выберите Шаблон Azure Resource Manager, для параметра Отображаемое имя артефакта укажите значение StorageAccount, а поле Описание оставьте пустым.

    3. На вкладке Шаблон в окне редактора вставьте следующий шаблон ARM. Вставив шаблон, щелкните Добавить, чтобы добавить этот артефакт к схеме.

      Примечание

      Этот шаг определяет развертываемые ресурсы, которые блокируются с помощью блокировки ресурсов схемы, но не включает саму блокировку ресурсов схемы. Блокировки ресурсов схемы задаются в качестве параметра назначения схемы.

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccountType": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_ZRS",
                    "Premium_LRS"
                ],
                "metadata": {
                    "description": "Storage Account type"
                }
            }
        },
        "variables": {
            "storageAccountName": "[concat('store', uniquestring(resourceGroup().id))]"
        },
        "resources": [{
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[variables('storageAccountName')]",
            "location": "[resourceGroup().location]",
            "apiVersion": "2018-07-01",
            "sku": {
                "name": "[parameters('storageAccountType')]"
            },
            "kind": "StorageV2",
            "properties": {}
        }],
        "outputs": {
            "storageAccountName": {
                "type": "string",
                "value": "[variables('storageAccountName')]"
            }
        }
    }
    
  8. В нижней части страницы нажмите Сохранить черновик.

На этом шаге в выбранной группе управления или подписке создается определение схемы.

Когда на портале появится уведомление Определение схемы успешно сохранено, перейдите к следующему шагу.

Публикация определения схемы

Теперь в вашей среде создано определение схемы. Оно создано в режиме Черновик, и прежде чем назначить и развернуть эту копию, ее необходимо опубликовать.

  1. Выберите Все службы в левой области. Найдите и выберите пункт Схемы.

  2. В меню слева выберите страницу Определения схем. С помощью фильтров найдите определение схемы locked-storageaccount и выберите его.

  3. В верхней части страницы выберите Опубликовать схему. На новой панели справа задайте для параметра Версия значение 1.0. Это свойство можно использовать, если вы собираетесь внести изменения позже. Введите описание в поле Сведения об изменениях, например Опубликована первая версия для блокировки ресурсов, развернутых в схеме. Затем щелкните Опубликовать в нижней части страницы.

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

Когда на портале появится уведомление Определение схемы опубликовано, перейдите к следующему шагу.

Назначение определения схемы

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

  1. Выберите Все службы в левой области. Найдите и выберите пункт Схемы.

  2. В меню слева выберите страницу Определения схем. С помощью фильтров найдите определение схемы locked-storageaccount и выберите его.

  3. В верхней части страницы определения схемы выберите Назначить схему.

  4. Укажите значения параметра для назначения схемы.

    • Основы

      • Подписки. Выберите одну или несколько подписок, которые находятся в группе управления, где вы сохранили определение схемы. Если вы выберете несколько подписок, для каждой из них будет создано назначение с использованием введенных вами параметров.
      • Имя назначения. Имя предварительно заполняется на основе имени определения схемы. Так как мы хотим, чтобы это назначение представляло блокировку новой группы ресурсов, измените его имя на assignment-locked-storageaccount-TestingBPLocks.
      • Расположение. Выберите регион, в котором будет создано управляемое удостоверение. Azure Blueprint использует это управляемое удостоверение для развертывания всех артефактов в назначенную схему. Дополнительные сведения см. в статье Управляемые удостоверения для ресурсов Azure. Для этого руководства выберите регион Восточная часть США 2.
      • Версия определения схемы. Выберите опубликованную версию 1.0 определения схемы.
    • Блокировка назначения

      Выберите режим блокировки схемы Только для чтения. Дополнительные сведения см. в разделе Блокировка ресурсов схем.

      Примечание

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

    • Управляемое удостоверение

      Используйте параметр по умолчанию: Назначено системой. Дополнительные сведения см. в статье Что такое управляемые удостоверения для ресурсов Azure?

    • Параметры артефакта

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

      Имя артефакта Тип артефакта Имя параметра Значение Описание
      Группа ресурсов RGtoLock Группа ресурсов Имя TestingBPLocks Определяет имя новой группы ресурсов, к которой необходимо применить блокировки схемы.
      Группа ресурсов RGtoLock Группа ресурсов Расположение западная часть США 2 Определяет расположение новой группы ресурсов, к которой необходимо применить блокировки схемы.
      StorageAccount Шаблон Resource Manager storageAccountType (StorageAccount) Standard_GRS Номер SKU хранилища. Значение по умолчанию — Standard_LRS.
  5. Когда укажете все параметры, в нижней части страницы выберите Назначить.

На этом шаге происходит развертывание определенных ресурсов и настройка выбранного назначения блокировки. Для применения блокировок схемы понадобится до 30 минут.

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

Просмотр ресурсов, развернутых назначением

При назначении создается группа ресурсов TestingBPLocks и учетная запись хранения, развернутая артефактом шаблона ARM. Новая группа ресурсов и выбранное состояние блокировки отображаются на странице сведений о назначении.

  1. Выберите Все службы в левой области. Найдите и выберите пункт Схемы.

  2. Слева выберите страницу Назначенные схемы. С помощью фильтров найдите назначение схемы assignment-locked-storageaccount-TestingBPLocks и выберите его.

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

  3. Выберите группу ресурсов TestingBPLocks.

  4. В области слева откройте страницу Управление доступом (IAM) . Затем выберите вкладку Назначения ролей.

    На этой вкладке назначение схемы assignment-locked-storageaccount-TestingBPLocks имеет роль Владелец. Это обусловлено тем, что эта роль использовалась для развертывания и блокировки группы ресурсов.

  5. Выберите вкладку Запрет назначений.

    В развернутой группе ресурсов назначение схемы создало запрет назначения, чтобы принудительно применить режим блокировки схемы Только для чтения. Запрет назначения не дает пользователю с соответствующими правами выполнять определенные действия на вкладке Назначения ролей. Запрет назначения влияет на все субъекты.

    Сведения об исключении субъекта из запрета назначения см. в статье о блокировке ресурсов схемы.

  6. Выберите запрет назначения, а затем откройте страницу Отклоненные разрешения в области слева.

    Назначение запрета блокирует все операции с конфигурацией * _ и _ Действие, но разрешает доступ на чтение, исключая */read через NotActions.

  7. В элементе навигации портала Azure выберите TestingBPLocks — Управление доступом (IAM) . Затем в левом меню перейдите на страницу Обзор и щелкните кнопку Удалить группу ресурсов. Чтобы подтвердить удаление, введите имя TestingBPLocks и в нижней части панели выберите Удалить.

    На портале появится уведомление Удаление группы ресурсов TestingBPLocks завершилось сбоем. Ошибка указывает на то, что хотя в вашей учетной записи и есть разрешение на удаление группы ресурсов, назначение схемы запрещает доступ к ней. Помните, что при назначении схемы мы выбрали режим блокировки схемы Только для чтения. Блокировка схемы предотвращает удаление ресурсов учетной записью с разрешением (даже с ролью Владелец). Дополнительные сведения см. в разделе Блокировка ресурсов схем.

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

Отмена назначения схемы

Последнее, что нужно сделать, — это удалить назначение определения схемы. При удалении назначения связанные артефакты не удаляются.

  1. Выберите Все службы в левой области. Найдите и выберите пункт Схемы.

  2. Слева выберите страницу Назначенные схемы. С помощью фильтров найдите назначение схемы assignment-locked-storageaccount-TestingBPLocks и выберите его.

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

    Блокировки схемы удаляются вместе с назначением схемы. Удаление ресурсов из учетных записей с соответствующими разрешениями снова возможно.

  4. В меню Azure выберите Группы ресурсов, а затем щелкните TestingBPLocks.

  5. В меню слева выберите страницу Управление доступом (IAM) и перейдите на вкладку Назначения ролей.

Безопасность группы ресурсов указывает, что в назначении схемы больше нет доступа уровня Владелец.

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

Очистка ресурсов

После работы с этим руководством удалите такие ресурсы:

  • группу ресурсов TestingBPLocks;
  • определение схемы locked-storageaccount.

Дальнейшие действия

В этом учебнике вы узнали, как защитить новые ресурсы, развернутые с помощью службы Azure Blueprints. Чтобы узнать больше о схемах Azure, перейдите к статье о жизненном цикле схемы.