将 Batch 帐户证书迁移到 Azure Key Vault
2024 年 2 月 29 日,Azure Batch 帐户证书功能将停用。 本文介绍如何使用 Azure Key Vault 迁移 Azure Batch 帐户上的证书。
关于功能
在各种方案中,通常都需要证书,例如解密机密、保护信道或访问其他服务。 目前,Azure Batch 提供了两种方法来管理 Batch 池上的证书。 可以将证书添加到 Batch 帐户,也可以使用 Azure Key Vault VM 扩展来管理 Batch 池上的证书。 仅停用 Azure Batch 帐户上的证书功能及其通过对添加池、补丁池、更新属性 的 CertificateReference
以及对获取和列出池 API 的相应引用扩展到 Batch 池的功能。 此外,对于 Linux 池,将不再定义和填充环境变量 $AZ_BATCH_CERTIFICATES_DIR
。
功能支持结束日期
Azure Key Vault 是在 Azure 中安全地存储和访问机密和证书的标准推荐机制。 因此,我们将于 2024 年 2 月 29 日停用 Azure Batch 中的 Batch 帐户证书功能。 另一种方法是使用 Azure Key Vault VM 扩展和池上用户分配的托管标识来安全地访问和安装 Batch 池上的证书。
Azure Batch 中的证书功能于 2024 年 2 月 29 日停用后,Batch 中的证书将无法正常运行。 在该日期之后,无法再将证书添加到 Batch 帐户或将这些证书链接到 Batch 池。 在此日期后继续使用此功能的池可能无法正常运行,例如无法更新证书引用或安装现有证书引用。
替代方法:结合使用 Azure Key Vault VM 扩展与池用户分配的托管标识
Azure Key Vault 是一项完全托管的 Azure 服务,提供了用于存储和管理机密、证书、令牌和密钥的受控访问权限。 Key Vault 在传输层提供安全性的方式是确保从密钥保管库到客户端应用程序的任何数据流经过加密。 使用 Azure Key Vault 可以安全地存储基本访问信息和设置精细访问控制。 可以通过一个仪表板管理所有机密。 选择将密钥存储在受软件保护或受硬件保护的硬件安全模块 (HSM) 中。 你还可将 Key Vault 设置为自动续订证书。
有关如何使用池用户分配的托管标识启用 Azure Key Vault VM 扩展的完整指南,请参阅在 Batch 池中启用自动证书轮换。
常见问题解答
CloudServiceConfiguration
池是否支持池上的 Azure Key Vault VM 扩展和托管标识?错误。
CloudServiceConfiguration
池将于 2024 年 2 月 29 日与 Azure Batch 帐户证书一起停用。 建议在该日期之前迁移到VirtualMachineConfiguration
池,在那里你可以使用这些解决方案。用户订阅池分配 Batch 帐户是否支持 Azure Key Vault?
是的。 你可以在池中使用 Batch 帐户指定的 Key Vault,但用于 Batch 池证书的 Key Vault 可能是完全独立的。
Key Vault VM 扩展是否同时支持 Linux 和 Windows Batch 池?
是否可以使用 Key Vault VM 扩展更新现有池?
否,这些属性无法在池上更新。 你需要重新创建池。
既然
$AZ_BATCH_CERTIFICATES_DIR
将被删除,那么我如何在 Linux Batch 池上实现对证书的引用?Linux 版 Key Vault VM 扩展让你可以指定
certificateStoreLocation
,它是存储证书的位置的绝对路径。 Key Vault VM 扩展会将安装的证书的范围限定在指定位置,仅具有超级用户(根)特权。 你需要确保任务默认以提升的权限运行以访问这些证书,或将证书直接复制到可访问的目录和/或调整证书文件的适当文件模式。 可以将此类命令作为提升的启动任务或作业准备任务的一部分运行。如何安装不包含私钥的
.cer
文件?Key Vault 不认为这些文件是特权文件,因为它们不包含私钥信息。 可以使用以下任一方法安装
.cer
文件。 对关联的用户分配的托管标识使用具有适当访问特权的 Key Vault 机密,并将.cer
文件提取为要安装的启动任务的一部分。 或者,将.cer
文件存储为 Azure 存储 Blob,并在要安装的启动任务中作为批处理资源文件进行引用。如何访问任务级非管理员自动用户池标识的 Key Vault 扩展安装的证书?
任务级自动用户是按需创建的,无法预定义以指定到 Key Vault VM 扩展中的
accounts
属性内。 你需要一个自定义过程,用于将所需的证书适当地导出到通常可访问的存储或 ACL 中,供任务级自动用户访问。在哪里可以找到使用 Azure Key Vault 的最佳做法?
请参阅 Azure Key Vault 最佳做法。
后续步骤
有关详细信息,请参阅 Key Vault 证书访问控制。 若要详细了解与此迁移相关的 Batch 功能,请参阅 Azure Batch 池扩展和 Azure Batch 池托管标识。