Включение Аналитики для локальной среды Azure в масштабе с помощью политик Azure
Область применения: Azure Local 2311.2 и более поздних версий
В этом документе описывается, как включить Аналитику для локальных систем Azure в масштабе с помощью политик Azure. Сведения о включении Аналитики для одной локальной системы Azure см. в статье "Мониторинг единой локальной системы Azure" с помощью Insights.
Общие сведения о Политика Azure см. в разделе "Что такое Политика Azure?"
Сведения об использовании политик Azure для включения аналитики в масштабе
Чтобы отслеживать несколько локальных систем Azure с помощью Insights, необходимо включить Аналитику для каждой системы по отдельности. Чтобы упростить этот процесс, можно использовать политики Azure для автоматического включения Аналитики на уровне подписки или группы ресурсов. Эти политики проверяют соответствие ресурсов в пределах их области на основе определенных правил. Если все несоответствующие ресурсы найдены после назначения политик, их можно исправить с помощью задач исправления.
В этом разделе описаны политики Azure, используемые для включения аналитики в масштабе. Для каждой политики он также предоставляет шаблон определения политики в ФОРМАТЕ JSON, который можно использовать как для создания определений политик или в качестве отправной точки для дальнейшей настройки.
Политика восстановления AMA
Для локальных систем Azure, зарегистрированных до ноября 2023 г., необходимо восстановить регистрацию кластера и агент Azure Monitor (AMA) перед настройкой Аналитики еще раз. Дополнительные сведения см. в разделе "Устранение неполадок кластеров", зарегистрированных до ноября 2023 г.
Политика восстановления AMA выполняет следующую функцию:
- Удаляет раздел реестра, если он присутствует, который определяет идентификатор ресурса, для которого AMA собирает данные.
Прежде чем применять эту политику, помните следующее:
- Эта политика применима только к локальным системам Azure версии 22H2. Примените его перед любыми другими политиками, чтобы убедиться, что AMA получает правильный идентификатор ресурса.
- Удалите AMA перед применением этой политики, чтобы задать правильный идентификатор ресурса. Если AMA не удаляется сначала, данные могут не отображаться. Дополнительные сведения см. в разделе "Удаление AMA".
Ниже приведено определение политики в ФОРМАТЕ JSON:
{
"mode": "INDEXED",
"policyRule": {
"then": {
"effect": "deployIfNotExists",
"details": {
"type": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.GuestConfiguration/guestConfigurationAssignments/complianceStatus",
"equals": "Compliant"
},
{
"field": "Microsoft.GuestConfiguration/guestConfigurationAssignments/parameterHash",
"equals": "[base64(concat('[RepairClusterAMA]RepairClusterAMAInstanceName;Path', '=', parameters('Path'), ',', '[RepairClusterAMA]RepairClusterAMAInstanceName;Content', '=', parameters('Content')))]"
}
]
},
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/088ab73d-1256-47ae-bea9-9de8e7131f31"
],
"deployment": {
"properties": {
"parameters": {
"type": {
"value": "[field('type')]"
},
"location": {
"value": "[field('location')]"
},
"vmName": {
"value": "[field('name')]"
},
"assignmentName": {
"value": "[concat('RepairClusterAMA$pid', uniqueString(policy().assignmentId, policy().definitionReferenceId))]"
},
"Content": {
"value": "[parameters('Content')]"
},
"Path": {
"value": "[parameters('Path')]"
}
},
"mode": "incremental",
"template": {
"parameters": {
"type": {
"type": "string"
},
"location": {
"type": "string"
},
"vmName": {
"type": "string"
},
"assignmentName": {
"type": "string"
},
"Content": {
"type": "string"
},
"Path": {
"type": "string"
}
},
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
"properties": {
"guestConfiguration": {
"version": "1.0.0",
"name": "RepairClusterAMA",
"configurationParameter": [
{
"value": "[parameters('Path')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Path"
},
{
"value": "[parameters('Content')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Content"
}
],
"contentHash": "7EA99B10AE79EA5C1456A134441270BC48F5208F3521BFBFDCAE5EF7B6A9D9BD",
"contentUri": "https://guestconfiguration4.blob.core.windows.net/guestconfiguration/RepairClusterAMA.zip",
"contentType": "Custom",
"assignmentType": "ApplyAndAutoCorrect"
}
},
"location": "[parameters('location')]",
"apiVersion": "2018-11-20",
"name": "[concat(parameters('vmName'), '/Microsoft.GuestConfiguration/', parameters('assignmentName'))]",
"condition": "[equals(toLower(parameters('type')), toLower('Microsoft.Compute/virtualMachines'))]"
},
{
"type": "Microsoft.HybridCompute/machines/providers/guestConfigurationAssignments",
"properties": {
"guestConfiguration": {
"version": "1.0.0",
"name": "RepairClusterAMA",
"configurationParameter": [
{
"value": "[parameters('Path')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Path"
},
{
"value": "[parameters('Content')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Content"
}
],
"contentHash": "7EA99B10AE79EA5C1456A134441270BC48F5208F3521BFBFDCAE5EF7B6A9D9BD",
"contentUri": "https://guestconfiguration4.blob.core.windows.net/guestconfiguration/RepairClusterAMA.zip",
"contentType": "Custom",
"assignmentType": "ApplyAndAutoCorrect"
}
},
"location": "[parameters('location')]",
"apiVersion": "2018-11-20",
"name": "[concat(parameters('vmName'), '/Microsoft.GuestConfiguration/', parameters('assignmentName'))]",
"condition": "[equals(toLower(parameters('type')), toLower('Microsoft.HybridCompute/machines'))]"
},
{
"type": "Microsoft.Compute/virtualMachineScaleSets/providers/guestConfigurationAssignments",
"properties": {
"guestConfiguration": {
"version": "1.0.0",
"name": "RepairClusterAMA",
"configurationParameter": [
{
"value": "[parameters('Path')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Path"
},
{
"value": "[parameters('Content')]",
"name": "[RepairClusterAMA]RepairClusterAMAInstanceName;Content"
}
],
"contentHash": "7EA99B10AE79EA5C1456A134441270BC48F5208F3521BFBFDCAE5EF7B6A9D9BD",
"contentUri": "https://guestconfiguration4.blob.core.windows.net/guestconfiguration/RepairClusterAMA.zip",
"contentType": "Custom",
"assignmentType": "ApplyAndAutoCorrect"
}
},
"location": "[parameters('location')]",
"apiVersion": "2018-11-20",
"name": "[concat(parameters('vmName'), '/Microsoft.GuestConfiguration/', parameters('assignmentName'))]",
"condition": "[equals(toLower(parameters('type')), toLower('Microsoft.Compute/virtualMachineScaleSets'))]"
}
],
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#"
}
}
},
"name": "[concat('RepairClusterAMA$pid', uniqueString(policy().assignmentId, policy().definitionReferenceId))]"
}
},
"if": {
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachineScaleSets"
}
]
},
{
"field": "tags['aks-managed-orchestrator']",
"exists": "false"
},
{
"field": "tags['aks-managed-poolName']",
"exists": "false"
},
{
"anyOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"in": [
"esri",
"incredibuild",
"MicrosoftDynamicsAX",
"MicrosoftSharepoint",
"MicrosoftVisualStudio",
"MicrosoftWindowsDesktop",
"MicrosoftWindowsServerHPCPack"
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "MicrosoftWindowsServer"
},
{
"field": "Microsoft.Compute/imageSKU",
"notLike": "2008*"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "MicrosoftSQLServer"
},
{
"field": "Microsoft.Compute/imageOffer",
"notLike": "SQL2008*"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "microsoft-dsvm"
},
{
"field": "Microsoft.Compute/imageOffer",
"like": "dsvm-win*"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "microsoft-ads"
},
{
"field": "Microsoft.Compute/imageOffer",
"in": [
"standard-data-science-vm",
"windows-data-science-vm"
]
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "batch"
},
{
"field": "Microsoft.Compute/imageOffer",
"equals": "rendering-windows2016"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "center-for-internet-security-inc"
},
{
"field": "Microsoft.Compute/imageOffer",
"like": "cis-windows-server-201*"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "pivotal"
},
{
"field": "Microsoft.Compute/imageOffer",
"like": "bosh-windows-server*"
}
]
},
{
"allOf": [
{
"field": "Microsoft.Compute/imagePublisher",
"equals": "cloud-infrastructure-services"
},
{
"field": "Microsoft.Compute/imageOffer",
"like": "ad*"
}
]
},
{
"allOf": [
{
"anyOf": [
{
"field": "Microsoft.Compute/virtualMachines/osProfile.windowsConfiguration",
"exists": true
},
{
"field": "Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType",
"like": "Windows*"
},
{
"field": "Microsoft.Compute/VirtualMachineScaleSets/osProfile.windowsConfiguration",
"exists": true
},
{
"field": "Microsoft.Compute/virtualMachineScaleSets/virtualMachineProfile.storageProfile.osDisk.osType",
"like": "Windows*"
}
]
},
{
"anyOf": [
{
"field": "Microsoft.Compute/imageSKU",
"exists": false
},
{
"allOf": [
{
"field": "Microsoft.Compute/imageOffer",
"notLike": "SQL2008*"
},
{
"field": "Microsoft.Compute/imageSKU",
"notLike": "2008*"
}
]
}
]
}
]
}
]
}
]
},
{
"allOf": [
{
"equals": true,
"value": "[parameters('IncludeArcMachines')]"
},
{
"anyOf": [
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.HybridCompute/machines"
},
{
"field": "Microsoft.HybridCompute/imageOffer",
"like": "windows*"
}
]
},
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.ConnectedVMwarevSphere/virtualMachines"
},
{
"field": "Microsoft.ConnectedVMwarevSphere/virtualMachines/osProfile.osType",
"like": "windows*"
}
]
}
]
}
]
}
]
}
},
"parameters": {
"IncludeArcMachines": {
"allowedValues": [
"true",
"false"
],
"defaultValue": "false",
"metadata": {
"description": "By selecting this option, you agree to be charged monthly per Arc connected machine.",
"displayName": "Include Arc connected machines",
"portalReview": true
},
"type": "String"
},
"Content": {
"defaultValue": "File content XYZ",
"metadata": {
"description": "File content",
"displayName": "Content"
},
"type": "String"
},
"Path": {
"defaultValue": "C:\\DSC\\CreateFileXYZ.txt",
"metadata": {
"description": "Path including file name and extension",
"displayName": "Path"
},
"type": "String"
}
}
}
Политика установки AMA
Политика установки AMA выполняет следующие функции:
Оценивает, установлено ли локальное
AzureMonitoringAgent
расширение в локальных системах Azure.Устанавливает AMA на системы, которые не соответствуют политике с помощью задачи исправления.
Ниже приведено определение политики в ФОРМАТЕ JSON:
{
"mode": "Indexed",
"policyRule": {
"if": {
"field": "type",
"equals": "Microsoft.AzureStackHCI/clusters"
},
"then": {
"effect": "[parameters('effect')]",
"details": {
"type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
"name": "[concat(field('name'), '/default/AzureMonitorWindowsAgent')]",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
],
"existenceCondition": {
"field": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions/extensionParameters.type",
"equals": "AzureMonitorWindowsAgent"
},
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "The name of Cluster."
}
}
},
"resources": [
{
"type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
"apiVersion": "2023-08-01",
"name": "[concat(parameters('clusterName'), '/default/AzureMonitorWindowsAgent')]",
"properties": {
"extensionParameters": {
"publisher": "Microsoft.Azure.Monitor",
"type": "AzureMonitorWindowsAgent",
"autoUpgradeMinorVersion": false,
"enableAutomaticUpgrade": false
}
}
}
]
},
"parameters": {
"clusterName": {
"value": "[field('Name')]"
}
}
}
}
}
}
},
"parameters": {
"effect": {
"type": "String",
"metadata": {
"displayName": "Effect",
"description": "Enable or disable the execution of the policy"
},
"allowedValues": [
"DeployIfNotExists",
"Disabled"
],
"defaultValue": "DeployIfNotExists"
}
}
}
Политика настройки связи DCR
Эта политика применяется к каждому узлу в локальной системе Azure и выполняет следующую функцию:
dataCollectionResourceId
Принимает в качестве входных данных и связывает правило сбора данных (DCR) с каждым узлом.Примечание.
Эта политика не создает конечную точку сбора данных (DCE). Если вы используете закрытые ссылки, необходимо создать DCE, чтобы обеспечить доступность данных в Insights. Дополнительные сведения см. в разделе "Включение сетевой изоляции для агента Azure Monitor" с помощью Приватный канал.
Ниже приведено определение политики в ФОРМАТЕ JSON:
{
"mode": "INDEXED",
"policyRule": {
"if": {
"field": "type",
"equals": "Microsoft.HybridCompute/machines"
},
"then": {
"effect": "[parameters('effect')]",
"details": {
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"name": "[concat(field('name'), '-dataCollectionRuleAssociations')]",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
],
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"machineName": {
"type": "string",
"metadata": {
"description": "The name of the machine."
}
},
"dataCollectionResourceId": {
"type": "string",
"metadata": {
"description": "Resource Id of the DCR"
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2022-06-01",
"name": "[concat(parameters('machineName'), '-dataCollectionRuleAssociations')]",
"scope": "[format('Microsoft.HybridCompute/machines/{0}', parameters('machineName'))]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this machine",
"dataCollectionRuleId": "[parameters('dataCollectionResourceId')]"
}
}
]
},
"parameters": {
"machineName": {
"value": "[field('Name')]"
},
"dataCollectionResourceId": {
"value": "[parameters('dcrResourceId')]"
}
}
}
}
}
}
},
"parameters": { "effect": {
"type": "String",
"metadata": {
"displayName": "Effect",
"description": "Enable or disable the execution of the policy"
},
"allowedValues": [
"DeployIfNotExists",
"Disabled"
],
"defaultValue": "DeployIfNotExists"
},
"dcrResourceId": {
"type": "String",
"metadata": {
"displayName": "dcrResourceId",
"description": "Resource Id of the DCR"
}
}
}
}
Включение аналитики в масштабе с помощью политик Azure
В этом разделе описывается, как включить Аналитику для azure Local в масштабе с помощью политик Azure.
Необходимые компоненты
Прежде чем включить Аналитику для Локальной службы Azure в масштабе с помощью политик Azure, выполните следующие предварительные требования:
- У вас должен быть доступ к развернутой и зарегистрированной локальной системе Azure, в которой будет включена аналитика.
- У вас должно быть управляемое удостоверение для ресурсов Azure. Дополнительные сведения см. в статье "Включено расширенное управление".
- В подписке Azure должна быть роль участника ресурсов гостевой конфигурации.
- (Только для локальных систем Azure версии 22H2) Перед применением политик Azure необходимо удалить AMA.
Порядок приложения политики
Чтобы включить аналитику в масштабе для локальных систем Azure, примените политики Azure в следующем порядке:
Восстановление AMA (только для локальных систем Azure версии 22H2):
- Если вы используете Azure Stack HCI версии 22H2, начните с применения политики для восстановления AMA. Этот шаг не требуется для локальных систем Azure 2311.2 и более поздних версий.
- Шаблон определения политики см. в разделе "Политика" для восстановления AMA.
Установите AMA:
- Примените политику для установки AMA.
- Шаблон определения политики см. в разделе "Политика" для установки AMA.
Настройте связь DCR.
- Примените политику для настройки ассоциации DCR.
- Шаблон определения политики см. в разделе "Политика" для настройки ассоциации DCR.
Рабочий процесс для применения политик для включения аналитики в масштабе
Выполните следующие действия для каждой политики, чтобы включить аналитику в масштабе:
- Создать определение политики. Определите правила и условия соответствия с помощью шаблона определения политики. См. раздел "Создание определения политики".
- Создайте назначение политики. Определите область политики, исключения, если таковые есть, и параметры для принудительного применения. Используйте определение политики, определенное на предыдущем шаге. См. статью "Создание назначения политики".
- Просмотр состояния соответствия. Отслеживайте состояние соответствия назначения политики. Проверьте наличие всех несоответствуемых ресурсов. См. сведения о состоянии соответствия.
- Исправьте несоответствующие ресурсы. Создайте задачи исправления для устранения несоответствующих ресурсов. См. раздел "Исправление несоответствующих ресурсов".
Создать определение политики.
Чтобы создать определение политики, выполните следующие действия.
На портале Microsoft Azure перейдите к службе "Политика Azure".
В разделе Разработка выберите Определения.
Выберите + Определение политики, чтобы создать новое определение политики.
На странице определения политики укажите следующие значения:
Поле Действие Расположение определения Выберите многоточие ( ...
), чтобы указать расположение ресурса политики. В области расположения определения выберите подписку Azure и нажмите кнопку "Выбрать".Имя Укажите понятное имя определения политики. При необходимости можно добавить описание и категорию. ПРАВИЛО ПОЛИТИКИ Поле редактирования JSON предварительно заполнено шаблоном определения политики. Замените этот шаблон шаблоном определения политики, который вы хотите применить. Шаблоны определений для политик Аналитики в формате JSON см. в разделе "Сведения об использовании политик Azure", чтобы включить аналитику в большом масштабе . Определения ролей Это поле отображается после копирования и вставки определения политики в поле POLICY RULE . Выберите роль участника ресурсов гостевой конфигурации из списка. Выберите Сохранить.
Вы получите уведомление о том, что создание определения политики успешно выполнено, и отображается страница определения политики. Теперь можно перейти к созданию назначения политики.
Создание назначения политики
Затем необходимо создать назначение политики и назначить определение политики на уровне подписки или группы ресурсов. Дополнительные сведения о назначении политики см. в разделе Структура назначения Политики Azure.
Чтобы создать назначение политики, выполните следующие действия.
В политике | Страница определений для определения политики, созданного на предыдущем шаге, выберите " Назначить политику".
На вкладке "Назначение политики" на вкладке> "Базовый" укажите следующие значения:
Поле Действие Область применения Это поле предварительно заполнено областью, определенной во время создания определения политики. Если вы хотите изменить область назначения политики, можно использовать многоточие ( ...
), а затем выбрать подписку и при необходимости группу ресурсов. Затем нажмите кнопку " Выбрать ", чтобы применить область.Исключения Необязательно. Используйте многоточие ( ...
), чтобы выбрать ресурсы для исключения из назначения политики.Определение политики Это поле предварительно заполнено именем определения политики, созданным на шаге создания определения политики. Имя назначения Это поле предварительно заполнено именем выбранного определения политики. При необходимости его можно изменить. Применение политики Значение по умолчанию включено. Дополнительные сведения о режиме применения политик см. здесь. Нажмите кнопку "Рядом ", чтобы просмотреть вкладку "Параметры ". Если определение политики, выбранное на вкладке "Основные сведения" , включает параметры, они отображаются на вкладке "Параметры ".
Например, политика восстановления AMA отображает параметр "Включить подключенные компьютеры Arc". Выберите True , чтобы включить подключенные компьютеры Arc в назначение политики.
Нажмите кнопку "Рядом ", чтобы просмотреть вкладку "Исправление ". На этой вкладке не требуется никаких действий. Шаблоны определений политик поддерживают эффект deployIfNotExists , поэтому ресурсы, которые не соответствуют правилу политики, автоматически устраняются. Кроме того, обратите внимание, что параметр create a Managed Identity выбран по умолчанию, так как шаблоны определений политики используют эффект deployIfNotExists .
Выберите "Рецензирование" и "Создать ", чтобы проверить назначение.
Нажмите кнопку "Создать", чтобы создать назначение.
Вы получите уведомления о успешном выполнении создания назначений ролей и назначений политик. После создания назначения подсистема Политика Azure определяет все локальные системы Azure, расположенные в пределах области, и применяет конфигурацию политики к каждой системе. Как правило, для принятия в силу назначения политики требуется от 5 до 15 минут.
Просмотр состояния соответствия
После создания назначения политики можно отслеживать соответствие ресурсов в разделе "Соответствие и исправление" в разделе "Исправление" на домашней странице Политика Azure. Состояние соответствия для нового назначения политики занимает несколько минут, чтобы стать активным и предоставить результаты о состоянии политики.
Чтобы просмотреть состояние соответствия политики, выполните следующие действия.
На портале Microsoft Azure перейдите к службе "Политика Azure".
Выберите Соответствие.
Отфильтруйте результаты по имени назначения политики, созданного на шаге создания назначения политики. Столбец состояния соответствия отображает состояние соответствия как соответствующее или несоответствующее.
Выберите имя назначения политики, чтобы просмотреть состояние соответствия ресурсам. Например, в отчете о соответствии для политики восстановления AMA отображаются узлы, которые необходимо восстановить:
После того как вы узнаете, какие ресурсы не соответствуют требованиям, можно создать задачу исправления, чтобы обеспечить их соответствие.
Исправление несоответствующих ресурсов
Чтобы устранить несоответствующие ресурсы и отслеживать ход выполнения задачи исправления, выполните следующие действия.
На портале Microsoft Azure перейдите к службе "Политика Azure".
Выберите "Исправление".
На странице исправления отображается список назначенных политик с несоответствующими ресурсами. Отфильтруйте результаты по имени назначения политики, созданного на шаге создания назначения политики.
Выберите ссылку "Определение политики".
На странице "Новая задача исправления" отображаются ресурсы, необходимые для исправления. Перед исправлением установите флажок "Повторно оценить соответствие ресурсов", а затем нажмите кнопку "Исправить".
Вы получите уведомление о создании задачи исправления и на вкладку "Задачи исправления". На этой вкладке отображается состояние различных задач исправления. Созданный элемент может находиться в состоянии оценки или выполнения .
После завершения исправления состояние изменится на Complete.
Дополнительные сведения об исправлении см. в разделе "Исправление несоответствующих ресурсов с помощью Политика Azure".