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 私有访问。有关详细信息,请参阅启用 Google 私有访问

  • 启用 Google Cloud API

  • 要通过 Web Studio 使用 Google Cloud 功能,请在您的 Google Cloud 项目中启用以下 API:

  • Compute Engine API
  • Cloud Resource Manager API
    • Identity and Access Management (IAM) API
    • Cloud Build API
    • Cloud Key Management Service (KMS)

在 Google Cloud 控制台中,完成以下步骤:

  1. 在左上角菜单中,选择“API 和服务 > 仪表板”。

    APIs and Services Dashboard select image

  2. 在“仪表板”屏幕上,确保已启用 Compute Engine API。如果未启用,请按照以下步骤操作:

    1. 导航到“API 和服务 > 库”。

      APIs and Services Library image

      1. 在搜索框中,键入 Compute Engine
      1. 从搜索结果中,选择“Compute Engine API”。
    1. 在“Compute Engine API”页面上,选择“启用”。
  3. 启用 Cloud Resource Manager API。

    1. 导航到“API 和服务 > 库”。 project-id
    2. 在搜索框中,键入 Cloud Resource Manager

    3. 从搜索结果中,选择“Cloud Resource Manager API”。
    1. 在“Cloud Resource Manager API”页面上,选择“启用”。API 的状态随即显示。
  1. 同样,启用“Identity and Access Management (IAM) API”和“Cloud Build API”。

    • 您还可以使用 Google Cloud Shell 启用 API。为此:

      1. 打开 Google 控制台并加载 Cloud Shell。
      1. 在 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
  2. 如果 Cloud Shell 提示,请单击“授权”。

配置和更新服务帐户

