你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Automanage 中为 VM 创建自定义配置文件

适用于虚拟机的 Azure Automanage 具有无法编辑的默认最佳做法配置文件。 但是,如果需要更大的灵活性,可以通过创建自定义配置文件来选取并选择服务集和设置集。

Automanage 支持打开和关闭服务。 目前还支持在 Azure 备份Microsoft Antimalware 上进行自定义设置。 还可以指定现有 Log Analytics 工作区。 此外,仅针对 Windows 计算机可以修改来宾配置中 Azure 安全基线的审核模式。

Automanage 允许在自定义配置文件中标记以下资源:

  • 资源组
  • 自动化帐户
  • Log Analytics 工作区
  • 恢复保管库

查看 ARM 模板以修改这些设置。

在 Azure 门户中创建自定义配置文件

登录 Azure

登录 Azure 门户

创建自定义配置文件

  1. 在搜索栏中,搜索并选择“Automanage - Azure 计算机最佳做法”。

  2. 在目录中选择“配置文件”

  3. 选择“创建”按钮,创建自定义配置文件

  4. 在“创建新的配置文件”边栏选项卡上,填写详细信息:

    1. 配置文件名称
    2. 订阅
    3. 资源组
    4. 区域

    Fill out custom profile details.

  5. 通过所需的服务和设置调整配置文件,然后选择“创建”。

使用 Azure 资源管理器模板创建自定义配置文件

以下 ARM 模板会创建 Automanage 自定义配置文件。 请参阅 ARM 模板部署部分,详细了解 ARM 模板及其部署步骤。

注意

如果要使用特定 Log Analytics 工作区,请指定工作区的 ID,如下所示:“/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName

{
    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "customProfileName": {
        "type": "string"
      },
      "location": {
        "type": "string"
      },
      "azureSecurityBaselineAssignmentType": {
        "type": "string",
        "allowedValues": [
          "ApplyAndAutoCorrect",
          "ApplyAndMonitor",
          "Audit"
        ]
      },
        "logAnalyticsWorkspace": {
            "type": "String"
        },
        "LogAnalyticsBehavior": {
            "defaultValue": false,
            "type": "Bool"
        }
    },
    "resources": [
      {
        "type": "Microsoft.Automanage/configurationProfiles",
        "apiVersion": "2022-05-04",
        "name": "[parameters('customProfileName')]",
        "location": "[parameters('location')]",
        "properties": {
            "configuration": {
              "Antimalware/Enable": true,
              "Antimalware/EnableRealTimeProtection": true,
              "Antimalware/RunScheduledScan": true,
              "Antimalware/ScanType": "Quick",
              "Antimalware/ScanDay": "7",
              "Antimalware/ScanTimeInMinutes": "120",
              "AzureSecurityBaseline/Enable": true,
              "AzureSecurityBaseline/AssignmentType": "[parameters('azureSecurityBaselineAssignmentType')]",
              "Backup/Enable": true,
              "Backup/PolicyName": "dailyBackupPolicy",
              "Backup/TimeZone": "UTC",
              "Backup/InstantRpRetentionRangeInDays": "2",
              "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily",
              "Backup/SchedulePolicy/ScheduleRunTimes": [
                  "2017-01-26T00:00:00Z"
              ],
              "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy",
              "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy",
              "Backup/RetentionPolicy/DailySchedule/RetentionTimes": [
                  "2017-01-26T00:00:00Z"
              ],
              "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180",
              "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days",
              "BootDiagnostics/Enable": true,
              "ChangeTrackingAndInventory/Enable": true,
              "DefenderForCloud/Enable": true,
              "LogAnalytics/Enable": true,
              "LogAnalytics/Reprovision": "[parameters('LogAnalyticsBehavior')]",
              "LogAnalytics/Workspace": "[parameters('logAnalyticsWorkspace')]",
              "LogAnalytics/UseAma": true,
              "UpdateManagement/Enable": true,
              "VMInsights/Enable": true,
              "WindowsAdminCenter/Enable": true,
              "Tags/ResourceGroup": {
                "foo": "rg"
              },
              "Tags/AzureAutomation": {
                "foo": "automationAccount"
              },
              "Tags/LogAnalyticsWorkspace": {
                "foo": "workspace"
              },
              "Tags/RecoveryVault": {
                "foo": "recoveryVault"
              }
          }
        }
      }
    ]
  }

