提供解密密钥与gcloud工作提交培训

时间:2017-09-01 14:31:11

标签: encryption google-cloud-platform google-cloud-storage google-cloud-ml-engine

我已成功使用Google Cloud ML引擎训练了我的第一个网络,现在我正在尝试通过提供自己的加密密钥来加密数据,从而使设置更安全一些。正如the manual中所述,我现在使用自己的自定义加密密钥将数据复制到云存储,而不是将其存储在未加密的位置。

然而,现在我的设置(显然!)破了,因为我提交给ML引擎的Python代码无法解密文件。我期待--decrypt-keygcloud ml-engine jobs submit training之类的选项,但我找不到这样的选项。如何提供此密钥,以便我的代码可以解密数据?

1 个答案:

答案 0 :(得分:0)

简短回答:您不应将解密密钥传递给培训作业。相反,请参阅https://cloud.google.com/kms/docs/store-secrets

答案很长:虽然技术上可以使解密密钥成为通过Training Job定义传递的标志,但这会将其暴露给有权访问List Training Jobs的任何人。您应该将密钥放在Google Cloud Key Management Service中,并为运行ML培训作业的服务帐户授予从该处获取密钥的权限。

您可以按照https://cloud.google.com/ml-engine/docs/how-tos/working-with-data#using_a_cloud_storage_bucket_from_a_different_project

中列出的步骤确定运行培训作业的服务帐户

编辑:还要注意Alexey在下面的评论中所说的内容; Tensorflow目前无法直接从GCS读取和解密文件,您需要使用提供给gsutil cp的密钥将它们复制到每个工作人员的本地磁盘上。