简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

VDS 组件和权限

提供者

AVD 和 VDS 安全实体和服务

Azure Virtual Desktop ( AVD )需要 Azure AD 和本地 Active Directory 中的安全帐户和组件来执行自动化操作。NetApp 的虚拟桌面服务( Virtual Desktop Service , VDS )可在部署过程中创建组件和安全设置,以使管理员能够控制 AVD 环境。本文档介绍了这两种环境中的相关 VDS 帐户,组件和安全设置。

部署自动化流程的组件和权限主要与最终部署的环境的组件不同。因此,本文分为两个主要部分:部署自动化部分和已部署环境部分。

宽度 = 75%

AVD 部署自动化组件和权限

VDS 部署利用多个 Azure 和 NetApp 组件以及安全权限来实施部署和工作空间。

VDS 部署服务

企业级应用程序

VDS 利用租户 Azure AD 域中的企业级应用程序和应用程序注册。企业应用程序是从 Azure AD 实例安全上下文中调用 Azure Resource Manager , Azure 图形和(如果使用 AVD 秋季版本) AVD API 端点的管道,并使用授予关联服务主体的委派角色和权限。根据租户通过 VDS 获得的 AVD 服务的初始化状态,可以创建应用程序注册。

为了能够创建和管理这些 VM , VDS 会在 Azure 订阅中创建多个支持组件:

云工作空间

这是企业级应用程序管理员最初授予的许可,并在 VDS 设置向导的部署过程中使用。

在 VDS 设置过程中, Cloud Workspace Enterprise 应用程序会请求一组特定的权限。这些权限包括:

  • 以登录用户身份访问目录(已委派)

  • 读写目录数据(已委派)

  • 登录并读取用户配置文件(已委派)

  • 对用户进行签名(已委派)

  • 查看用户的基本配置文件(已委派)

  • 以组织用户身份访问 Azure 服务管理(已委派)

云工作空间 API