ARM 模板部署

此 ARM 模板会创建一个可分配到指定计算机的自定义配置文件。

customProfileName 值是要创建的自定义配置文件的名称。

location 值是要在其中存储此自定义配置文件的区域。 请注意,可以将此配置文件分配到任何区域中的任何受支持的计算机。

azureSecurityBaselineAssignmentType 是可为 Azure 服务器安全基线选择的审核模式。 选项有:

  • ApplyAndAutoCorrect:此设置会通过来宾配置扩展应用 Azure 安全基线,如果基线中有任何设置出现偏移,我们会自动修正该设置,使其保持合规。
  • ApplyAndMonitor:首次将此配置文件分配到每台计算机时,此设置会通过来宾配置扩展应用 Azure 安全基线。 应用后,来宾配置服务将监视服务器基线,并报告任何偏离所需状态的情况。 但是,它不会自动修正。
  • Audit:此设置将使用来宾配置扩展来安装 Azure 安全基线。 你能够看到计算机与基线不符合的地方,但不会自动修正不符合的项目。

LogAnalytics/UseAma 值可在其中指定是否使用 Azure Monitor 代理。

还可以通过将此设置添加到以下属性的配置部分来指定现有 Log Analytics 工作区:

  • “LogAnalytics/Workspace”:“/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName”
  • “LogAnalytics/Reprovision”:false 在 LogAnalytics/Workspace 行中指定现有工作区。 如果希望在所有情况下都使用此 Log Analytics 工作区,请将 LogAnalytics/Reprovision 设置设置为 true。 然后,具有此自定义配置文件的任何计算机会使用此工作区,即使它已连接到一个工作区。 默认情况下,LogAnalytics/Reprovision 设置为 false。 如果计算机已连接到某个工作区,则仍会使用该工作区。 如果它未连接到工作区,则会使用在 LogAnalytics\Workspace 中指定的工作区。

此外,可以将标记添加到自定义配置文件中指定的资源,如下所示:

"Tags/ResourceGroup": {
    "foo": "rg"
},
"Tags/ResourceGroup/Behavior": "Preserve",
"Tags/AzureAutomation": {
  "foo": "automationAccount"
},
"Tags/AzureAutomation/Behavior": "Replace",
"Tags/LogAnalyticsWorkspace": {
  "foo": "workspace"
},
"Tags/LogAnalyticsWorkspace/Behavior": "Replace",
"Tags/RecoveryVault": {
  "foo": "recoveryVault"
},
"Tags/RecoveryVault/Behavior": "Preserve"

Tags/Behavior 可以设置为 Preserve 或 Replace。 如果标记的资源在键/值对中已具有相同标记键,则可以使用 Replace 行为将该键替换为配置文件中的指定值。 默认情况下,行为设置为 Preserve,这意味着已与该资源关联的标记键会保留,不会被配置文件中指定的键/值对覆盖。

请遵照以下步骤部署 ARM 模板:

  1. 将此 ARM 模板另存为 azuredeploy.json
  2. 使用 az deployment group create --resource-group myResourceGroup --template-file azuredeploy.json 运行此 ARM 模板部署
  3. 在出现提示时提供 customProfileName、location 和 azureSecurityBaselineAssignmentType 的值
  4. 可以开始部署了

与任何 ARM 模板一样,可以将参数分解成单独的 azuredeploy.parameters.json 文件,然后在进行部署时将该文件用作参数。

后续步骤

获取在常见问题解答中已解答的常见问题。