逐步配置 Google Cloud 权限和 Cloud Storage,以便将 Cloud Storage 中的数据导出到设备

本文档逐步介绍了如何配置 Google Cloud 权限和 Cloud Storage,包括:

  • 准备 Cloud Storage 存储桶。
  • 准备 Cloud Key Management Service 密钥以保护您的数据。
  • 向 Transfer Appliance 团队提供 Cloud Storage 存储桶配置 数据。

准备工作

确保您收到了 Transfer Appliance 团队发来的名为 Google Transfer Appliance 权限。此电子邮件 包含:

  • 转移所需的服务账号的名称。

  • 配置设备时所需的会话 ID。

  • 您在配置账号后需要填写的表单。

准备 Cloud Storage 存储桶的权限

我们使用两个服务账号转移您的数据。服务账号是应用(而非人员)用于执行操作的特殊账号。在这种情况下 允许 Transfer Appliance 使用 Cloud Storage 资源 在 Cloud Storage 和 Search Appliance 之间转移数据。 您可以向这些账号授予转移数据所需的角色。

如需准备 Cloud Storage 存储桶,请按以下步骤操作:

  1. 在标题为 Google Transfer Appliance 权限的电子邮件中,Transfer Appliance 团队为您提供了以下服务 账号:

    • 与此特定转移关联的会话服务账号。类似以下示例:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      在此示例中,SESSION_ID 是此特定转移的会话 ID。

    • 一个 Transfer Service for On Premises Data 服务,我们使用该服务在 Cloud Storage 和设备之间转移数据。 类似于以下示例:

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

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

    请记下这些服务账号,以便在后续步骤中使用。

    这些服务账号允许 Transfer Appliance 操作 代表您访问 Google Cloud 资源,即在 Cloud Storage 与设备之间转移数据。 您向这些账号授予必要的角色,以便在 Cloud Storage 和设备之间传输数据。

  2. Cloud Storage 存储分区与 Google Cloud 项目相关联。您选择的存储桶必须与用于订购设备的项目位于同一项目中。

  3. 授予 Transfer Appliance 服务账号权限 要使用 Cloud Storage 存储桶,请执行以下操作:

    Google Cloud Console

    1. 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。

      进入“存储桶”

    2. 点击存储分区溢出菜单 () 与您要向主账号授予角色的存储桶相关联。

    3. 选择修改存储分区权限

    4. 点击 + 添加主账号按钮。

    5. 新的主账号字段中,输入以下身份:

      • 会话服务账号。类似以下示例:

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        在此示例中,SESSION_ID 是此特定转移的会话 ID。

      • Transfer Service for On Premises Data 服务代理。与以下代码类似 示例:

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

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

    6. 选择角色下拉菜单中,选择 Storage Admin 角色。

      您选择的角色将显示在窗格中,其中包含对角色授予的权限的简短说明。

    7. 点击保存

    命令行

    使用 gcloud storage buckets add-iam-policy-binding 命令:

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
    --role=roles/storage.admin
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \
    --role=roles/storage.admin

    在此示例中:

    • BUCKET_NAME:您要创建的存储分区的名称。
    • SESSION_ID:此特定转移的会话 ID。
    • TENANT_IDENTIFIER:一个生成的数字,具体如下: 这个特定的项目

准备 Cloud KMS 密钥

Transfer Appliance 通过 对数据进行加密Cloud Key Management Service (Cloud KMS) 使用公开密钥 来加密 Transfer Appliance 上的数据,而私钥是 来解密数据

我们将使用 准备 Cloud Storage 存储桶的权限,以上传 将数据从 Cloud Storage 存储桶传输到设备。

您可以通过以下方式管理加密密钥:

  • 自行创建和管理加密密钥。您负责创建和管理 加密密钥用于传输。 您需要准备一个 Cloud KMS 非对称解密密钥, 会话服务账号分配给该密钥。

