Google Cloud 虚拟化环境
Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops™ 服务)允许您在 Google Cloud 上预配和管理计算机。
先决条件
在开始将 VM 预配到 Google Cloud Platform (GCP) 之前,您必须确保满足以下先决条件。
-
Citrix 订阅必须包含对混合多云工作负载的支持。有关详细信息,请参阅比较 Citrix 订阅功能。
-
管理员帐户必须具有足够的权限才能创建主机连接、计算机目录和交付组。有关详细信息,请参阅配置委派管理。
-
确定一个 Google Cloud 项目,其中存储了与计算机目录关联的所有计算资源。它可以是现有项目,也可以是新项目。有关详细信息,请参阅Google Cloud 项目。
-
启用与 Citrix DaaS 集成所需的 Google Cloud API。有关详细信息,请参阅启用 Google Cloud API。
-
在 Google Cloud 中创建服务帐户并授予相应的权限。有关详细信息,请参阅配置和更新服务帐户。
-
下载 Citrix Cloud 服务帐户的密钥文件。有关详细信息,请参阅Citrix Cloud 服务帐户密钥。
-
虚拟机必须能够在没有公共 IP 地址的情况下访问 Google API。有关详细信息,请参阅启用专用 Google 访问权限。
Google Cloud 项目
Google Cloud 项目主要有两种类型:
-
预配项目:在这种情况下,当前管理员帐户拥有项目中预配的计算机。此项目也称为本地项目。
-
共享 VPC 项目:在此项目中,在预配项目中创建的计算机使用共享 VPC 项目中的 VPC。用于预配项目的管理员帐户在此项目中具有有限的权限,具体来说,仅具有使用 VPC 的权限。
服务端点 URL
您必须有权访问以下 URL:
-
https://oauth2.googleapis.com -
https://cloudresourcemanager.googleapis.com -
https://compute.googleapis.com -
https://storage.googleapis.com -
https://cloudbuild.googleapis.com
启用 Google Cloud API
要通过 Studio 使用 Google Cloud 功能,请在您的 Google Cloud 项目中启用以下 API:
-
计算引擎 API
-
云资源管理器 API
-
身份与访问管理 (IAM) API
-
Cloud Build 接口
在 Google Cloud 控制台中,完成以下步骤:
-
在左上角菜单中,选择 API 和服务 > 已启用的 API 和服务。
-
在已启用的 API 和服务屏幕上,确保 Compute Engine API 已启用。如果未启用,请按照以下步骤操作:
-
导航到API 和服务 > 库。
-
在搜索框中,键入 Compute Engine。
-
从搜索结果中,选择Compute Engine API。
-
在Compute Engine API页面上,选择启用。
-
-
启用云资源管理器 API。
-
导航到API 和服务 > 库。
-
在搜索框中,键入 Cloud Resource Manager。
-
从搜索结果中,选择Cloud Resource Manager API。
-
在Cloud Resource Manager API页面上,选择启用。API 的状态将显示。
-
-
同样,启用身份与访问管理 (IAM) API、Cloud Build API和云密钥管理服务 (KMS) API。
您还可以使用 Google Cloud Shell 启用 API。为此,请执行以下操作:
-
打开 Google 控制台并加载 Cloud Shell。
-
在 Cloud Shell 中运行以下四个命令:
-
启用计算服务:gcloud services enable compute.googleapis.com
-
启用云资源管理器服务:gcloud services enable cloudresourcemanager.googleapis.com
-
gcloud 服务 启用 iam.googleapis.com
-
gcloud 服务 启用 cloudbuild.googleapis.com
-
gcloud services enable cloudkms.googleapis.com
-
-
当 Cloud Shell 提示时,单击 Authorize。
配置和更新服务帐号
注意:
GCP 将在 April 29, 2024 之后对 Cloud Build Service 的默认行为和服务帐号的使用引入更改。有关详细信息,请参阅 Cloud Build 服务帐号更改。您在 April 29, 2024 之前启用了 Cloud Build API 的现有 Google 项目不受此更改的影响。但是,如果您希望在 April 29 之后保留现有的 Cloud Build Service 行为,则可以在启用 Cloud Build API 之前创建或应用组织策略以禁用约束实施。因此,以下内容分为两部分:April 29, 2024 之前 和 April 29, 2024 之后。如果您设置了新的组织策略,请按照 April 29, 2024 之前 部分操作。
April 29, 2024 之前
Citrix Cloud™ 在 Google Cloud 项目中使用三个单独的服务帐号:
-
Citrix Cloud 服务帐号:此服务帐号使 Citrix Cloud 能够访问 Google 项目、预配和管理计算机。此服务帐号使用 Google Cloud 生成的 密钥 对 Google Cloud 进行身份验证。您必须按照此处所述手动创建此服务帐号。有关详细信息,请参阅 创建 Citrix Cloud 服务帐号。您可以使用电子邮件地址识别此服务帐号。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com。 -
Cloud Build 服务帐号:启用 启用 Google Cloud API 中提及的所有 API 后,此服务帐号会自动预配。要查看所有自动创建的服务帐号,请在 Google Cloud 控制台中导航到 IAM 和管理 > IAM,然后选中 包括 Google 提供的角色授予 复选框。您可以通过以 项目 ID 和单词 cloudbuild 开头的电子邮件地址识别此服务帐号。例如,
<project-id>@cloudbuild.gserviceaccount.com验证服务帐号是否已获得以下角色。如果必须添加角色,请按照向 Cloud Build 服务帐号添加角色中概述的步骤操作。-
Cloud Build 服务帐号
-
Compute 实例管理员
-
服务帐号用户
-
-
Cloud Compute 服务帐号:一旦 Compute API 激活,Google Cloud 就会将此服务帐号添加到在 Google Cloud 中创建的实例。此帐号具有 IAM 基本编辑者角色以执行操作。但是,如果您删除默认权限以进行更精细的控制,则必须添加一个需要以下权限的 Storage Admin 角色:
-
resourcemanager.projects.get
-
storage.objects.create
-
storage.objects.get
-
storage.objects.list
-
您可以通过以 Project ID 和单词 compute 开头的电子邮件地址来识别此服务帐号。例如,
<project-id>-compute@developer.gserviceaccount.com。
创建 Citrix Cloud 服务帐号
要创建 Citrix Cloud 服务帐号,请执行以下步骤:
-
在 Google Cloud 控制台中,导航到 IAM & Admin > Service accounts。
-
在 Service accounts 页面上,选择 CREATE SERVICE ACCOUNT。
-
在 Create service account 页面上,输入所需信息,然后选择 CREATE AND CONTINUE。
-
在“授予此服务帐号项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需的角色。如果要添加更多角色,请单击“+添加其他角色”。每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
-
计算管理员
-
存储管理员
-
Cloud Build 编辑者
-
服务帐号用户
-
云数据存储用户
-
Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
注意:启用所有 API 以获取创建新服务帐户时可用的完整角色列表。 -
-
单击“继续”
-
在“授予用户对此服务帐户的访问权限”页面上,添加用户或组以授予他们在此服务帐户中执行操作的权限。
-
单击“完成”。
-
导航到 IAM 主控制台。
-
识别已创建的服务帐户。
-
验证角色是否已成功分配。
注意事项:
创建服务帐户时,请考虑以下事项:
-
“授予此服务帐户对项目的访问权限”和“授予用户对此服务帐户的访问权限”步骤是可选的。如果选择跳过这些可选配置步骤,则新创建的服务帐户不会显示在“IAM 和管理 > IAM”页面中。
-
要显示与服务帐户关联的角色,请添加角色而不跳过可选步骤。此过程可确保角色显示在已配置的服务帐户中。
Citrix Cloud 服务帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud 服务帐户密钥。该密钥包含在凭据文件 (.json) 中。创建密钥后,该文件会自动下载并保存到“下载”文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Studio 无法解析它。
要创建服务帐户密钥,请导航到“IAM 和管理 > 服务帐户”,然后单击 Citrix Cloud 服务帐户的电子邮件地址。切换到“密钥”选项卡,然后选择“添加密钥 > 创建新密钥”。请务必选择 JSON 作为密钥类型。
提示:
在 Google Cloud 控制台的“服务帐号”页面中创建密钥。我们建议您定期更改密钥以确保安全。您可以通过编辑现有 Google Cloud 连接,向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
向 Citrix Cloud 服务帐号添加角色
要向 Citrix Cloud 服务帐号添加角色,请执行以下操作:
-
在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM。
-
在“IAM > 权限”页面上,找到您创建的服务帐号,该帐号可通过电子邮件地址识别。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com -
选择铅笔图标以编辑服务帐号主体的访问权限。
-
在所选主体选项的“编辑对“project-id”的访问权限”页面上,选择“添加其他角色”以逐个将所需角色添加到您的服务帐号,然后选择“保存”。
向 Cloud Build 服务帐号添加角色
要向 Cloud Build 服务帐号添加角色,请执行以下操作:
-
在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM。
-
在“IAM”页面上,找到 Cloud Build 服务帐号,该帐号可通过以“项目 ID”和单词“cloudbuild”开头的电子邮件地址识别。例如,
<project-id>@cloudbuild.gserviceaccount.com -
选择铅笔图标以编辑 Cloud Build 帐号角色。
-
对于所选的主体选项,在**“project-id”的编辑访问权限页面上,选择添加其他角色以逐个将所需角色添加到您的 Cloud Build 服务帐号,然后选择保存**。注意:启用所有 API 以获取完整的角色列表。
April 29, 2024 之后
Citrix Cloud 在 Google Cloud 项目中使用两个独立的服务帐号:
-
Citrix Cloud 服务帐号:此服务帐号使 Citrix Cloud 能够访问 Google 项目、预配和管理计算机。此服务帐号使用 Google Cloud 生成的密钥向 Google Cloud 进行身份验证。您必须手动创建此服务帐号。您可以通过电子邮件地址识别此服务帐号。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com。 -
Cloud Compute 服务帐号:启用启用 Google Cloud API中提及的所有 API 后,此服务帐号将自动预配。要查看所有自动创建的服务帐号,请在 Google Cloud 控制台中导航到 IAM 和管理 > IAM,然后选中包括 Google 提供的角色授予复选框。此帐号具有 IAM 基本编辑者角色以执行操作。但是,如果您删除默认权限以获得更精细的控制,则必须添加需要以下权限的 Storage Admin 角色:
-
resourcemanager.projects.get
-
storage.objects.create
-
storage.objects.get
-
storage.objects.list
您可以通过以项目 ID 和单词 compute 开头的电子邮件地址识别此服务帐号。例如,<project-id>-compute@developer.gserviceaccount.com..验证是否已向服务帐号授予以下角色。-
Cloud Build 服务帐号
-
Compute 实例管理员
-
服务帐号用户
-
创建 Citrix Cloud 服务帐号
要创建 Citrix Cloud 服务帐号,请按照以下步骤操作:
-
在 Google Cloud 控制台中,导航到 IAM 和管理 > 服务帐号。
-
在“服务帐号”页面上,选择“创建服务帐号”。
-
在“创建服务帐号”页面上,输入所需信息,然后选择“创建并继续”。
-
在“授予此服务帐号项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需角色。如果要添加更多角色,请单击“+添加其他角色”。每个帐号(个人或服务)都具有定义项目管理的各种角色。向此服务帐号授予以下角色:
-
Compute 管理员
-
存储管理员
-
Cloud Build 编辑者
-
服务帐号用户
-
云数据存储用户
-
Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
注意:启用所有 API 以获取创建新服务帐户时可用的完整角色列表。 -
-
单击 继续
-
在“授予用户对此服务帐户的访问权限”页面上,添加用户或组以授予他们在此服务帐户中执行操作的权限。
-
单击 完成。
-
导航到 IAM 主控制台。
-
识别已创建的服务帐户。
-
验证角色是否已成功分配。
注意事项:
创建服务帐户时,请考虑以下事项:
-
步骤 授予此服务帐户对项目的访问权限 和 授予用户对此服务帐户的访问权限 是可选的。如果您选择跳过这些可选配置步骤,则新创建的服务帐户不会显示在 IAM 和管理 > IAM 页面中。
-
要显示与服务帐户关联的角色,请添加角色而不跳过可选步骤。此过程可确保角色显示在已配置的服务帐户中。
Citrix Cloud 服务帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud 服务帐户密钥。该密钥包含在凭据文件 (.json) 中。创建密钥后,该文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Studio 无法对其进行解析。
要创建服务帐户密钥,请导航到 IAM 和管理 > 服务帐户,然后单击 Citrix Cloud 服务帐户的电子邮件地址。切换到密钥选项卡,然后选择添加密钥 > 创建新密钥。请务必选择 JSON 作为密钥类型。
提示:
使用 Google Cloud 控制台中的服务帐户页面创建密钥。我们建议您定期更改密钥以确保安全。您可以通过编辑现有 Google Cloud 连接,向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
将角色添加到 Citrix Cloud 服务帐户
要将角色添加到 Citrix Cloud 服务帐户:
-
在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM。
-
在 IAM > 权限页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址识别。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com -
选择铅笔图标以编辑服务帐户主体的访问权限。
-
在所选主体选项的编辑对“project-id”的访问权限页面上,选择添加其他角色以逐个将所需角色添加到您的服务帐户,然后选择保存。
向 Cloud Compute 服务帐号添加角色
要向 Cloud Compute 服务帐号添加角色,请执行以下操作:
-
在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM。
-
在 IAM 页面上,找到 Cloud Compute 服务帐号,该帐号可通过以 项目 ID 和单词 compute 开头的电子邮件地址进行识别。例如,
<project-id>-compute@developer.gserviceaccount.com -
选择铅笔图标以编辑 Cloud Build 帐号角色。
-
在所选主体选项的“编辑对‘project-id’的访问权限”页面上,选择“添加其他角色”以逐个将所需角色添加到您的 Cloud Build 服务帐号,然后选择“保存”。注意:启用所有 API 以获取完整的角色列表。
存储权限和存储桶管理
Citrix DaaS 改进了 Google Cloud 服务 的云构建失败报告流程。此服务在 Google Cloud 上运行构建。Citrix DaaS 创建一个名为
citrix-mcs-cloud-build-logs-{region}-{5 random characters} 的存储桶,Google Cloud 服务在此存储桶中捕获构建日志信息。此存储桶上设置了一个选项,可在 30 天后删除内容。此过程要求用于连接的服务帐号具有设置为 storage.buckets.update 的 Google Cloud 权限。如果服务帐号没有此权限,Citrix DaaS 将忽略错误并继续执行目录创建过程。如果没有此权限,构建日志的大小会增加,并且需要手动清理。
启用私有 Google 访问
当虚拟机缺少分配给其网络接口的外部 IP 地址时,数据包只会发送到其他内部 IP 地址目标。启用私有访问后,虚拟机将连接到 Google API 和相关服务使用的外部 IP 地址集。
注意:
无论是否启用私有 Google 访问,所有具有和不具有公共 IP 地址的虚拟机都必须能够访问 Google 公共 API,尤其是在环境中安装了第三方网络设备的情况下。
为确保子网中的 VM 可以在没有公共 IP 地址的情况下访问 Google API 以进行 MCS 预配:
-
在 Google Cloud 中,访问 VPC 网络配置。
-
在当前项目中的子网选项卡中,识别所使用的子网或 Citrix® 环境。
-
单击子网名称并启用 Private Google Access。
有关详细信息,请参阅配置 Private Google Access。
重要提示:
如果您的网络配置为阻止 VM 访问 Internet,请确保您的组织承担为 VM 连接的子网启用 Private Google 访问所带来的风险。
下一步
-
对于简单的概念验证部署,请在指定用于向用户交付应用程序或桌面的计算机上安装 VDA。
-
有关创建和管理连接的信息,请参阅连接到 Google Cloud 环境。