保存Google Cloud Platform服务帐户凭据的位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保存Google Cloud Platform服务帐户凭据的位置相关的知识,希望对你有一定的参考价值。

我正在使用Google Cloud Storage,现在需要将我的平台发布到暂存站点,但不知道在何处存储Google服务帐户凭据:

{
  "type": "service_account",
  "project_id": "",
  "private_key_id": "",
  "private_key": "",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": ""
}

我猜测不应该在私有的Github存储库中对它们进行排序,并且不能将它们保存在ENV变量中。

我阅读了这篇文章:Google Cloud Functions - How to securely store service account private key when using Google Source Repository?

但是,我觉得这太过分了,必须有一种更好的方法来保存凭据文件。或者,凭证甚至是保密的吗?他们需要保护吗?

谢谢!

答案

是的,凭据绝对是秘密的东西。它们是不记名令牌,这意味着拥有它们的任何人都可以将您的项目用于您授予的任何权限。请不要将它们上传到GitHub存储库或类似的文件中。

您的问题的答案很大程度上取决于您如何/在何处将平台部署到云(哪些产品)。其中的许多部署时都可以选择为产品分配服务帐户,这意味着不需要凭证文件本身,凭证将应用于在产品上运行的事物。

例如,如果要部署到Google Compute Engine,则在部署虚拟机时,可以为其分配服务帐户。

听起来您可能正在使用Cloud Functions(是否找到了链接?),在这种情况下,在部署Cloud Functions时也可以为其分配服务帐户。创建函数时,请展开底部的高级选项,然后检查“网络”部分上方的Service account下拉菜单。如果分配在该字段中创建的服务帐户,则从该函数内部运行的所有内容都将具有您分配给该服务帐户的权限。

如果您使用的是与GCE或GCF不同的产品,请在此处评论,我可以为您提供一些参考资源。

以上是关于保存Google Cloud Platform服务帐户凭据的位置的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Messaging VS Google Cloud Platform

有关如何从 Google Cloud Platform 调用外部网络服务的任何信息?

有没有办法在 Google Cloud Platform 中对服务帐户进行分组?

使用 REST API 向 Google Cloud Platform 上的服务帐户添加角色

如何将本地训练的 TensorFlow 图形文件部署到 Google Cloud Platform?

如何在 Google Cloud Platform 上部署 GRPC 服务器和客户端?