规划和部署指南

适用于混合云和多云的 Azure Arc 登陆区域加速器提供了一套完整的指导,供你在规划已启用 Azure Arc 的服务器部署时参考。 本部分包含与安全相关的特选内容。

资源层次结构和继承的访问权限

选择连接计算机的订阅和资源组将影响组织中的哪些用户和帐户可以从 Azure 查看和管理计算机。 通常,应该根据需要访问服务器的帐户组来组织服务器。 如果有两个团队分别管理两组单独的服务器,而他们又不应该管理对方的计算机,则应使用两个资源组,并控制对资源组中服务器的访问。

加入凭据

将服务器连接到 Azure Arc 时,需要使用加入凭据来授权计算机在 Azure 订阅中创建资源。 提供凭据的方式有三种:

  1. 交互式登录:使用本地 Web 浏览器(仅限 Windows)或可在任何可访问 Internet 的计算机上输入的设备登录代码

  2. 服务主体:可用于通过脚本安装代理的专用帐户。 服务主体由唯一的应用程序 ID 和纯文本机密或证书组成。 如果选择使用服务主体,则应使用证书而不是机密,因为可以使用 Microsoft Entra 条件访问策略对其进行控制。 请记得保护对服务主体机密/证书的访问并定期轮换,以最大程度地降低凭据泄露的风险。

  3. 访问令牌:生存期较短,可通过其他凭据获得

无论选择使用哪种类型的凭据,最重要的是确保它仅具有将计算机加入 Azure Arc 所需的权限,而没有任何额外的权限。 Azure Connected Machine 加入角色专为加入凭据而设计,仅包含在 Azure 中创建和读取已启用 Azure Arc 的服务器资源所需的权限。 还应该将角色分配范围限制为仅加入服务器所需的资源组或订阅。

仅在服务器上运行 azcmagent connect 步骤时才需要加入凭据。 连接服务器后,就不再需要它。 如果加入凭据过期或被删除,服务器将继续连接到 Azure。

如果恶意行动者获得了加入凭据的访问权限,他们可以使用该凭据将组织外部的服务器加入到订阅/资源组中的 Azure Arc。 可以使用专用终结点来限制网络内对 Azure Arc 的访问,从而防范此类攻击。

保护加入脚本中的机密

加入脚本包含将服务器连接到 Azure 所需的所有信息。 这包括在服务器上下载、安装和配置 Azure Connected Machine 代理的步骤。 它还包括用于以非交互方式将该服务器连接到 Azure 的加入凭据。 保护加入凭据非常重要,这样它才不会被意外捕获到日志中,最终落入不法分子手中。

对于生产部署,通常使用自动化工具(如 Microsoft Configuration Manager、红帽 Ansible 或组策略)来协调加入脚本。 检查自动化工具,看看它是否有办法保护安装脚本中使用的机密。 如果没有,请考虑将加入脚本参数移动到专用配置文件中。 这可以防止分析机密并直接在命令行中记录机密。 组策略加入指南包含加密配置文件的额外步骤,以便只有计算机帐户可以解密,而用户或组织外部的其他人则无法解密。

如果自动化工具将配置文件复制到服务器上,请确保它在完成复制后还会清理文件,这样机密的保留时间就不会超过所需的时间。

此外,与所有 Azure 资源一样,已启用 Azure Arc 的服务器的标记也以纯文本形式存储。 不要在标记中添加敏感信息。

代理更新

Azure Connected Machine 代理的新版本通常每月发布。 更新的可用时间没有确切计划,但应每月检查并应用更新。 请参阅所有新版本的列表,包括其中的具体更改。 大多数更新包括安全性、性能 和质量修复。 有些更新还包括新特性和功能。 需要使用修补程序来解决版本中的问题时,它将作为新的代理版本发布,并通过与常规代理版本相同的方式提供。

Azure Connected Machine 代理不会自行更新。 必须使用首选的更新管理工具来更新它。 对于 Windows 计算机,更新通过 Microsoft 更新提供。 独立服务器应选择加入 Microsoft 更新(使用“接收其他 Azure 产品的更新”选项)。 如果你的组织使用 Windows Server Update Services 在本地缓存和批准更新,则 WSUS 管理员必须同步并批准 Azure Connected Machine 代理产品的更新。

Linux 更新会发布到 packages.microsoft.com。 包管理软件(apt、yum、dnf、zypper 等)应与其他系统包一起显示“azcmagent”更新。 详细了解如何升级 Linux 代理

Azure 建议尽可能使用最新的代理版本。 如果维护时段频率较低,Azure 支持过去 12 个月内发布的所有代理版本。 但是,由于代理更新包含安全修复,因此你应该尽可能频繁地更新。

如果你正在查找修补程序管理工具来协调 Windows 和 Linux 上 Azure Connected Machine 代理的更新,请考虑使用 Azure 更新管理器。

扩展更新

自动扩展更新

默认情况下,部署到已启用 Azure Arc 的服务器的每个扩展都启用了自动扩展升级。 如果扩展发布者支持此功能,则扩展的新版本将在新版本发布后 60 天内自动安装。 自动扩展升级遵循安全部署实践,这意味着一次只会更新少量扩展。 扩展将在各个区域和订阅中缓慢持续推出,直到每个扩展都已更新。

无法对自动扩展升级进行精细控制。 将始终升级到最新版本的扩展,并且无法选择进行升级的时间。 扩展管理器具有内置资源调控功能,可确保扩展升级不会消耗过多系统 CPU,也不会在升级过程中干扰工作负荷。

如果你不想使用扩展的自动升级功能,可以使用 Azure 门户、CLI 或 PowerShell 按扩展、按服务器禁用自动升级功能。

手动扩展更新

对于不支持自动升级或禁用了自动升级的扩展,可以使用 Azure 门户、CLI 或 PowerShell 将扩展升级到最新版本。 CLI 和 PowerShell 命令还支持降级扩展,以方便你还原到旧版本。

使用磁盘加密

Azure Connected Machine 代理使用公钥身份验证与 Azure 服务进行通信。 将服务器加入 Azure Arc 后,私钥将保存到磁盘,并在代理与 Azure 通信时使用。 如果被盗,则可以在另一台服务器上使用私钥与服务进行通信,让该服务器充当原始服务器。 这包括获取对系统分配的标识以及标识有权访问的任何资源的访问权限。 私钥文件受到保护,只允许 himds 帐户访问读取它。 为了防止脱机攻击,我们强烈建议在服务器的操作系统卷上使用完整磁盘加密(例如 BitLocker、dm-crypt 等)。