配置和远程访问
本文介绍 Azure 计算机配置的基础知识,这是一种符合性报告和配置工具,可大规模检查和选择性地修正安全性和其他设置。 本文还介绍了用于 Azure Connected Machine 代理与 Azure 之间的通信的 Azure Arc 连接平台。
计算机配置基础知识
Azure 计算机配置是基于 PowerShell Desired State Configuration 的符合性报告和配置工具。 它可以帮助你大规模检查计算机上的安全和其他设置,并根据需要修正它们(如果它们偏离已批准状态)。 Azure 将提供其自己的内置计算机配置策略供你使用,你也可以创作自己的策略来检查计算机上的任何条件。
计算机配置策略在 Windows 上的本地系统上下文或 Linux 上的根目录中运行,因此可以访问任何系统设置或资源。 应查看组织中哪些帐户有权分配 Azure 策略或 Azure 来宾分配(表示计算机配置的 Azure 资源),并确保所有这些帐户都受信任。
禁用计算机配置代理
如果不打算使用计算机配置策略,可以使用以下命令禁用计算机配置代理(在每台计算机的本地运行):
azcmagent config set guestconfiguration.enabled false
代理模式
Azure Connected Machine 代理有两种可能模式:
完整模式,允许使用代理功能的默认模式。
监视模式,该模式将应用 Azure 托管的扩展允许列表、禁用远程连接以及禁用计算机配置代理。
如果仅将 Arc 用于监视目的,通过将代理设置为“监视”模式,可以轻松地将代理限制为仅提供使用 Azure Monitor 所需的功能。 可以使用以下命令配置代理模式(在每台计算机上本地运行):
azcmagent config set config.mode monitor
Azure Arc 连接平台
Azure Arc 连接平台是基于 Web 套接字的体验,允许 Azure Connected Machine 代理与 Azure 之间的实时通信。 这使交互式远程访问方案无需从管理客户端到服务器的直接视线即可访问服务器。
连接平台支持两种方案:
- 通过 SSH 访问已启用 Azure Arc 的服务器
- 用于启用 Azure Arc 的服务器的 Windows Admin Center
对于这两种情况,管理客户端(SSH 客户端或 Web 浏览器)会与 Azure Arc 连接服务通信,该服务随后将信息中继到 Azure Connected Machine 代理以及从 Azure Connected Machine 代理传递信息。
默认情况下连接访问是禁用的,启用连接访问需要经过三个步骤:
在 Azure 中为已启用 Azure Arc 的服务器创建连接终结点。 连接终结点不是具有 IP 地址的真实终结点。 它只是一种说明允许通过 Azure 访问此服务器的方式,并将提供 API 来检索管理客户端的连接详细信息。
配置连接终结点以允许特定的预期方案。 创建终结点并不意味着允许任何流量通过。 相反,你需要将其配置为“我们允许流量流向目标服务器上的此本地端口”。对于 SSH,这通常是 TCP 端口 22。 对于 WAC,则是 TCP 端口 6516。
将适当的 RBAC 角色分配给将使用此功能的帐户。 远程访问服务器需要其他角色分配。 常见角色(如 Azure Connected Machine 资源管理员、参与者和所有者)不会通过 Azure Arc 连接平台授予使用 SSH 或 WAC 的权限。 允许远程访问的角色包括:
- 虚拟机本地用户登录名(具有本地凭据的 SSH)
- 虚拟机用户登录(具有 Microsoft Entra ID 的 SSH,标准用户访问权限)
- 虚拟机管理员登录名(具有 Microsoft Entra ID 的 SSH,完全管理员访问权限)
- Windows Admin Center 管理员登录名(具有 Microsoft Entra ID 身份验证的 WAC)
提示
请考虑使用 Microsoft Entra Privileged Identity Management 为 IT 操作员提供对这些角色的即时访问权限。 这样,就能够使用最低特权方法来远程访问。
本地代理配置控制也可阻止远程访问,与 Azure 中的配置无关。
禁用远程访问
若要禁用对计算机的所有远程访问,请在每台计算机上运行以下命令:
azcmagent config set incomingconnections.enabled false
通过 SSH 访问已启用 Azure Arc 的服务器
通过 Azure Arc 连接平台进行 SSH 访问,可以帮助你避免直接通过防火墙打开 SSH 端口或要求 IT 操作员使用 VPN。 它还允许你使用 Entra ID 和 Azure RBAC 授予对 Linux 服务器的访问权限,从而减少分发和保护 SSH 密钥的管理开销。
当用户使用 SSH 和Microsoft Entra ID 身份验证进行连接时,将在服务器上创建一个临时帐户来代表他们管理该帐户。 该帐户以 Azure 中用户的 UPN 命名,以帮助审核在相应计算机上执行的操作。 如果用户具有“虚拟机管理员登录名”角色,则会将临时帐户创建为 sudoers 组的成员,这样它就可以提升级别来执行服务器上的管理任务。 否则,该帐户只是计算机上的标准用户。 如果将角色分配从用户更改为管理员,则更改最多可能需要 10 分钟才能生效。 用户必须断开任何活动的 SSH 会话,然后重新连接,才能看到本地用户账户上反映的更改。
当用户使用本地凭据(SSH 密钥或密码)连接时,他们会获得所提供账户信息的权限和组成员资格。
Windows 管理中心
Azure 门户中的 WAC 允许 Windows 用户查看和管理其 Windows Server,而无需通过远程桌面连接进行连接。 在 Azure 门户中使用 WAC 体验需要“Windows Admin Center 管理员登录”角色。 当用户打开 WAC 体验时,将使用 Azure 用户的 UPN 在 Windows Server 上创建虚拟帐户来标识它们。 此虚拟帐户是管理员组的成员,可以更改系统。 然后,用户在 WAC 中执行的操作将使用此虚拟帐户在本地服务器上执行。
对具有 WAC 中 PowerShell 或远程桌面体验的计算机的交互式访问目前不支持 Microsoft Entra ID 身份验证,并提示用户提供本地用户凭据。 这些凭据不存储在 Azure 中,仅用于建立 PowerShell 或远程桌面会话。