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 服务帐户。此服务帐户对 Google Cloud 进行身份验证,以启用对项目的访问权限。有关详细信息,请参阅配置和更新服务帐号
  • 启用 Google 专用访问权限。有关详细信息,请参阅 Enable-private-google-access

启用 Google Cloud API

要在 Web Studio 中使用 Google 云功能,请在 Google 云项目中启用这些 API。

  • 计算引擎 API
  • 云资源管理器 API
  • 身份识别和访问管理 (IAM) API
  • 云构建 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) API云构建 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(授权)。

配置和更新服务帐户

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 Service Account(Cloud Build 服务帐户):启用 Enable Google Cloud APIs(启用 Google Cloud API)中提到的所有 API 后,系统会自动预配此服务帐户。

    可以通过以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址来识别此服务帐户。例如,<project-id>@cloudbuild.gserviceaccount.com

    向此服务帐户授予以下角色:

    • 云构建服务帐户
    • 计算实例管理员
    • 服务帐户用户
  • 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 服务帐户

要创建 Citrix Cloud 服务帐户,请执行以下步骤:

  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(授予此服务帐户对项目的访问权限)页面上,单击 elect a role(选择角色)下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。

    注意:

    在创建新的服务帐户时,请启用所有 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 服务帐户密钥

创建服务帐户时,可以选择为该帐户创建密钥。在 Citrix Virtual Apps and Desktops 中创建连接时需要此密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Web Studio 无法对其进行解析。

提示:

使用 Google Cloud 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 Google Cloud 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。

向 Citrix Cloud 服务帐户添加角色

要向 Citrix Cloud 服务帐户添加角色,请执行以下操作:

  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 服务帐户添加角色

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

  1. 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM
  2. IAM 页面上,找到 Cloud Build 服务帐户,该帐户可以使用以 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 服务帐户,然后选择 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 环境