Citrix Virtual Apps and Desktops

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 控制台中,完成以下步骤:

  1. 在左上角菜单中,选择 API 和服务 > 控制板

    API 和服务控制板选择示意图

  2. Dashboard(控制板)屏幕中,确保计算引擎 API 处于启用状态。如果未启用, 请按照以下步骤进行操作:

    1. 导航到 APIs and Services(API 和服务)> Library(库)

      API 和服务库示意图

    2. 在搜索框中,键入 Compute Engine(计算引擎)。

    3. 从搜索结果中,选择 Compute Engine API(计算引擎 API)。

    4. Compute Engine API(计算引擎 API) 页面上,选择 Enable(启用)。

  3. 启用云资源管理器 API。

    1. 导航到 APIs and Services(API 和服务)> Library(库)

    2. 在搜索框中,键入 Cloud Resource Manager(云资源管理器)。

    3. 在搜索结果中,选择 Cloud Resource Manager API(云资源管理器 API)。

    4. Cloud Resource Manager API(云资源管理器 API)页面中,选择 Enable(启用)。此时将显示 API 的状态。

  4. 同样,启用身份识别和访问管理 (IAM) APICloud Build API

也可以使用 Google Cloud Shell 启用 API。为此,您需要:

  1. 打开 Google 控制台并加载 Cloud Shell。
  2. 在 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
  3. 如果 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 帐户,请执行以下步骤:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)
  2. Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
  3. Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
  4. 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 以获取可用角色的完整列表。

  5. 单击继续
  6. Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
  7. 单击完成
  8. 导航到 IAM 主控制台。
  9. 识别创建的服务帐户。
  10. 验证角色是否已成功分配。

注意事项:

创建服务帐户时,请注意以下事项:

  • 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 帐户添加角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM
  2. IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。

    例如,<my-service-account>@<project-id>.iam.gserviceaccount.com

  3. 选择铅笔图标以编辑对服务帐户主体的访问权限。
  4. 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。

向 Cloud Build Service 帐户添加角色

要向 Cloud Build Service 帐户添加角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM
  2. IAM 页面上,找到 Cloud Build Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址进行识别。

    例如,<project-id>@cloudbuild.gserviceaccount.com

  3. 选择铅笔图标以编辑 Cloud Build 帐户角色。
  4. 在所选主体选项的 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 帐户,请执行以下步骤:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)
  2. Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
  3. Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
  4. 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 以获取可用角色的完整列表。

  5. 单击继续
  6. Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
  7. 单击完成
  8. 导航到 IAM 主控制台。
  9. 识别创建的服务帐户。
  10. 验证角色是否已成功分配。

注意事项:

创建服务帐户时,请注意以下事项:

  • 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 帐户添加角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM
  2. IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。

    例如,<my-service-account>@<project-id>.iam.gserviceaccount.com

  3. 选择铅笔图标以编辑对服务帐户主体的访问权限。
  4. 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。

向 Cloud Compute Service 帐户添加角色

要向 Cloud Compute Service 帐户添加角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM
  2. IAM 页面上,找到 Cloud Compute Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址进行识别。

    例如,<project-id>-compute@developer.gserviceaccount.com

  3. 选择铅笔图标以编辑 Cloud Build 帐户角色。
  4. 在所选主体选项的 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 预配,请执行以下操作:

  1. 在 Google Cloud 中,访问 VPC network configuration(VPC 网络配置)。
  2. 在“Subnet details”(子网详细信息)屏幕中,打开 Private Google access(Google 专用访问权限)。

Google 专用访问权限

有关详细信息,请参阅配置专用 Google 访问权限

重要:

如果您的网络配置为阻止 VM 访问 Internet,请确保贵组织承担与启用 VM 所连接到的子网的专用 Google 访问权限相关的风险。

下一步的去向

更多信息

Google Cloud 环境