适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集
本文介绍在使用 Azure VM 映像生成器时要遵循的最佳做法。
对图像模板使用资源锁
若要防止意外删除图像模板,请使用它们上的资源锁。 有关详细信息,请参阅 锁定 Azure 资源来保护基础结构。
设置用于灾难恢复的映像模板
遵循 VM 映像生成器的可靠性建议,确保为灾难恢复设置映像模板。
启用 VM 启动优化
在 VM 映像生成器中启用 虚拟机(VM)启动优化 ,以提高 VM 的创建时间。
自备子网
指定自己的生成 VM 子网(subnetId)和 Azure Container Instances 的子网(containerInstanceSubnetId),以更严格地控制 VM 映像生成器在订阅中对网络资源的部署。 指定这些子网还会导致映像生成更快、更可靠。
可以在 “独立映像生成”部分阅读有关此网络拓扑的详细信息。
遵循最低特权原则
遵循 VM 映像生成器资源的 最小特权原则 。
映像模板
有权访问映像模板的主体可以运行、删除或篡改映像模板。 然后,此访问权限允许主体更改映像模板创建的映像。
确保只有必需的主体才能访问映像模板。
暂存资源组
VM 映像生成器使用订阅中的暂存资源组来自定义 VM 映像。 必须将此资源组视为敏感资源组,并仅限制对所需主体的访问。 请记住以下风险:
由于自定义映像的过程在此资源组中发生,因此有权访问资源组的主体可能会损害映像生成过程。 例如,此类主体可以将恶意软件注入映像。
VM 映像生成器将与模板标识关联的特权和生成 VM 标识委托给此资源组中的资源。 有权访问资源组的主体可以访问这些标识。
VM 映像生成器会维护此资源组中定制器工件的副本。 有权访问资源组的主体可以检查这些副本。
模板标识
能访问您模板身份的主体可以访问该身份有权限的所有资源。 这组资源包括定制器项目(例如 shell 和 PowerShell 脚本)、分发目标(例如 Azure 计算库映像版本)和虚拟网络。
必须仅向此标识提供最低必要权限。
生成 VM 标识
有权访问生成 VM 标识的主体可以访问标识对其具有权限的所有资源。 此资源集包括可能通过此标识从生成 VM 内部使用的任何工件和虚拟网络。
必须仅向此标识提供最低必要权限。
Credentials
请勿将任何凭据放在映像模板或用于 Shell、PowerShell 和文件定制器和文件验证程序的文件中。 例如:
- 在为定制器和验证程序指定内联命令时,请不要指定任何密码或其他登录凭据。 相反,此类凭据应存储在 Azure Key Vault 中,然后使用生成 VM 标识从生成 VM 访问。
- 在定制器和验证器中提供文件时,请勿在文件中指定任何凭据。 相反,此类凭据应存储在 Azure Key Vault 中,然后使用生成 VM 标识从生成 VM 访问。
- 在为映像模板中的定制器和验证程序指定脚本或源 URI 时,请勿指定包含 SAS URI 或任何凭据(如个人访问令牌)的 URI。 而是将此类文件存储在 Azure 存储帐户中,并使用模板标识访问这些文件。
尽管 Azure VM 映像生成器不禁止指定此类凭据,但强烈建议不要使用此类凭据。 如果确实指定了此类凭据,请确保它不提供对任何特权资源的访问权限,并尽快轮换。
遵循 Azure 计算画廊最佳实践
如果要分发到 Azure Compute Gallery,务必还要遵循 Azure Compute Gallery 资源的最佳做法。