要准备 Cloud KMS 密钥,请执行以下操作:

  1. 如果您没有 Cloud Key Management Service 密钥环,请执行以下操作进行创建:

    Google Cloud Console

    1. 转到加密密钥页面 Google Cloud 控制台。

      转到“加密密钥”页面

    2. 点击创建密钥环

    3. 密钥环名称字段中,输入密钥环的名称。

    4. 密钥环位置下拉列表中,选择一个位置,例如 "us-east1"

    5. 点击创建

    命令行

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    在此示例中:

    • LOCATION:密钥环的 Cloud Key Management Service 位置。例如 global
    • KEY_RING:密钥环的名称。
    • PROJECT_ID:您的存储分区所属的 Google Cloud 项目 ID。
  2. 执行以下操作,创建非对称解密密钥:

    Google Cloud Console

    1. 转到加密密钥页面 Google Cloud 控制台。

      转到“加密密钥”页面

    2. 点击您要为其创建密钥的密钥环的名称。

    3. 点击创建密钥

    4. 您要创建哪种类型的密钥?部分,选择生成的密钥

    5. 密钥名称字段中,输入密钥的名称。

    6. 点击保护级别下拉列表,然后选择软件

    7. 点击用途下拉列表,然后选择非对称解密

    8. 点击算法下拉菜单,然后选择 4096 位 RSA - OAEP 填充 - SHA256 摘要

    9. 点击创建

    命令行

    运行以下命令以创建非对称解密密钥:

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    在此示例中:

    • KEY:Cloud Key Management Service 密钥的名称。例如 ta-key
    • KEY_RING:密钥环的名称。
    • LOCATION:密钥环的 Cloud Key Management Service 位置。例如 global
    • PROJECT_ID:您的存储分区所属的 Google Cloud 项目 ID。
  3. 执行以下操作,将会话服务账号添加为非对称密钥的主账号:

    Google Cloud Console

    1. 前往 Google Cloud 控制台中的加密密钥页面。

      转到“加密密钥”页面

    2. 点击包含非对称密钥的密钥环。

    3. 选中非对称密钥对应的复选框。

    4. 信息面板中,点击添加主账号

      系统随即会显示添加主账号

    5. 新主账号字段中,输入 Transfer Appliance 团队提供的会话服务账号。类似以下示例:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      在此示例中,SESSION_ID 是此特定转移的会话 ID。

    6. 选择角色字段中,添加 Cloud KMS CryptoKey Public Key Viewer 角色。

    7. 点击保存

    命令行

    1. 运行以下命令以向会话服务账号授予 roles/cloudkms.publicKeyViewer 角色:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      在此示例中:

      • KEY:Cloud Key Management Service 密钥的名称。例如 ta-key
      • KEY_RING:密钥环的名称。
      • LOCATION:密钥环的 Cloud Key Management Service 位置。例如 global
      • SESSION_ID:此特定转移的会话 ID。
  4. 按照以下步骤获取非对称密钥的路径:

    Google Cloud Console

    1. 转到 Google Cloud 控制台中的“加密密钥”页面

      转到“加密密钥”页面

    2. 点击包含非对称解密密钥的密钥环。

    3. 点击非对称解密密钥的名称。

    4. 选择所需的密钥版本,然后点击“更多”

    5. 点击复制资源名称

      密钥格式示例如下:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      在此示例中:

      • PROJECT_ID:您的存储分区所属的 Google Cloud 项目 ID。
      • LOCATION:密钥环的 Cloud Key Management Service 位置。
      • KEY_RING:密钥环的名称。
      • KEY:Cloud Key Management Service 密钥的名称。
      • VERSION_NUMBER:密钥的版本号。

      Transfer Appliance 团队需要包括版本号在内的整个密钥路径,以便将正确的密钥应用于您的数据。

    命令行

    运行以下命令以列出非对称密钥的完整路径,包括其版本号:

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    在此示例中:

    • KEY_RING:密钥环的名称。
    • KEY:非对称密钥的名称。
    • LOCATION:密钥环的 Google Cloud 位置。
    • PROJECT_ID:您的存储分区所属的 Google Cloud 项目 ID。

    以下示例响应类似于返回的输出:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    在此示例中:

    • PROJECT_ID:您的存储分区所属的 Google Cloud 项目 ID。
    • LOCATION:密钥环的 Cloud Key Management Service 位置。
    • KEY_RING:密钥环的名称。
    • KEY:Cloud Key Management Service 密钥的名称。
    • VERSION_NUMBER:密钥的版本号。

    Transfer Appliance 团队需要 NAME 下以 /cryptoKeyVersions/VERSION_NUMBER 结尾的字符串,其中 VERSION_NUMBER 是密钥的版本号。

向 Transfer Appliance 团队提供存储桶配置数据

我们会发送一封标题为 Google Transfer Appliance 权限的电子邮件,以收集有关您的 Cloud Storage 存储桶的信息。我们会使用您提供的信息来配置 Cloud Storage 和 Transfer Appliance 之间的传输数据。

在该电子邮件链接的表单中,输入以下信息:

  • Google Cloud 项目 ID
  • 选择加密选项:
    • 客户管理的加密密钥,请从 选择客户管理的加密密钥下拉菜单。
  • Google Cloud Cloud Storage 存储桶名称,用于 数据。

后续步骤

配置 IP 网络端口: Transfer Appliance 在您的网络中工作。