使用设置应用配置 Google Cloud 项目

本文档介绍如何使用 Appliance Cloud 设置应用配置 Google Cloud 权限和 Cloud Storage。

Appliance Cloud 设置应用会提示您输入转移会话 ID、目标 Cloud Storage 存储桶和 Cloud Key Management Service (Cloud KMS) 偏好设置等信息。Appliance Cloud 设置应用会使用您提供的信息为转移作业配置 Google Cloud 权限、首选 Cloud Storage 存储桶和 Cloud KMS 密钥。

准备工作

确保您具备以下各项:

  • 用于订购设备的项目名称和营业地点。

  • 订购设备时指定的设备 ID、会话 ID、存储桶名称、存储桶前缀和加密密钥。您可以在标题为 Google Transfer Appliance 准备权限和存储空间的电子邮件中找到相关信息。

  • 标题为 Google Transfer Appliance Prepare Permissions and Storage 的电子邮件中列出的 Storage Transfer Service 服务代理。它类似于以下示例:

    project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

    在此示例中,TENANT_IDENTIFIER 是为此特定项目生成的专属编号。

    我们使用 Storage Transfer Service 将数据从设备转移到您的 Cloud Storage 存储桶。

分配 IAM 角色

您必须拥有项目和 Cloud Storage 存储桶的正确 IAM 角色

如果您是项目所有者,则使用 roles/owner 就足够了。请跳至下一部分:下载 Appliance Cloud 设置应用

如果您没有 roles/owner,则必须拥有以下角色:

  • roles/serviceusage.serviceUsageAdmin:用于在项目中启用所需的 API。
  • roles/iam.serviceAccountCreator:用于创建新的服务帐号。
  • roles/iam.serviceAccountKeyAdmin:用于创建和下载服务帐号密钥。可以在项目级授予,也可以在权限应用创建设备后将其授予设备服务帐号。
  • roles/storagetransfer.admin:用于创建 Storage Transfer Service 服务帐号。
  • roles/transferappliance.viewer:用于提取 Cloud Storage 存储桶和 Cloud Key Management Service 密钥详细信息。
  • roles/storage.admin:可以在项目级授予(如果您尚未创建 Cloud Storage 存储桶)或可以在存储桶级授予(如果您使用的是现有 Cloud Storage 存储桶)。
  • roles/cloudkms.admin:如果您尚未创建 Cloud KMS 密钥,则可以在项目级授予;如果您使用的是现有 Cloud KMS 密钥,则可以在密钥级别授予。

查看角色

如需查看主帐号对某个项目及其资源的 IAM 角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM 页面

  2. 此页面会显示针对您的项目具有 IAM 角色的所有主帐号。

下载 Appliance Cloud 设置应用

如需下载 Appliance Cloud 设置应用,请执行以下操作:

  1. 打开 Google Cloud 控制台欢迎页面。

    打开 Google Cloud 控制台欢迎页面

  2. 验证用于传输的项目的名称是否显示在项目选择器中。项目选择器会显示您当前正在处理的项目。

    从项目选择器中选择一个 Google Cloud 项目

    如果您没有看到用于转移作业的项目的名称,请点击项目选择器,然后选择正确的项目。

  3. 点击“激活 Cloud Shell”。

    从菜单栏启动 devshell。

  4. 在 Cloud Shell 中,使用 wget 命令下载 Appliance 云设置应用:

    wget https://storage.googleapis.com/transferappliance/cloudsetup/ta_cloudsetup_x86_64-linux -O ta_cloudsetup_x86_64-linux
    

运行 Appliance Cloud 设置应用

在 Cloud Shell 中运行以下命令,启动设备云设置应用:

chmod 0777 ta_cloudsetup_x86_64-linux && ./ta_cloudsetup_x86_64-linux

该应用将引导您完成配置项目所需的步骤。

应用输出

Appliance Cloud 设置应用会完成以下操作:

  • 向用于将数据转移到 Cloud Storage 存储桶的 Appliance 服务帐号授予权限。
  • 如果您选择使用客户管理的加密密钥,则需向设备服务帐号授予访问 Cloud KMS 密钥数据的权限。
  • 系统会显示以下信息:

    • Google Cloud 加密密钥资源名称(如果您选择使用客户管理的 Cloud KMS 加密密钥)。
    • Google Cloud Cloud Storage 目标存储桶名称
    • Google Cloud Storage 目标存储桶前缀(如果您已提供)。
    • Online Transfer 服务帐号名称和 Storage Transfer Service 服务代理名称(如果适用)。

显示的信息还存储在 Cloud Shell 上的主目录中,名为 SESSION_ID-output.txt,其中 SESSION_ID 是此特定转移作业的会话 ID。

针对此特定转移作业获得权限的服务帐号的名称存储在 Cloud Shell 上的主目录中,名为 cloudsetup.log

向 Google 发送 CMEK 信息

如果您指定了客户管理的加密密钥,请填写名为 Google Transfer Appliance 准备权限和存储空间的电子邮件中链接的表单,将密钥信息发送给我们。

下载服务帐号密钥

下载并保存 Online Transfer Service 账号的服务帐号密钥。

gcloud iam service-accounts keys create key.json \
  --iam-account=APPLIANCE_SERVICE_ACCOUNT_EMAIL

APPLIANCE_SERVICE_ACCOUNT_EMAIL 的值显示在权限应用的输出中:

...

Appliance Service Account Name:
example-sa@example-project.iam.gserviceaccount.com

收到设备后,将密钥上传到设备上的 /tmp 目录。

问题排查

错误 400:服务账号不存在

问题

设备云设置应用会显示以下消息:

Service account ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
does not exist.

其中,SESSION_ID 是向 Appliance Cloud Setup 应用提供的会话 ID。

解决方案:

验证转移作业的会话 ID。每个转移会话的会话 ID 都是唯一的,并由 Transfer Appliance 团队共享。如果您尚未收到会话 ID,请与 data-support@google.com 联系。

错误:列出 KMS 位置

问题

设备云设置应用会显示以下消息:

Error: listing kms locations

解决方案:

在 Cloud Shell 中执行以下操作:

  1. 运行 gcloud auth login 重新进行身份验证。

  2. 重试虚拟设备云设置应用。

如果错误仍然存在,请通过 data-support@google.com 与 Transfer Appliance 团队联系。

错误:创建 Cloud KMS 密钥限制时出错

问题

设备云设置应用会显示类似如下的消息:

Error: creating cloud kms key violates constraint error: code = FailedPrecondition
desc= europe-west6 violates constraint 'constraints/gcp.resourceLocations' on
the resource 'projects/test/locations/europe-west6'

解决方案:

您的 Google Cloud 项目的组织政策可能禁止在某些位置创建 Cloud Key Management Service 密钥。以下是可能的解决方案:

  • 选择其他位置以创建 Cloud Key Management Service 密钥。
  • 更新组织政策,以允许在所需位置创建 Cloud Key Management Service 密钥。

如需了解详情,请参阅限制资源位置