本文档介绍了如何逐步配置 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 和设备之间转移数据。您需要向这些账号授予必要的角色,以便转移数据。
如需准备 Cloud Storage 存储桶,请按以下步骤操作:
在标题为 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 和设备之间传输数据。
Cloud Storage 存储分区与 Google Cloud 项目相关联。您选择的存储桶必须与用于订购设备的项目位于同一项目中。
如需向 Transfer Appliance 服务账号授予使用您的 Cloud Storage 存储桶的权限,请执行以下操作:
Google Cloud 控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
点击您要向主账号授予角色的存储桶关联的存储桶溢出菜单 (
)。
选择修改存储分区权限。
点击 + 添加主账号按钮。
在新的主账号字段中,输入以下身份:
会话服务账号。类似以下示例:
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
是特定于此特定项目的生成编号。
从选择角色下拉菜单中,选择 Storage Admin 角色。
您选择的角色将显示在窗格中,其中包含对角色授予的权限的简短说明。
点击保存。
命令行
使用
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
:特定于此特定项目的生成编号。
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
准备 Cloud KMS 密钥
Transfer Appliance 会对数据进行加密,以此保护设备上的数据。Cloud Key Management Service (Cloud KMS) 公共密钥用于加密 Transfer Appliance 上的数据,私钥用于解密数据。
我们将使用准备 Cloud Storage 存储桶的权限中的会话服务账号将数据从您的 Cloud Storage 存储桶上传到设备。
您可以通过以下方式管理加密密钥:
- 自行创建和管理加密密钥。您可以按照以下说明创建和管理用于转移的加密密钥。您需要准备一个 Cloud KMS 非对称解密密钥,并将会话服务账号添加到该密钥。
要准备 Cloud KMS 密钥,请执行以下操作:
如果您没有 Cloud Key Management Service 密钥环,请执行以下操作进行创建:
Google Cloud 控制台
前往 Google Cloud 控制台中的加密密钥页面。
点击创建密钥环。
在密钥环名称字段中,输入密钥环的名称。
在密钥环位置下拉列表中,选择一个位置,例如
"us-east1"
。点击创建。
命令行
gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
在此示例中:
LOCATION
:密钥环的 Cloud Key Management Service 位置。例如global
。KEY_RING
:密钥环的名称。PROJECT_ID
:您的存储分区所属的 Google Cloud 项目 ID。
执行以下操作,创建非对称解密密钥:
Google Cloud 控制台
前往 Google Cloud 控制台中的加密密钥页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在您要创建哪种类型的密钥?部分,选择生成的密钥。
在密钥名称字段中,输入密钥的名称。
点击保护级别下拉列表,然后选择软件。
点击用途下拉列表,然后选择非对称解密。
点击算法下拉列表,然后选择 4096 位 RSA - OAEP 填充 - SHA256 Digest
点击创建。
命令行
运行以下命令以创建非对称解密密钥:
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。
执行以下操作,将会话服务账号添加为非对称密钥的主账号:
Google Cloud 控制台
前往 Google Cloud 控制台中的加密密钥页面。
点击包含非对称密钥的密钥环。
选中非对称密钥对应的复选框。
在信息面板中,点击添加主账号。
系统会显示添加主账号。
在新主账号字段中,输入 Transfer Appliance 团队提供的会话服务账号。类似以下示例:
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
在此示例中,
SESSION_ID
是此特定转移的会话 ID。在选择角色字段中,添加 Cloud KMS CryptoKey Public Key Viewer 角色。
点击保存。
命令行
运行以下命令,向会话服务账号授予
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。
按照以下步骤获取非对称密钥的路径:
Google Cloud 控制台
转到 Google Cloud 控制台中的“加密密钥”页面
点击包含非对称解密密钥的密钥环。
点击非对称解密密钥的名称。
选择所需的密钥版本,然后点击“更多” more_vert。
点击复制资源名称。
密钥格式示例如下:
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 CloudPROJECT_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 在您的网络中正常运行。