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

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

设备 Cloud 设置应用会提示您提供信息,例如传输会话 ID、目标 Cloud Storage 存储桶和 Cloud Key Management Service (Cloud KMS) 偏好设置。利用您提供的信息, 设备云设置应用会配置您的 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:创建和下载服务账号密钥。可以在项目级授予,也可以授予给 Appliance 创建服务账号之后。
  • 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 设置应用

要下载设备云设置应用,请执行以下操作:

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

    打开 Google Cloud 控制台“欢迎”页面

  2. 验证用于转移的项目的名称是否显示在项目选择器中。项目选择器会显示当前正在运行的项目。

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

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

  3. 点击“激活 Cloud Shell”。

    从菜单栏启动 devshell。

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

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

运行 Appliance Cloud 设置应用

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

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 Cloud Storage 目标存储桶前缀(如果 您提供一个值。
    • 在线转移服务账号名称(如果适用)和 Storage Transfer Service 服务代理名称。

系统还会将显示的信息存储在 Cloud Shell 的主目录中,该目录名为 SESSION_ID-output.txt,其中 SESSION_ID 是此次转移的会话 ID。

获准执行此特定传输的服务账号的名称存储在 Cloud Shell 的主目录(名为 cloudsetup.log)中。

向 Google 发送 CMEK 信息

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

下载服务账号密钥

下载并保存在线转移服务账号的服务账号密钥。

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 是提供给 设备云设置应用。

解决方案:

验证转移作业的会话 ID。每个会话的会话 ID 由 Transfer Appliance 团队共享。如果您尚未收到会话 ID,请发送电子邮件至 data-support@google.com

错误:列出 KMS 位置

问题:

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

Error: listing kms locations

解决方案:

在 Cloud Shell 中执行以下操作:

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

  2. 重试运行 Appliance Cloud 设置应用。

如果错误仍然存在,请发送电子邮件至 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 密钥。

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