Google Cloud 环境
Citrix Virtual Apps and Desktops 允许您在 Google Cloud 上预配和管理计算机。
要求
- Citrix Cloud 帐户。本文中介绍的功能仅在 Citrix Cloud 中提供。
- Google Cloud 项目。该项目存储与计算机目录关联的所有计算资源。它可以是现有项目或新项目。
- 在您的 Google Cloud 项目中启用四个 API。有关详细信息,请参阅启用 Google Cloud API。
- Google Cloud Service 帐户。此服务帐户对 Google Cloud 进行身份验证,以启用对项目的访问权限。有关详细信息,请参阅配置和更新服务帐号。
- 启用 Google 专用访问权限。有关详细信息,请参阅 Enable-private-google-access。
启用 Google Cloud API
要在 Web Studio 中使用 Google Cloud 功能,请在 Google Cloud 项目中启用这些 API:
- 计算引擎 API
- 云资源管理器 API
- 身份识别和访问管理 (IAM) API
- Cloud Build API
- 云密钥管理服务 (KMS)
在 Google Cloud 控制台中,完成以下步骤:
-
在左上角菜单中,选择 API 和服务 > 控制板。
-
在 Dashboard(控制板)屏幕中,确保计算引擎 API 处于启用状态。如果未启用, 请按照以下步骤进行操作:
-
导航到 APIs and Services(API 和服务)> Library(库)。
-
在搜索框中,键入 Compute Engine(计算引擎)。
-
从搜索结果中,选择 Compute Engine API(计算引擎 API)。
-
在 Compute Engine API(计算引擎 API) 页面上,选择 Enable(启用)。
-
-
启用云资源管理器 API。
-
导航到 APIs and Services(API 和服务)> Library(库)。
-
在搜索框中,键入 Cloud Resource Manager(云资源管理器)。
-
在搜索结果中,选择 Cloud Resource Manager API(云资源管理器 API)。
-
在 Cloud Resource Manager API(云资源管理器 API)页面中,选择 Enable(启用)。此时将显示 API 的状态。
-
-
同样,启用身份识别和访问管理 (IAM) API 和 Cloud Build API。
也可以使用 Google Cloud Shell 启用 API。为此,您需要:
- 打开 Google 控制台并加载 Cloud Shell。
-
在 Cloud Shell 中运行以下四个命令:
- gcloud services enable compute.googleapis.com
- gcloud services enable cloudresourcemanager.googleapis.com
- gcloud services enable iam.googleapis.com
- gcloud services enable cloudbuild.googleapis.com
- 如果 Cloud Shell 提示,请单击 Authorize(授权)。
配置和更新服务帐户
注意:
GCP 将在 2024 年 4 月 29 日之后引入对 Cloud Build Service 的默认行为和服务帐户的使用所做的更改。有关详细信息,请参阅 Cloud Build Service 帐户变更。在 2024 年 4 月 29 日之前启用了 Cloud Build API 的现有 Google 项目不受此变更的影响。但是,如果您希望在 4 月 29 日之后保持现有的 Cloud Build Service 行为,则可以在启用 Cloud Build API 之前创建或应用组织政策以禁用强制约束。因此,以下内容分为两部分:2024年 4 月 29 日之前和 2024 年 4 月 29 日之后。如果您设置了新的组织政策,请遵循 2024 年 4 月 29 日之前部分。
2024 年 4 月 29 日之前
Citrix Cloud 在 Google Cloud 项目中使用三个独立的服务帐户:
-
Citrix Cloud Services 帐户:此服务帐户允许 Citrix Cloud 访问 Google 项目、预配和管理计算机。此服务帐户使用 Google Cloud 生成的密钥向 Google Cloud 进行身份验证。
您必须按照此处的说明手动创建此服务帐户。有关详细信息,请参阅创建 Citrix Cloud Services 帐户。
可以使用电子邮件地址识别此服务帐户。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Build Service Account(Cloud Build Service 帐户):启用 Enable Google Cloud APIs(启用 Google Cloud API)中提到的所有 API 后,系统会自动预配此服务帐户。要查看自动创建的所有服务帐户,请在 Google Cloud 控制台中导航到 IAM & Admin(IAM 和管理)> IAM,然后选中 Include Google-provided role grants(包括 Google 提供的角色授权)复选框。
可以通过以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址来识别此服务帐户。例如,
<project-id>@cloudbuild.gserviceaccount.com
验证服务帐户是否被授予了以下角色。如果您必须添加角色,请按照向 Cloud Build Service 帐户中添加角色中概述的步骤进行操作。
- Cloud Build Service 帐户
- 计算实例管理员
- 服务帐户用户
-
Cloud Compute Service 帐户:激活计算 API 后,Google Cloud 会将此服务帐户添加到在 Google Cloud 中创建的实例中。此帐户具有 IAM 基本编辑角色来执行操作。但是,如果您删除默认权限以进行更精细的控制,则必须添加需要以下权限的存储管理员角色:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
可以通过以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址来识别此服务帐户。例如,<project-id>-compute@developer.gserviceaccount.com
。
创建 Citrix Cloud Services 帐户
要创建 Citrix Cloud Services 帐户,请执行以下步骤:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)。
- 在 Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
- 在 Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
-
在 Grant this service account access to project(授予此服务帐户对项目的访问权限)页面上,单击 Select a role(选择角色)下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。
每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
- 计算管理员
- 存储管理员
- Cloud Build 编辑者
- 服务帐户用户
- 云数据存储用户
- Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注意:
在创建新的服务帐户时,请启用所有 API 以获取可用角色的完整列表。
- 单击继续
- 在 Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
- 单击 DONE(完成)。
- 导航到 IAM 主控制台。
- 识别创建的服务帐户。
- 验证角色是否已成功分配。
注意事项:
创建服务帐户时,请注意以下事项:
- Grant this service account access to project(授予此服务帐户对项目的访问权限)和 Grant users access to this service account(授予用户对此服务帐户的访问权限)的步骤是可选的。如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。
- 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。
Citrix Cloud Services 帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud Services 帐户密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Citrix 的“完整配置”界面无法进行解析。
要创建服务帐户密钥,请导航到 IAM & Admin(IAM 和管理)> Service accounts(服务帐户),然后单击 Citrix Cloud Services 帐户的电子邮件地址。切换到 Keys(密钥)选项卡,然后选择 Add Key(添加密钥)> Create new key(创建新密钥)。请务必选择 JSON 作为密钥类型。
提示:
使用 Google Cloud 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 Google Cloud 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
向 Citrix Cloud Services 帐户添加角色
要向 Citrix Cloud Services 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。
例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 选择铅笔图标以编辑对服务帐户主体的访问权限。
- 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。
向 Cloud Build Service 帐户添加角色
要向 Cloud Build Service 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM 页面上,找到 Cloud Build Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址进行识别。
例如,
<project-id>@cloudbuild.gserviceaccount.com
- 选择铅笔图标以编辑 Cloud Build 帐户角色。
-
在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将所需的角色逐个添加到您的 Cloud Build Service 帐户,然后选择 SAVE(保存)。
注意:
启用所有 API 以获取完整的角色列表。
2024 年 4 月 29 日之后
Citrix Cloud 在 Google Cloud 项目中使用两个独立的服务帐户:
-
Citrix Cloud Services 帐户:此服务帐户允许 Citrix Cloud 访问 Google 项目、预配和管理计算机。此服务帐户使用 Google Cloud 生成的密钥向 Google Cloud 进行身份验证。
必须手动创建此服务帐户。
可以使用电子邮件地址识别此服务帐户。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Compute Service Account(Cloud Compute Service 帐户):启用 Enable Google Cloud APIs(启用 Google Cloud API)中提到的所有 API 后,系统会自动预配此服务帐户。要查看自动创建的所有服务帐户,请在 Google Cloud 控制台中导航到 IAM & Admin(IAM 和管理)> IAM,然后选中 Include Google-provided role grants(包括 Google 提供的角色授权)复选框。此帐户具有 IAM 基本编辑角色来执行操作。但是,如果您删除默认权限以进行更精细的控制,则必须添加需要以下权限的存储管理员角色:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
可以通过以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址来识别此服务帐户。例如,
<project-id>-compute@developer.gserviceaccount.com.
验证服务帐户是否被授予了以下角色。
- Cloud Build Service 帐户
- 计算实例管理员
- 服务帐户用户
创建 Citrix Cloud Services 帐户
要创建 Citrix Cloud Services 帐户,请执行以下步骤:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)。
- 在 Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
- 在 Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
-
在 Grant this service account access to project(授予此服务帐户对项目的访问权限)页面上,单击 Select a role(选择角色)下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。
每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
- 计算管理员
- 存储管理员
- Cloud Build 编辑者
- 服务帐户用户
- 云数据存储用户
- Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注意:
在创建新的服务帐户时,请启用所有 API 以获取可用角色的完整列表。
- 单击继续
- 在 Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
- 单击 DONE(完成)。
- 导航到 IAM 主控制台。
- 识别创建的服务帐户。
- 验证角色是否已成功分配。
注意事项:
创建服务帐户时,请注意以下事项:
- Grant this service account access to project(授予此服务帐户对项目的访问权限)和 Grant users access to this service account(授予用户对此服务帐户的访问权限)的步骤是可选的。如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。
- 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。
Citrix Cloud Services 帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud Services 帐户密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Citrix 的“完整配置”界面无法进行解析。
要创建服务帐户密钥,请导航到 IAM & Admin(IAM 和管理)> Service accounts(服务帐户),然后单击 Citrix Cloud Services 帐户的电子邮件地址。切换到 Keys(密钥)选项卡,然后选择 Add Key(添加密钥)> Create new key(创建新密钥)。请务必选择 JSON 作为密钥类型。
提示:
使用 Google Cloud 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 Google Cloud 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
向 Citrix Cloud Services 帐户添加角色
要向 Citrix Cloud Services 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。
例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 选择铅笔图标以编辑对服务帐户主体的访问权限。
- 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。
向 Cloud Compute Service 帐户添加角色
要向 Cloud Compute Service 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM 页面上,找到 Cloud Compute Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址进行识别。
例如,
<project-id>-compute@developer.gserviceaccount.com
- 选择铅笔图标以编辑 Cloud Build 帐户角色。
-
在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将所需的角色逐个添加到您的 Cloud Build Service 帐户,然后选择 SAVE(保存)。
注意:
启用所有 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 天后删除内容。此过程要求用于连接的服务帐户将 Google Cloud 权限设置为 storage.buckets.update
。如果服务帐户没有此权限,Citrix Virtual Apps and Desktops 将忽略错误并继续执行目录创建过程。如果没有此权限,生成日志的大小会增加,需要手动清理。
启用 Google 专用访问权限
当 VM 缺少分配给其网络接口的外部 IP 地址时,数据包仅发送到其他内部 IP 地址目标。启用专用访问时,VM 将连接到 Google API 和相关服务使用的外部 IP 地址集。
注意:
无论是否启用了专用 Google 访问权限,所有具有或没有公用 IP 地址的 VM 都必须能够访问 Google 公用 API,尤其是在环境中安装了第三方网络连接设备的情况下。
要确保子网中的 VM 能够在没有公用 IP 地址的情况下访问 Google API 以进行 MCS 预配,请执行以下操作:
- 在 Google Cloud 中,访问 VPC network configuration(VPC 网络配置)。
- 在“Subnet details”(子网详细信息)屏幕中,打开 Private Google access(Google 专用访问权限)。
有关详细信息,请参阅配置专用 Google 访问权限。
重要:
如果您的网络配置为阻止 VM 访问 Internet,请确保贵组织承担与启用 VM 所连接到的子网的专用 Google 访问权限相关的风险。
下一步的去向
- 安装核心组件
- 安装 VDA
- 创建站点
- 有关在 Google Cloud 环境中创建和管理连接的信息,请参阅与 Google Cloud 环境的连接