处理 Azure PaaS 功能的常规管理调用。Azure PaaS 功能的示例包括 Azure Compute , Azure Backup , Azure Files 等。此服务主体要求在初始部署期间拥有目标 Azure 订阅的所有者权限,并要求为持续管理提供贡献者权限(注: 使用 Azure Files 需要订阅所有者权限才能为 Azure 文件对象设置每个用户的权限。

在 VDS 设置过程中, Cloud Workspace API Enterprise 应用程序会请求一组特定的权限。这些权限包括:

  • 订阅贡献者(如果使用 Azure 文件,则为订阅所有者)

  • Azure AD 图形

    • 读取和写入所有应用程序(应用程序)

    • 管理此应用程序创建或拥有的应用程序(应用程序)

    • 读写设备(应用程序)

    • 以登录用户身份访问目录(已委派)

    • 读取目录数据(应用程序)

    • 读取目录数据(已委派)

    • 读写目录数据(应用程序)

    • 读写目录数据(已委派)

    • 读取和写入域(应用程序)

    • 读取所有组(已委派)

    • 读取和写入所有组(已委派)

    • 读取所有隐藏的成员资格(应用程序)

    • 读取隐藏的成员资格(已委派)

    • 登录并读取用户配置文件(已委派)

    • 读取所有用户的完整配置文件(已委派)

    • 读取所有用户的基本配置文件(已委派)

  • Azure 服务管理

    • 以组织用户身份访问 Azure 服务管理(已委派)

NetApp VDS

NetApp VDS 组件可通过 VDS 控制平面来自动部署和配置 AVD 角色,服务和资源。

自定义角色

创建自动化贡献者角色的目的是,通过特权最少的方法来促进部署。此角色允许 CMGR1 虚拟机访问 Azure 自动化帐户。

自动化帐户

自动化帐户会在部署期间创建,并且是配置过程中所需的组件。Automation 帐户包含变量,凭据,模块和所需状态配置,并引用密钥存储。

所需状态配置

这是用于构建 CMGR1 配置的方法。配置文件会下载到虚拟机中,并通过虚拟机上的本地 Configuration Manager 应用。配置要素的示例包括:

  • 安装 Windows 功能

  • 正在安装软件

  • 正在应用软件配置

  • 确保应用正确的权限集

  • 应用 Let 的加密证书

  • 确保 DNS 记录正确无误

  • 确保已将 CMGR1 加入此域

模块:

  • ActiveDirectoryDsc :部署和配置 Active Directory 所需的状态配置资源。通过这些资源,您可以配置新域,子域和高可用性域控制器,建立跨域信任并管理用户,组和 OU 。

  • AZ 帐户: Microsoft 提供的一个模块,用于管理 Azure 模块的凭据和通用配置元素

  • AZ-Automation : Microsoft 为 Azure Automation 命令集提供了一个模块

  • Az.Compute:A Microsoft 为 Azure 计算命令小程序提供了模块

  • AZ-KeyVault : Microsoft 为 Azure Key Vault 命令集提供的模块

  • AZ 资源: Microsoft 为 Azure Resource Manager 命令集提供的模块

  • cChoca :使用 chocolatey 下载和安装软件包所需的状态配置资源

  • cjAz :此 NetApp 创建的模块可为 Azure 自动化模块提供自动化工具

  • cjAzACS :此 NetApp 创建的模块包含在用户环境中运行的环境自动化功能和 PowerShell 进程。

  • cjAzBuild :此 NetApp 创建的模块包含在系统环境中运行的构建和维护自动化以及 PowerShell 流程。

  • cNtfsAccessControl : NTFS 访问控制管理所需的状态配置资源

  • ComputerManagementDsc :所需的状态配置资源,用于执行计算机管理任务,例如加入域和计划任务,以及配置虚拟内存,事件日志,时区和电源设置等项。

  • cUserRightsAssignment :允许管理用户权限(例如登录权限和特权)的所需状态配置资源

  • NetworkingDsc :网络所需的状态配置资源

  • xCertificate :用于简化 Windows Server 上证书管理的所需状态配置资源。

  • xDnsServer :用于配置和管理 Windows Server DNS 服务器的所需状态配置资源

  • xNetworking :与网络连接相关的所需状态配置资源。

  • "xRemoteDesktopAdmin":此模块利用一个存储库,其中包含在本地或远程计算机上配置远程桌面设置和 Windows 防火墙所需的状态配置资源。

  • xRemoteDesktopSessionHost :所需的状态配置资源( xRDSessionDeployment , xRDSessionCollection , xRDSessionCollectionConfiguration 和 xRDRemoteApp ),用于创建和配置远程桌面会话主机( RDSH )实例

  • xSmbShare :配置和管理 SMB 共享所需的状态配置资源

  • xSystemSecurity :用于管理 UAC 和 IE Esc 的所需状态配置资源

注 Azure Virtual Desktop 还会安装 Azure 组件,包括适用于 Azure Virtual Desktop 和 Azure Virtual Desktop Client , AVD 租户, AVD 主机池, AVD 应用程序组和 AVD 注册虚拟机的企业级应用程序和应用程序注册。虽然 VDS Automation 组件负责管理这些组件,但 AVD 会控制其默认配置和属性集,因此,有关详细信息,请参见 AVD 文档。

混合 AD 组件

为了便于与现有的公有云中运行的现有 AD 进行集成,现有 AD 环境还需要其他组件和权限。

域控制器

现有域控制器可通过 AD Connect 和 / 或站点到站点 VPN (或 Azure ExpressRoute )集成到 AVD 部署中。

AD Connect

为了便于通过 AVD PaaS 服务成功进行用户身份验证,可以使用 AD 连接将域控制器与 Azure AD 同步。

安全组

VDS 使用名为 CW-Infrastructure 的 Active Directory 安全组来提供自动执行域加入和 GPO 策略附件等与 Active Directory 相关的任务所需的权限。

服务帐户

VDS 使用名为 CloudworkspaceSVC 的 Active Directory 服务帐户,该帐户用作 VDS Windows 服务和 IIS 应用程序服务的标识。此帐户为非交互式帐户(不允许 RDP 登录),是 CW-Infrastructure 帐户的主要成员

VPN 或 ExpressRoute

可以使用站点到站点 VPN 或 Azure ExpressRoute 直接将 Azure VM 加入现有域。这是一种可选配置,可在项目要求需要时使用。

本地 AD 权限委派

NetApp 提供了一种可简化混合 AD 流程的可选工具。如果使用 NetApp 的可选工具, IT 必须:

  • 在服务器操作系统上运行,而不是在工作站操作系统上运行

  • 在加入域或作为域控制器的服务器上运行

  • 在运行此工具的服务器(如果未在域控制器上运行)和域控制器上安装 PowerShell 5.0 或更高版本

  • 由具有域管理员权限的用户运行,或者由具有本地管理员权限并能够提供域管理员凭据的用户运行(用于 RunA )

无论是手动创建还是通过 NetApp 的工具应用,所需权限均为:

  • CW-Infrastructure 组

    • Cloud Workspace Infrastructure ( * CW-Infrastructure* )安全组被授予对 Cloud Workspace OU 级别和所有后代对象的完全控制权限

    • <deployment code>.cloudworkworkspace .app DNS Zone — CW-Infrastructure 组授予 Create儿童 , Delete儿童 , ListChildren’s , ReadProperty , DeleteTree , ExtendedRight , Delete , GenericWrite

    • DNS 服务器— CW-Infrastructure Group 授予 ReadProperty 和 GenericExecute 权限

    • 已创建 VM 的本地管理员访问( CMGR1 , AVD 会话 VM )(通过受管 AVD 系统上的组策略完成)

  • CW-CVMGRAccess 组此组为所有模板,单个服务器,新的原生 Active Directory 模板利用内置的组服务器操作员远程桌面用户和网络配置操作员向 CMGR1 提供本地管理权限。

AVD 环境组件和权限

部署自动化流程完成后,持续使用和管理部署和工作空间需要一组不同的组件和权限,如下所述。上述的许多组件和权限仍然相关,但本节重点介绍了如何定义已部署的的结构。

VDS 部署和工作空间的组件可以分为多个逻辑类别:

  • 最终用户客户端

  • VDS 控制面板组件

  • Microsoft Azure AVD-PaaS 组件

  • VDS 平台组件

  • Azure 租户中的 VDS 工作空间组件

  • 混合 AD 组件

最终用户客户端

用户可以连接到其 AVD 桌面和 / 或各种端点类型。Microsoft 已发布适用于 Windows , macOS , Android 和 iOS 的客户端应用程序。此外,还可以使用 Web 客户端进行无客户端访问。

有些 Linux 瘦客户端供应商已经发布了适用于 AVD 的端点客户端。这些信息在中列出 https://docs.microsoft.com/en-us/azure/virtual-desktop/linux-overview

VDS 控制面板组件

VDS REST API

VDS 基于完整记录的 REST API 构建,因此 Web 应用程序中的所有可用操作也可通过 API 来执行。API 文档如下所示: https://api.cloudworkspace.com/5.4/swagger/ui/index#

VDS Web 应用程序

VDS 管理员可以通过 VDS Web 应用程序与 ADS 应用程序进行交互。此 Web 门户位于: https://manage.cloudworkspace.com

控制平面数据库

VDS 数据和设置存储在 NetApp 托管和管理的控制平面 SQL 数据库中。

VDS 通信

Azure 租户组件

VDS 部署自动化会创建一个 Azure 资源组来包含其他 AVD 组件,包括 VM ,网络子网,网络安全组以及 Azure 文件容器或 Azure NetApp Files 容量池。注意—默认情况下为单个资源组,但如果需要, VDS 可通过工具在其他资源组中创建资源。

Microsoft Azure AVD-PaaS 组件

AVD REST API

Microsoft AVD 可通过 API 进行管理。VDS 广泛利用这些 API 来自动化和管理 AVD 环境。文档位于: https://docs.microsoft.com/en-us/rest/api/desktopvirtualization/

会话代理

代理将确定为用户授权的资源,并编排用户与网关的连接。

Azure 诊断

Azure 诊断专为支持 AVD 部署而构建。

AVD Web 客户端

Microsoft 提供了一个 Web 客户端,用户无需在本地安装客户端即可连接到其 AVD 资源。

会话网关

本地安装的 RD 客户端连接到网关,以便安全地与 AVD 环境进行通信。

VDS 平台组件

CMGR1

CMWGR1 是每个部署的 VDS 控制 VM 。默认情况下,它会在目标 Azure 订阅中创建为 Windows 2019 Server VM 。有关安装在 CMGR1 上的 VDS 和第三方组件的列表,请参见 " 本地部署 " 一节。

AVD 要求 AVD VM 加入 Active Directory 域。为了便于执行此过程并提供用于管理 VDS 环境的自动化工具,上述的 CMGR1 VM 上安装了多个组件,并向 AD 实例添加了多个组件。这些组件包括:

  • * Windows 服务 * — VDS 使用 Windows 服务在部署中执行自动化和管理操作:

    • * 连续运行自动化服务 * 是在每个 AVD 部署中部署在 CMGR1 上的一项 Windows 服务,用于在环境中执行许多面向用户的自动化任务。此服务在 * CloudWorkspaceSVc* AD 帐户下运行。

    • * 四路虚拟机自动化服务 * 是在每个 AVD 部署中部署在 CMGR1 上的一项 Windows 服务,用于执行虚拟机管理功能。此服务在 * CloudWorkspaceSVc* AD 帐户下运行。

    • CW Agent Service 是一种 Windows 服务,部署在 VDS 管理下的每个虚拟机上,包括 CMGR1 。此服务在虚拟机上的 * 本地系统 * 环境下运行。

    • * 在每个 AVD 部署中, WCMGR1 上安装了一个基于 IIS 应用程序池的侦听器。此操作将处理来自全局控制平台的入站请求,并在 * CloudWorkspaceSVC/ AD 帐户下运行。

  • * SQL Server 2017 Express* — VDS 在 CMGR1 VM 上创建一个 SQL Server Express 实例,用于管理自动化组件生成的元数据。

  • * 互联网信息服务( Internet Information Services , IIS ) * —在 CMGR1 上启用了 IIS 以托管 CWManagerX 和 CWApps IIS 应用程序(仅当启用了 RDS RemoteApp 功能时)。VDS 需要使用 IIS 7.5 或更高版本。

  • * HTML5 Portal (可选) * — VDS 安装了 Spark 网关服务,以便在部署中和从 VDS Web 应用程序对 VM 进行 HTML5 访问。这是一个基于 Java 的应用程序,如果不需要使用此访问方法,可以禁用并删除此应用程序。

  • * RD 网关(可选) * — VDS 使 CMGR1 上的 RD 网关角色能够为基于 RDS 收集的资源池提供 RDP 访问。如果仅需要 AVD 反向连接访问,则可以禁用 / 卸载此角色。

  • * RD Web (可选) * — VDS 启用 RD Web 角色并创建 CWApps IIS Web 应用程序。如果只需要 AVD 访问,则可以禁用此角色。

  • * DC Config* —一种 Windows 应用程序,用于执行部署和 VDS 站点专用配置以及高级配置任务。

  • * 测试 VDC 工具 * —一种 Windows 应用程序,支持直接执行虚拟机任务和客户端级别配置更改,在极少数情况下需要修改 API 或 Web 应用程序任务以进行故障排除。

  • * 我们来加密通配符证书(可选) * —由 VDS 创建和管理—所有需要通过 TLS 传输 HTTPS 流量的虚拟机每晚都使用证书进行更新。续订也通过自动任务来处理(证书为 90 天,因此不久将开始续订)。如果需要,客户可以提供自己的通配符证书。VDS 还需要多个 Active Directory 组件来支持自动化任务。设计目的是利用最少数量的 AD 组件和权限添加,同时仍支持环境的自动化管理。这些组件包括:

  • * 云工作空间组织单位( OU ) * —此组织单位将充当所需子组件的主 AD 容器。CW-Infrastructure 和客户端 DHP 访问组的权限将在此级别及其子组件进行设置。有关在此 OU 中创建的子 OU ,请参见附录 A 。

  • * 云工作空间基础架构组( CW-Infrastructure ) * 是在本地 AD 中创建的一个安全组,用于将所需的委派权限分配给 VDS 服务帐户( * CloudWorkspaceSVC* )

  • * 客户端 DHP 访问组( ClientDHPAccess ) * 是在本地 AD 中创建的一个安全组,可通过 VDS 控制公司共享数据,用户主目录数据和配置文件数据所在的位置。

  • * CloudWorkspaceSVC/ 服务帐户( Cloud Workspace Infrastructure Group 成员)

  • 部署代码 >.cloudworkworkspace .app 域 * 的 * DNS 分区(此域管理会话主机 VM 的自动创建 DNS 名称)—由 Deploy 配置创建。

  • 链接到云工作空间组织单位的各个子 OU 的 * NetApp 专用 GPO * 。这些 GPO 包括:

    • * 云工作空间 GPO (链接到云工作空间 OU ) * —定义 CW-Infrastructure 组成员的访问协议和方法。此外,还会将该组添加到 AVD 会话主机上的本地管理员组。

    • * 云工作空间防火墙 GPO * (链接到专用客户服务器,远程桌面和暂存 OU )—创建一个策略,用于确保与平台服务器的会话主机连接并将其隔离。

    • * 云工作空间 RDS* (专用客户服务器,远程桌面和暂存 OU )—会话质量,可靠性和断开连接超时限制的策略集限制。对于 RDS 会话,定义了 TS 许可服务器值。

    • * 云工作空间公司 * (默认情况下不链接)—可选的 GPO ,用于通过阻止访问管理工具和区域来 " 锁定 " 用户会话 / 工作空间。可以通过链接 / 启用来提供受限活动工作空间。

注 可以根据请求提供默认组策略设置配置。

VDS 工作空间组件

数据层
Azure NetApp Files

如果您在 VDS 设置中选择 Azure NetApp Files 作为数据层选项,则会创建 Azure NetApp Files 容量池和关联的卷。卷托管用户配置文件(通过 FSLogix 容器),用户个人文件夹和企业数据共享文件夹的共享归档存储。

Azure 文件

如果您在 CWS 设置中选择 Azure 文件作为数据层选项,则会创建 Azure 文件共享及其关联的 Azure 存储帐户。Azure 文件共享托管用户配置文件(通过 FSLogix 容器),用户个人文件夹和企业数据共享文件夹的共享归档存储。

具有受管磁盘的文件服务器

如果您在 VDS 设置中选择文件服务器作为数据层选项,则会使用受管磁盘创建 Windows Server VM 。文件服务器托管用户配置文件(通过 FSLogix 容器),用户个人文件夹和企业数据共享文件夹的共享归档存储。

Azure 网络
Azure 虚拟网络

VDS 创建 Azure 虚拟网络并支持子网。VDS 要求为 CMGR1 , AVD 主机和 Azure 域控制器使用单独的子网,并在子网之间建立对等关系。请注意, AD 控制器子网通常已存在,因此 VDS 部署的子网需要与现有子网建立对等关系。

网络安全组

系统会创建一个网络安全组来控制对 CMGR1 虚拟机的访问。

  • 租户:包含用于会话主机和数据 VM 的 IP 地址

  • 服务:包含供 PaaS 服务(例如 Azure NetApp Files )使用的 IP 地址

  • 平台:包含用作 NetApp 平台 VM ( CMGR1 和任何网关服务器)的 IP 地址

  • 目录:包含用作 Active Directory VM 的 IP 地址

Azure AD

VDS 自动化和流程编排会将虚拟机部署到目标 Active Directory 实例中,然后将这些虚拟机加入指定的主机池。AVD 虚拟机在计算机级别由 AD 结构(组织单位,组策略,本地计算机管理员权限等)和 AVD 结构中的成员资格(主机池,工作空间应用程序组成员资格)进行管理,这些结构由 Azure AD 实体和权限管理。VDS 通过使用 VDS Enterprise 应用程序 /Azure 服务主体执行 AVD 操作以及使用本地 AD 服务帐户( CloudWorkspaceSVC )执行本地 AD 和本地计算机操作来处理此 " 双重控制 " 环境。

创建 AVD 虚拟机并将其添加到 AVD 主机池的具体步骤包括:

  • 从 Azure 创建虚拟机模板对与 AVD 关联的 Azure 订阅可见(使用 Azure 服务主体权限)

  • 使用 VDS 部署期间指定的 Azure vNet 检查 / 配置新虚拟机的 DNS 地址(需要本地 AD 权限(所有权限均委派给上述 CW-Infrastructure )使用标准 VDS 命名方案 * _ { companycode } TS { sequencenumber } _* 设置虚拟机名称。示例: XYZTS3 。(需要本地 AD 权限(置于我们在内部创建的 OU 结构中)(远程桌面 / 公司代码 / 共享)(与上述权限 / 组问题描述相同)

  • 将虚拟机放置在指定的 Active Directory 组织单位( AD )中(需要向 OU 结构委派权限(在上述手动过程中指定))

  • 使用新计算机名称 /IP 地址更新内部 AD DNS 目录(需要本地 AD 权限)

  • 将新虚拟机加入本地 AD 域(需要本地 AD 权限)

  • 使用新的服务器信息更新 VDS 本地数据库(不需要其他权限)

  • 将 VM 加入指定的 AVD 主机池(需要 AVD 服务主体权限)

  • 将 chocolatey 组件安装到新虚拟机(需要为 * CloudWorkspaceSVS* 帐户提供本地计算机管理权限)

  • 为 AVD 实例安装 FSLogix 组件(需要对本地 AD 中的 AVD OU 具有本地计算机管理权限)

  • 更新 AD Windows 防火墙 GPO 以允许流量传输到新虚拟机(需要为与 AVD OU 及其关联虚拟机关联的策略创建 / 修改 AD GPO 。需要在本地 AD 的 AVD OU 上创建 / 修改 AD GPO 策略。如果不通过 VDS 管理 VM ,则可以在安装后关闭。)

  • 在新虚拟机上设置 " 允许新连接 " 标志(需要 Azure 服务主体权限)

将 VM 加入 Azure AD

Azure 租户中的虚拟机需要加入域,但 VM 无法直接加入 Azure AD 。因此, VDS 会在 VDS 平台中部署域控制器角色,然后使用 AD Connect 将该 DC 与 Azure AD 同步。其他配置选项包括使用 Azure AD 域服务( AADDS ),使用 AD Connect 同步到混合 DC (内部或其他位置的 VM ),或者通过站点到站点 VPN 或 Azure ExpressRoute 将 VM 直接加入到混合 DC 。

AVD 主机池

主机池是 Azure Virtual Desktop 环境中一个或多个相同虚拟机( VM )的集合。每个主机池可以包含一个应用程序组,用户可以像在物理桌面上一样与该应用程序组进行交互。

会话主机

在任何主机池中,都是一个或多个相同的虚拟机。这些连接到此主机池的用户会话由 AVD 负载平衡器服务进行负载平衡。

应用程序组

默认情况下, Desktop Users 应用程序组会在部署时创建。此应用程序组中的所有用户均可获得完整的 Windows 桌面体验。此外,还可以创建应用程序组来提供流式应用程序服务。

日志分析工作空间

此时将创建日志分析工作空间,用于存储部署和 DSC 进程以及其他服务的日志。此功能可以在部署后删除,但不建议这样做,因为它可以启用其他功能。默认情况下,日志保留 30 天,不会产生任何保留费用。

可用性集

在部署过程中设置了可用性集,以便在故障域之间隔离共享 VM (共享 AVD 主机池, RDS 资源池)。如果需要,可以在部署后删除此选项,但会禁用为共享 VM 提供额外容错的选项。

Azure 恢复存储

恢复服务存储是由 VDS Automation 在部署期间创建的。默认情况下,此功能当前处于激活状态,因为在部署过程中, Azure Backup 会应用于 CMGR1 。如果需要,可以停用并删除此设置,但如果在环境中启用了 Azure Backup ,则会重新创建此设置。

Azure 密钥存储

Azure 密钥存储在部署过程中创建,用于存储 Azure 自动化帐户在部署期间使用的证书, API 密钥和凭据。

附录 A —默认云工作空间组织单位结构

  • 云工作空间

    • 云工作空间公司

    • 云工作空间服务器

      • 专用客户服务器

      • 基础架构

  • CWMGR 服务器

  • 网关服务器

  • FTP 服务器

  • 模板 VM

    • 远程桌面

    • 暂存

      • 云工作空间服务帐户

    • 客户端服务帐户

    • 基础架构服务帐户

      • Cloud Workspace 技术用户

    • 技术 3 技术人员