Citrix DaaS™

Google Cloud 虚拟化环境

Citrix DaaS (原 Citrix Virtual Apps and Desktops™ 服务) 允许您在 Google Cloud 上预配和管理计算机。

先决条件

在开始向 Google Cloud Platform (GCP) 预配 VM 之前,您必须确保满足以下先决条件。

  1. Citrix 订阅必须包含对混合多云工作负载的支持。有关详细信息,请参阅 比较 Citrix 订阅功能。
  2. 管理员帐户必须具有足够的权限以创建主机连接、计算机目录和交付组。有关详细信息,请参阅 配置委派管理。
  3. 确定一个 Google Cloud 项目,其中存储了与计算机目录关联的所有计算资源。它可以是现有项目,也可以是新项目。有关详细信息,请参阅 Google Cloud 项目。
  4. 启用与 Citrix DaaS 集成所需的 Google Cloud API。有关详细信息,请参阅 启用 Google Cloud API。
  5. 在 Google Cloud 中创建服务帐户并授予相应的权限。有关详细信息,请参阅 配置和更新服务帐户。

Google Cloud 项目

  • Google Cloud 项目主要有两种类型:

  • 预配项目:在这种情况下,当前管理员帐户拥有项目中预配的计算机。此项目也称为本地项目。
  • 共享 VPC 项目:在此项目中,预配项目中创建的计算机使用共享 VPC 项目中的 VPC。用于预配项目的管理员帐户在此项目中具有有限的权限,具体来说,仅具有使用 VPC 的权限。

服务终结点 URL

  • 您必须能够访问以下 URL:

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

启用 Google Cloud API

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

-  Compute Engine API
-  Cloud Resource Manager API
-  Identity and Access Management (IAM) API
-  Cloud Build API

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

-  1.  在左上角菜单中,选择 **API 和服务 > 已启用的 API 和服务**。
-  1.  在**已启用的 API 和服务**屏幕上,确保已启用 Compute Engine API。如果未启用,请执行以下步骤:

-  1.  导航到 **API 和服务 > 库**。
-  1.  在搜索框中,键入 *Compute Engine*。
1.  从搜索结果中,选择 **Compute Engine API**。
1.  在 **Compute Engine API** 页面上,选择**启用**。
  1. 启用 Cloud Resource Manager API。
    1. 导航到 API 和服务 > 库。
    2. 在搜索框中,键入 Cloud Resource Manager。
    3. 从搜索结果中,选择 Cloud Resource Manager API。
        1. 在 Cloud Resource Manager API 页面上,选择启用。API 的状态随即显示。
  2. 同样,启用 Identity and Access Management (IAM) API 和 Cloud Build API,以及 Cloud Key Management Service (KMS) 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
-  gcloud services enable cloudkms.googleapis.com
  1. 当 Cloud Shell 提示时,单击授权。

配置和更新服务帐户

注意:

GCP 将在 2024 年 4 月 29 日之后对 Cloud Build Service 的默认行为和服务帐户的使用进行更改。有关详细信息,请参阅 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 服务帐号
-  计算实例管理员
-  服务帐号用户

-  **Cloud Compute 服务帐号**:激活 Compute API 后,Google Cloud 会将此服务帐号添加到在 Google Cloud 中创建的实例。此帐号具有 IAM 基本编辑者角色以执行操作。但是,如果删除默认权限以实现更精细的控制,则必须添加需要以下权限的“**存储管理员**”角色:

-  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. 在“向此服务帐号授予项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需角色。如果要添加更多角色,请单击“+添加其他角色”。

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

    • 计算管理员
    • 存储管理员
    • 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. 单击“继续”。
      1. 在“向用户授予此服务帐号的访问权限”页面上,添加用户或组以授予他们在此服务帐号中执行操作的权限。
      1. 单击“完成”。
  5. 导航到 IAM 主控制台。
  6. 识别已创建的服务帐号。
  7. 验证角色是否已成功分配。

注意事项:

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

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

Citrix Cloud 服务帐号密钥

在 Citrix DaaS 中创建连接需要 Citrix Cloud 服务帐号密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件将自动下载并保存到“下载”文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,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. 选择铅笔图标以编辑服务帐户主体的访问权限。
    1. 在所选主体选项的编辑对“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 Admin 角色,该角色需要以下权限:

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

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

    验证是否已向服务帐户授予以下角色。

    • Cloud Build 服务帐户
    • Compute Instance Admin
    • Service Account User
  • 创建 Citrix Cloud 服务帐户

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

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

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
    • Cloud Datastore User
    • Cloud KMS Crypto Operator

    Cloud KMS Crypto Operator 需要以下权限:

    • 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 Cloud 服务帐户密钥是在 Citrix DaaS 中创建连接所需。该密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到 Downloads 文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Studio 无法对其进行解析。

要创建服务帐户密钥,请导航到 IAM & Admin > Service accounts,然后单击 Citrix Cloud 服务帐户的电子邮件地址。切换到 Keys 选项卡,然后选择 Add Key > Create new key。确保选择 JSON 作为密钥类型。

提示:

使用 Google Cloud 控制台中的 Service accounts 页面创建密钥。为安全起见,建议您定期更改密钥。您可以通过编辑现有 Google Cloud 连接,向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。

向 Citrix Cloud 服务帐户添加角色

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

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

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

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

向 Cloud Compute 服务帐户添加角色

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

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

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

  3. 选择铅笔图标以编辑 Cloud Build 帐户角色。
  4. 在所选主体选项的 Edit access to “project-id” page 页面上,选择 ADD ANOTHER ROLE 以逐个将所需角色添加到您的 Cloud Build 服务帐户,然后选择 SAVE。

    注意:

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

存储权限和存储桶管理

Citrix DaaS 改进了 Google Cloud 服务的云构建失败报告流程。此服务在 Google Cloud 上运行构建。Citrix DaaS 创建一个名为 citrix-mcs-cloud-build-logs-{region}-{5 random characters} 的存储桶,Google Cloud 服务在该存储桶中捕获构建日志信息。此存储桶上设置了一个选项,可在 30 天后删除内容。此过程要求用于连接的服务帐户具有设置为 storage.buckets.update 的 Google Cloud 权限。如果服务帐户没有此权限,Citrix DaaS 将忽略错误并继续执行目录创建过程。如果没有此权限,构建日志的大小会增加,并且需要手动清理。

启用私有 Google 访问

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

注意:

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

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

  1. 在 Google Cloud 中,访问 VPC network configuration。
  2. 在 Subnets in current project 选项卡中识别所使用的子网或 Citrix® 环境。
  3. 单击子网名称并启用 Private Google Access。

有关详细信息,请参阅 Configuring Private Google Access。

重要提示:

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

后续步骤

更多信息

Google Cloud 虚拟化环境