Включение Защитника Azure для всех типов ресурсов с помощью политик Azure

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

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

У меня есть два решения, которые бы соответствовали моим требованиям. Первый заключается в том, что мы включаем Защитник Azure для всех типов ресурсов, а второй - в том, что мы включаем только определенные типы ресурсов (для меня в настоящее время актуален только тип ресурса для реляционных баз данных с открытым исходным кодом).

Я обнаружил только ту инициативу, которая развертывает Защитник Azure на сервере базы данных, но не активирует эту опцию в моем Центре безопасности Azure. Есть ли другие документы от Microsoft, как это сделать?

2 ответа

Microsoft Defender для облака (Центр безопасности Azure) имеет встроенные политики Azure для принудительного включения планов Defender.

Для одной подписки вы можете использовать параметр «принудительно» в рекомендации « Защитник Microsoft для X должен быть включен », после чего вы перейдете на страницу создания соответствующей политики:

Или через портал политики Azure напрямую назначьте ту же политику для области подписки или группы управления с помощью политики «Настроить Azure Defender для включения <DefenderPlan>». Назначьте это с помощью «deployifnotexist», и он применит состояние плана Защитника.

У нас такое же требование. Я создал настраиваемую политику с помощью deployIfNotExists для активации уровня ASC Standard в качестве предварительного условия для активации необходимых компонентов Защитника Azure.

      "if" : {
  "allOf" : [
    {
      "field" : "type",
      "equals" : "Microsoft.Resources/subscriptions"
    }
  ]
},
"then" : {
  "effect" : "deployIfNotExists",
  "details" : {
    "type" : "Microsoft.Security/pricings",
    "deploymentScope" : "Subscription",
    "existenceScope" : "Subscription",
    "roleDefinitionIds" : [
      "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
    ],
    "existenceCondition" : {
      "field" : "Microsoft.Security/pricings/pricingTier",
      "equals" : "Standard"
    },
    "deployment" : {
      "location" : "westeurope",
      "properties" : {
        "mode" : "incremental",
        "parameters" : {},
        "template" : {
          "$schema" : "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
          "contentVersion" : "1.0.0.0",
          "parameters" : {},
          "variables" : {},
          "resources" : [
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2017-08-01-preview",
              "name" : "default",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "AppServices",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "ContainerRegistry",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "KeyVaults",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "KubernetesService",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "SqlServers",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "SqlServerVirtualMachines",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "StorageAccounts",
              "properties" : {
                "pricingTier" : "Standard"
              }
            },
            {
              "type" : "Microsoft.Security/pricings",
              "apiVersion" : "2018-06-01",
              "name" : "VirtualMachines",
              "properties" : {
                "pricingTier" : "Standard"
              }
            }
          ],
          "outputs" : {}
        }
      }
    }
  }
}

Но это не работает.

Причина несоответствия Текущее значение должно быть равно целевому значению.

Поле Microsoft.Security/pricings/pricingTier

Путь properties.pricingTier

Текущее значение «Бесплатно»

Целевое значение «Стандарт»

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

https://techcommunity.microsoft.com/t5/azure-security-center/managing-security-center-at-scale-using-arm-templates-and-azure/ba-p/327761

Другие вопросы по тегам