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