Citrix DaaS

Google Cloud 虚拟化环境

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

要求

  • Citrix Cloud 帐户:这些功能仅在 Citrix Cloud 中可用。
  • Citrix DaaS 订阅。有关详细信息,请参阅入门
  • Google Cloud 项目。该项目存储与计算机目录关联的所有计算资源。它可以是现有项目或新项目。
  • 在您的 Google Cloud 项目中启用四个 API。有关详细信息,请参阅启用 Google Cloud API
  • Google Cloud 服务帐户。此服务帐户对 Google Cloud 进行身份验证,以启用对项目的访问权限。有关详细信息,请参阅配置和更新服务帐号
  • 启用 Google 专用访问权限。有关详细信息,请参阅 Enable-private-google-access

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

要通过 Citrix DaaS 完整配置界面使用 Google Cloud 功能,请在您的 Google Cloud 项目中启用以下 API:

  • 计算引擎 API
  • 云资源管理器 API
  • 身份识别和访问管理 (IAM) API
  • 云构建 API

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

  1. 在左上角的菜单中,选择 API 和服务 > 已启用的 API 和服务
  2. 在“已启用 API 和服务”屏幕上,确保已启用计算引擎 API。如果没有,请按照以下步骤操作:

    1. 导航到 APIs and Services(API 和服务)> Library(库)
    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 以及云密钥管理服务 (KMS) 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
    • gcloud services enable cloudkms.googleapis.com
  3. 如果 Cloud Shell 提示,请单击 Authorize(授权)。

配置和更新服务帐户

Citrix Cloud 在 Google Cloud 项目中使用三个独立的服务帐户:

  • Citrix Cloud 服务帐户:此服务帐户允许 Citrix Cloud 访问 Google 项目、预配和管理计算机。Google Cloud 帐户使用 Google Cloud 生成的密钥对 Citrix 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 后,系统会自动预配此服务帐户。要查看所有自动创建的服务帐号,请在 Google Cloud 控制台中导航到 IAM 和管理 > IAM ,然后选中“包括 Google 提供的角色授权”复选框。

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

    验证服务帐号是否已被授予以下角色。如果您需要添加角色,请按照向 Cloud Build 服务帐户添加角色中概述的步骤进行操作。

    • 云构建服务帐户
    • 计算实例管理员
    • 服务帐户用户
  • 云计算服务帐户:激活计算 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 & Admin(IAM 和管理员)> Service accounts(服务帐户)
  2. Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
  3. 创建服务帐户页面上,输入所需信息,然后选择创建并继续
  4. 在“授予此服务帐户项目访问权限”页面上,单击“选择角色”下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。

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

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

The Cloud KMS Crypto Operator requires the following permissions:

-  cloudkms.cryptoKeys.get
-  cloudkms.cryptoKeys.list
-  cloudkms.keyRings.get
-  cloudkms.keyRings.list

> **Note:**
>
> Enable all the APIs to get the complete list of roles available while creating a new service account.
  1. 单击继续
  2. Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
  3. 单击完成
  4. 导航到 IAM 主控制台。
  5. 识别创建的服务帐户。
  6. 验证角色是否已成功分配。

注意事项:

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

  • Grant this service account access to project(授予此服务帐户对项目的访问权限)和 Grant users access to this service account(授予用户对此服务帐户的访问权限)的步骤是可选的。如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。
  • 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。

Citrix Cloud 服务帐户密钥

在 Citrix DaaS 中创建连接需要 Citrix Cloud 服务帐户密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Citrix 的“完整配置”界面无法进行解析。

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

提示:

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

启用 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. 当前项目中的子网选项卡中找出 Citrix 环境使用的子网。
  3. 点击子网的名称并启用 Google 私有访问权限

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

重要提示:

如果您的网络配置为防止虚拟机访问互联网,请确保您的组织承担与为虚拟机连接的子网启用 Google 专用访问权限相关的风险。

下一步的去向

更多信息

Google Cloud 虚拟化环境