我已成功使用Google Cloud ML引擎训练了我的第一个网络,现在我正在尝试通过提供自己的加密密钥来加密数据,从而使设置更安全一些。正如the manual中所述,我现在使用自己的自定义加密密钥将数据复制到云存储,而不是将其存储在未加密的位置。
然而,现在我的设置(显然!)破了,因为我提交给ML引擎的Python代码无法解密文件。我期待--decrypt-key
到gcloud ml-engine jobs submit training
之类的选项,但我找不到这样的选项。如何提供此密钥,以便我的代码可以解密数据?
答案 0 :(得分:0)
简短回答:您不应将解密密钥传递给培训作业。相反,请参阅https://cloud.google.com/kms/docs/store-secrets
答案很长:虽然技术上可以使解密密钥成为通过Training Job定义传递的标志,但这会将其暴露给有权访问List Training Jobs的任何人。您应该将密钥放在Google Cloud Key Management Service中,并为运行ML培训作业的服务帐户授予从该处获取密钥的权限。
中列出的步骤确定运行培训作业的服务帐户编辑:还要注意Alexey在下面的评论中所说的内容; Tensorflow目前无法直接从GCS读取和解密文件,您需要使用提供给gsutil cp
的密钥将它们复制到每个工作人员的本地磁盘上。