Google Cloud 环境
Citrix Virtual Apps and Desktops™ 允许您在 Google Cloud 上预配和管理计算机。
要求
-
Citrix Cloud™ 帐户。本文中描述的功能仅在 Citrix Cloud 中可用。
-
一个 Google Cloud 项目。该项目存储与计算机目录关联的所有计算资源。它可以是现有项目,也可以是新项目。
-
在您的 Google Cloud 项目中启用四个 API。有关详细信息,请参阅启用 Google Cloud API。
-
Google Cloud 服务帐户。该服务帐户向 Google Cloud 进行身份验证,以启用对项目的访问。有关详细信息,请参阅 配置和更新服务帐户。
-
启用 Google 私有访问。有关详细信息,请参阅启用 Google 私有访问。
启用 Google Cloud API
要通过 Web Studio 使用 Google Cloud 功能,请在您的 Google Cloud 项目中启用以下 API:
-
计算引擎 API
-
云资源管理器 API
-
身份与访问管理 (IAM) API
-
Cloud Build 接口
-
Cloud 密钥管理服务 (KMS)
在 Google Cloud 控制台中,完成以下步骤:
-
在左上角菜单中,选择 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 和 云构建 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
-
-
如果 Cloud Shell 提示,请单击授权。
配置和更新服务帐号
注意:
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 服务帐户
-
计算实例管理员
-
服务帐号用户
-
-
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。
-
在“授予此服务帐号项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需的角色。如果要添加更多角色,请单击“+添加其他角色”。每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
-
计算管理员
-
Storage 管理员
-
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) 中。创建密钥后,文件会自动下载并保存到 Downloads 文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Web 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 服务帐户
-
计算实例管理员
-
服务帐号用户
-
创建 Citrix Cloud 服务帐号
要创建 Citrix Cloud 服务帐号,请执行以下步骤:
-
在 Google Cloud 控制台中,导航到 IAM & Admin > Service accounts。
-
在 Service accounts 页面上,选择 CREATE SERVICE ACCOUNT。
-
在 Create service account 页面上,输入所需信息,然后选择 CREATE AND CONTINUE。
-
在“授予此服务帐号项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需的角色。如果要添加更多角色,请单击“+添加其他角色”。每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
-
计算管理员
-
Storage 管理员
-
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) 中。创建密钥后,该文件会自动下载并保存到 Downloads 文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Web 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 Virtual Apps and Desktops 改进了 Google Cloud 服务 的云构建失败报告流程。此服务在 Google Cloud 上运行构建。Citrix Virtual Apps and Desktops 创建一个名为
citrix-mcs-cloud-build-logs-{region}-{5 random characters} 的存储桶,Google Cloud 服务在此存储桶中捕获构建日志信息。此存储桶上设置了一个选项,可在 30 天后删除内容。此过程要求用于连接的服务帐户具有设置为 storage.buckets.update 的 Google Cloud 权限。如果服务帐户没有此权限,Citrix Virtual Apps and Desktops 将忽略错误并继续执行目录创建过程。如果没有此权限,构建日志的大小会增加,并且需要手动清理。
启用私有 Google 访问
当虚拟机缺少分配给其网络接口的外部 IP 地址时,数据包只会发送到其他内部 IP 地址目标。启用私有访问后,虚拟机将连接到 Google API 和相关服务使用的外部 IP 地址集。
注意:
无论是否启用私有 Google 访问,所有具有和不具有公共 IP 地址的虚拟机都必须能够访问 Google 公共 API,尤其是在环境中安装了第三方网络设备的情况下。
为确保子网中的 VM 可以在没有公共 IP 地址的情况下访问 Google API 以进行 MCS 预配:
-
在 Google Cloud 中,访问 VPC 网络配置。
-
在“子网详细信息”屏幕中,启用 Private Google access。
有关详细信息,请参阅配置 Private Google Access。
重要提示:
如果您的网络配置为阻止 VM 访问 Internet,请确保您的组织承担为 VM 连接的子网启用 Private Google access 所带来的风险。
下一步操作
-
有关在 Google Cloud 环境中创建和管理连接的信息,请参阅 连接到 Google Cloud 环境