注意: - > - > GCP 正在对 Cloud Build Service 的默认行为和服务帐户的使用进行更改,这些更改将于 2024 年 4 月 29 日之后生效。有关详细信息,请参阅 Cloud Build 服务帐户更改。您在 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 服务帐户*:此服务帐户使 Citrix Cloud 能够访问 Google 项目、预配和管理计算机。此服务帐户使用 Google Cloud 生成的[密钥](https://console.cloud.google.com/iam-admin/serviceaccounts)向 Google Cloud 进行身份验证。

-  您必须按照此处所述手动创建此服务帐户。有关详细信息,请参阅[创建 Citrix Cloud 服务帐户](/zh-cn/citrix-daas/install-configure/resource-location/google#create-a-citrix-cloud-service-account)。

-  您可以通过电子邮件地址识别此服务帐户。例如,`<my-service-account>@`<project-id>`.iam.gserviceaccount.com`。

-  *Cloud Build 服务帐户*:在您启用[启用 Google Cloud API](/zh-cn/citrix-daas/install-configure/resource-location/google.html#enable-google-cloud-apis) 中提及的所有 API 后,此服务帐户会自动预配。要查看所有自动创建的服务帐户,请在 **Google Cloud** 控制台中导航到“**IAM 和管理 > IAM**”,然后选中“**包括 Google 提供的角色授予**”复选框。

您可以通过以“**项目 ID**”和单词“**cloudbuild**”开头的电子邮件地址识别此服务帐户。例如,`<project-id>@cloudbuild.gserviceaccount.com`

验证是否已向服务帐户授予以下角色。如果必须添加角色,请按照[向 Cloud Build 服务帐户添加角色](/zh-cn/citrix-daas/install-configure/resource-location/google#add-roles-to-the-cloud-build-service-account)中概述的步骤操作。

-  Cloud Build 服务帐户
-  Compute Instance Admin
-  Service Account User

-  *Cloud Compute 服务帐户*:一旦 Compute API 激活,Google Cloud 就会将此服务帐户添加到在 Google Cloud 中创建的实例。此帐户具有 IAM 基本编辑器角色以执行操作。但是,如果您删除默认权限以获得更精细的控制,则必须添加一个“**Storage Admin**”角色,该角色需要以下权限:

-  resourcemanager.projects.get
-  storage.objects.create
-  storage.objects.get
-  storage.objects.list

您可以通过以项目 ID 和单词 compute 开头的电子邮件地址来识别此服务帐号。例如,<project-id>-compute@developer.gserviceaccount.com

创建 Citrix Cloud 服务帐号

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

  1. 在 Google Cloud 控制台中,导航到 IAM 和管理 > 服务帐号
  2. 服务帐号页面上,选择创建服务帐号
  3. 创建服务帐号页面上,输入所需信息,然后选择创建并继续
  4. 向此服务帐号授予项目访问权限页面上,单击选择角色下拉菜单并选择所需角色。如果要添加更多角色,请单击+添加其他角色

    每个帐号(个人或服务)都具有定义项目管理的各种角色。向此服务帐号授予以下角色:

    • Compute 管理员
    • Storage 管理员
    • Cloud Build 编辑者
    • 服务帐号用户
    • Cloud Datastore 用户
    • Cloud KMS 加密操作员

    Cloud KMS 加密操作员需要以下权限:

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list
    • cloudkms.cryptoKeyVersions.useToDecrypt
    • cloudkms.cryptoKeyVersions.useToEncrypt

    注意:

    • 启用所有 API 以获取创建新服务帐号时可用的完整角色列表。

      1. 单击继续
  5. 向此服务帐号授予用户访问权限页面上,添加用户或组以授予他们在此服务帐号中执行操作的权限。
  6. 单击完成
  7. 导航到 IAM 主控制台。
  8. 识别已创建的服务帐号。
  9. 验证角色是否已成功分配。

注意事项:

-  创建服务帐号时,请考虑以下事项:

-  **向此服务帐号授予项目访问权限**和**向此服务帐号授予用户访问权限**步骤是可选的。如果您选择跳过这些可选配置步骤,则新创建的服务帐号不会显示在 **IAM 和管理 > IAM** 页面中。
-  要显示与服务帐号关联的角色,请添加角色而不跳过可选步骤。此过程可确保角色显示在已配置的服务帐号中。

Citrix Cloud 服务帐号密钥

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

-  要创建服务帐号密钥,请导航到 **IAM 和管理 > 服务帐号**,然后单击 Citrix Cloud 服务帐号的电子邮件地址。切换到**密钥**选项卡,然后选择**添加密钥 > 创建新密钥**。请务必选择 **JSON** 作为密钥类型。

提示:

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

向 Citrix Cloud 服务帐号添加角色

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

  1. 在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM
  2. IAM > 权限页面上,找到您创建的服务帐号,该帐号可通过电子邮件地址进行识别。
  • 例如,<my-service-account>@<project-id>.iam.gserviceaccount.com
  1. 选择铅笔图标以编辑服务帐号主体的访问权限。
  2. 在所选主体选项的编辑对“project-id”的访问权限页面上,选择添加其他角色以逐个将所需角色添加到您的服务帐号,然后选择保存

向 Cloud Build 服务帐号添加角色

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

  1. 在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM
  2. IAM 页面上,找到 Cloud Build 服务帐号,该帐号可通过以项目 ID 和单词 cloudbuild 开头的电子邮件地址进行识别。

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

  3. 选择铅笔图标以编辑 Cloud Build 帐号角色。
  4. 在所选主体选项的编辑对“project-id”的访问权限页面上,选择添加其他角色以逐个将所需角色添加到您的 Cloud Build 服务帐号,然后选择保存

    注意:

    启用所有 API 以获取完整的角色列表。

2024 年 4 月 29 日之后

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 管理员角色,该角色需要以下权限:

    • 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 服务帐号,请按照以下步骤操作:
  1. 在 Google Cloud 控制台中,导航到 IAM 和管理 > 服务帐号
  2. 服务帐号页面上,选择创建服务帐号
  3. 创建服务帐号页面上,输入所需信息,然后选择创建并继续
  4. 向此服务帐号授予项目访问权限页面上,单击选择角色下拉菜单并选择所需角色。如果要添加更多角色,请单击+添加其他角色

    每个帐号(个人或服务)都具有定义项目管理的各种角色。向此服务帐号授予以下角色:

    • Compute 管理员
    • Storage 管理员
    • Cloud Build 编辑者
    • 服务帐号用户
    • Cloud Datastore 用户
    • Cloud KMS 加密操作员

    Cloud KMS 加密操作员需要以下权限:

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    注意:

    启用所有 API 以获取创建新服务帐号时可用的完整角色列表。

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

注意事项:

创建服务帐号时,请考虑以下事项:

  • 向此服务帐号授予项目访问权限向此服务帐号授予用户访问权限步骤是可选的。如果选择跳过这些可选配置步骤,则新创建的服务帐号不会显示在 IAM 和管理 > IAM 页面中。
  • 要显示与服务帐号关联的角色,请添加角色而不跳过可选步骤。此过程可确保为配置的服务帐号显示角色。

Citrix Cloud 服务帐号密钥

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

要创建服务帐号密钥,请导航到 IAM 和管理 > 服务帐号,然后单击 Citrix Cloud 服务帐号的电子邮件地址。切换到密钥选项卡,然后选择添加密钥 > 创建新密钥。请务必选择 JSON 作为密钥类型。

提示:

使用 Google Cloud 控制台中的服务帐号页面创建密钥。我们建议您定期更改密钥以确保安全。您可以通过编辑现有 Google Cloud 连接来向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。

向 Citrix Cloud 服务帐号添加角色

要向 Citrix Cloud 服务帐号添加角色:

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

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

  3. 选择铅笔图标以编辑服务帐号主体的访问权限。
  4. 在所选主体选项的编辑对“project-id”的访问权限页面上,选择添加其他角色以逐个向服务帐号添加所需角色,然后选择保存

向 Cloud Compute 服务帐号添加角色

要向 Cloud Compute 服务帐号添加角色:

  1. 在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM
  2. IAM 页面上,找到 Cloud Compute 服务帐号,该帐号可通过以项目 ID 和单词 compute 开头的电子邮件地址进行识别。

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

  3. 选择铅笔图标以编辑 Cloud Build 帐号角色。
  4. 在所选主体选项的编辑对“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 访问通道

当 VM 的网络接口缺少分配的外部 IP 地址时,数据包仅发送到其他内部 IP 地址目标。启用专用访问通道后,VM 将连接到 Google API 和相关服务使用的外部 IP 地址集。

注意:

无论是否启用专用 Google 访问通道,所有具有和不具有公共 IP 地址的 VM 都必须能够访问 Google 公共 API,尤其是在环境中安装了第三方网络设备的情况下。

为确保子网中的 VM 可以在没有公共 IP 地址的情况下访问 Google API 以进行 MCS 预配:

  1. 在 Google Cloud 中,访问 VPC 网络配置
  2. 在子网详细信息屏幕中,打开专用 Google 访问通道

专用 Google 访问通道

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

重要提示:

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

后续步骤

更多信息

Google Cloud 环境