你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
针对计算机配置的修正选项
在开始之前,最好先阅读计算机配置的概述页面。
重要
Azure 虚拟机需要计算机配置扩展。 若要在所有计算机上大规模部署此扩展,请分配以下策略计划:Deploy prerequisites to enable guest configuration policies on virtual machines
若要使用应用配置的计算机配置包,需要 Azure VM 来宾配置扩展版本 1.26.24 或更高版本,或者 Arc 代理 1.10.0 或更高版本。
使用 AuditIfNotExists
和 DeployIfNotExists
的自定义计算机配置策略定义处于正式发布 (GA) 支持状态。
计算机配置如何管理修正 (Set)
计算机配置将策略效果 DeployIfNotExists 用于在计算机内部传递更改的定义。 设置策略分配的属性,以控制评估是自动还是按需传递配置。
计算机配置分配类型
创建来宾分配时,有 3 种可用的分配类型。 属性作为支持 DeployIfNotExists
的计算机配置定义的参数提供。
assignmentType 属性区分大小写
分配类型 | 行为 |
---|---|
Audit |
报告计算机的状态,但不进行更改。 |
ApplyAndMonitor |
应用到计算机一次,然后监视更改。 如果配置偏移且其状态变为 NonCompliant ,则不会自动更正,除非触发修正。 |
ApplyAndAutoCorrect |
应用到计算机。 如果它偏移,则计算机内的本地服务在下一次评估时进行更正。 |
当将新的策略分配分配给现有计算机时,会自动创建来宾分配,以首先审核配置的状态。 审核提供了可用于确定哪些计算机需要修正的信息。
按需修正 (ApplyAndMonitor)
默认情况下,计算机配置分配在“按需修正”方案中进行。 配置会被应用,随后可偏离合规性。
来宾分配的合规性状态为 Compliant
,除非:
- 应用配置时出错
- 如果在下一次评估期间计算机不再处于所需状态
当满足上述任一条件时,代理会将状态报告为 NonCompliant
,并且不会自动修正。
若要启用此行为,请将计算机配置分配的 assignmentType 属性设置为 ApplyandMonitor
。 每次在计算机内处理分配时,当 Test 方法返 $true
时,代理会为每个资源报告 Compliant
;如果该方法返回 $false
,则报告 NonCompliant
。
连续修正 (autocorrect)
计算机配置支持“连续修正”这一概念。 如果计算机的配置偏移合规性,在下一次评估时会自动更正配置。 除非发生错误,否则计算机始终会将配置的状态报告为 Compliant
。 使用连续修正时,无法报告何时自动更正了偏移。
若要启用此行为,请将计算机配置分配的 assignmentType 属性设置为 ApplyandAutoCorrect
。 每次在计算机内处理分配时,都会为 Test 方法返回 false
的每个资源自动运行 Set 方法。
禁用修正
当 assignmentType 属性设置为 Audit
时,代理仅对计算机执行审核,不会尝试修正不合规的配置。
禁用自定义内容修正
可向计算机添加名为 CustomGuestConfigurationSetPolicy 且值为 disable
的标记,替代自定义内容包的分配类型属性。 添加标记只会对自定义内容包禁用修正,不会禁用对 Microsoft 提供的内置内容进行修正。
Azure Policy 强制实施
Azure Policy 分配包括一个必需的属性强制模式,它用于确定新资源和现有资源的行为。 使用此属性可控制是否将配置自动应用到计算机。
默认情况下,强制设为 Enabled
。 Azure Policy 在部署新计算机时自动应用配置。 当更新了 Azure Policy 分配范围内具有 Guest Configuration
类别策略的计算机的属性时,它也会应用配置。 更新操作包括 Azure 资源管理器中发生的操作,例如添加或更改标记。 更新操作还包括对虚拟机的更改,例如重设磁盘大小或附加磁盘。
如果 Azure 中的计算机资源发生更改时应修正配置,则将强制属性保持在启用状态。 只要计算机中发生的更改不会更改 Azure 资源管理器中的计算机资源,就不会触发自动修正。
如果强制设置为 Disabled
,则配置分配将审核计算机的状态,直到修正任务更改行为。 默认情况下,计算机配置定义将 assignmentType 属性从 Audit
更新为 ApplyandMonitor
,这样配置将应用一次,然后在触发修正之前不再应用。
可选:修正所有现有计算机
如果通过 Azure 门户创建了 Azure Policy 分配,则“修正”选项卡上有标记为“创建修正任务”的复选框。 选中该框后,在创建策略分配后,修正任务会自动更正评估为 NonCompliant
的任何资源。
此设置对计算机配置的影响是,你可以通过分配策略来在多台计算机上部署配置。 而且,无需为不合规的计算机手动运行修正任务。
在 Azure Policy 之外手动触发修正
可以通过更新来宾分配资源来协调 Azure Policy 体验之外的修正,即使更新未对资源属性进行更改也是如此。
创建计算机配置分配时,complianceStatus 属性设置为 Pending
。 计算机配置服务每 5 分钟请求一次分配列表。 如果计算机配置分配的 complianceStatus 为 Pending
,并且其 configurationMode 为 ApplyandMonitor
或 ApplyandAutoCorrect
,则计算机中的服务将应用配置。
应用配置后,配置模式将指示该行为是只报告合规性状态并允许偏移还是自动进行更正。
了解设置的组合
~ | 审核 | ApplyandMonitor | ApplyandAutoCorrect |
---|---|---|---|
已启用强制 | 仅报告状态 | 配置应用于 VM 创建并在更新时重新应用,但其他方面允许偏移 | 配置应用于 VM 创建并在更新时重新应用,如果发生偏移,则在下一个时间间隔更正 |
已禁用强制 | 仅报告状态 | 已应用配置但允许偏移 | 配置应用于 VM 创建或更新,如果发生偏移,则在下一个时间间隔更正 |
后续步骤
- 开发自定义机器配置包。
- 使用 GuestConfiguration 模块 创建 Azure Policy 定义,用于对环境进行大规模管理。
- 使用 Azure 门户分配自定义策略定义。
- 了解如何查看计算机配置策略分配的合规性详细信息。