Google Cloud environments

Citrix Virtual Apps and Desktops™ lets you provision and manage machines on Google Cloud.

先决条件

  • Citrix Cloud™ 帐户。本文中描述的功能仅在 Citrix Cloud 中可用。
  • 一个 Google Cloud 项目。该项目存储与计算机目录关联的所有计算资源。它可以是现有项目,也可以是新项目。
  • 在您的 Google Cloud 项目中启用四个 API。有关详细信息,请参阅启用 Google Cloud API
  • Google Cloud 服务帐户。该服务帐户向 Google Cloud 进行身份验证,以启用对项目的访问。有关详细信息,请参阅配置和更新服务帐户
  • 启用 Google 私有访问。有关详细信息,请参阅启用 Google 私有访问

启用谷歌云API

若要通过 Web Studio 使用谷歌云功能,请在您的谷歌云项目中启用这些 API:

  • 计算引擎 API
  • 云资源管理器 API
  • 身份和访问管理 (IAM) API
  • 云构建 API
  • 云密钥管理服务 (KMS)

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

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

    API 和服务仪表板选择图像

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

    1. 导航到 API 和服务 > 库

      API 和服务库图像

    2. 在搜索框中,键入 计算引擎

    3. 从搜索结果中,选择 计算引擎 API

    4. 计算引擎 API 页面上,选择 启用

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

    1. 导航到 API 和服务 > 库

    2. 在搜索框中,键入 云资源管理器

    3. 从搜索结果中,选择 云资源管理器 API

    4. 云资源管理器 API 页面上,选择 启用。API 的状态随即显示。

  4. 同样地,启用 身份与访问管理 (IAM) API云构建 API

您还可以使用 Google Cloud Shell 启用 API。为此,请执行以下操作:

  1. 打开 Google 控制台并加载云 Shell。
  2. 在 Cloud Shell 中运行以下四个命令:

    • gcloud services enable compute.googleapis.com
    • 谷歌云 服务启用 云资源管理器.googleapis.com
    • 谷歌云 服务启用 身份和访问管理.googleapis.com
    • gcloud services enable cloudbuild.googleapis.com
  3. 如果 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 生成的 密钥 对 Google Cloud 进行身份验证。

    您必须按照此处所述手动创建此服务帐户。有关详细信息,请参阅 创建 Citrix Cloud 服务帐户

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

  • Cloud Build 服务帐户:在您启用 启用 Google Cloud API 中提及的所有 API 后,此服务帐户会自动预配。要查看所有自动创建的服务帐户,请在 Google Cloud 控制台中导航到 IAM & Admin > IAM,然后选择 Include Google-provided role grants 复选框。

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

    验证服务帐户是否已获得以下角色。如果必须添加角色,请按照 向 Cloud Build 服务帐户添加角色 中概述的步骤操作。

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

    • 资源管理器.项目.获取
    • 存储.对象.创建
    • 存储.对象.获取
    • 存储.对象.列出

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

创建 思杰云 服务帐号

要创建 Citrix Cloud 服务帐户,请按照以下步骤操作:

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

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

    • 计算管理员
    • 存储管理员
    • 云构建 编辑者
    • 服务帐号用户
    • 云数据存储用户
    • 云密钥管理服务加密操作员

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

    • 云密钥管理服务.加密密钥.获取
    • 云密钥管理服务.加密密钥.列出
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    注意:

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

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

注意事项:

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

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

思杰云服务帐户密钥

在 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. 在谷歌云控制台中,导航到 IAM 和管理 > IAM
  2. IAM > 权限 页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址识别。

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

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

向 Cloud Build 服务帐户添加角色

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

  1. In the Google Cloud console, navigate to IAM & Admin > 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.list

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

    请验证服务帐户是否已获得以下角色。

    • 云构建服务帐户
    • Compute 实例管理员
    • 服务帐户用户

创建 思杰云 服务帐号

要创建 Citrix Cloud 服务帐户,请按照以下步骤操作:

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

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

    • 计算管理员
    • 存储管理员
    • 云构建编辑器
    • 服务帐户用户
    • 云数据存储用户
    • 云密钥管理服务加密操作员

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

    • 云密钥管理服务.加密密钥.获取
    • 云密钥管理服务.加密密钥.列出
    • 云密钥管理服务.密钥环.获取
    • 云密钥管理服务.密钥环.列出

    注意:

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

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

注意事项:

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

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

Citrix 云服务帐户密钥

在 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 云控制台中,导航到 IAM 和管理 > IAM
  2. 在“IAM > 权限”页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。

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

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

向 Cloud Compute 服务帐号添加角色

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

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

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

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

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

注意:

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

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

  1. 在谷歌云中,访问 VPC 网络配置
  2. 在“子网详细信息”屏幕中,启用“私有 Google 访问”。

私有谷歌访问

有关详细信息,请参阅 配置私有 Google 访问

重要提示:

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

后续步骤

更多信息

Google Cloud environments