繁体   English   中英

哪些字段应该以 JSON 格式在 Google Cloud 服务帐户密钥中保密?

[英]Which fields should be kept private in a Google Cloud service account key in JSON format?

这是我来自 Google 的 JSON 服务帐户密钥的形状。

{
  "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": "",
}

哪些字段应该保密? 我的意思是,我会将其中的大部分添加到我的 Git 存储库中,并将私有位添加为环境变量。

保护private_key就足够了吗?

例如:

帐户.ts

{
  "type": "service_account",
  "project_id": "VALUE",
  "private_key_id": "VALUE",
  "private_key": process.env.PRIVATE_KEY,  // Populating it via env variables
  "client_email": "VALUE",
  "client_id": "VALUE",
  "auth_uri": "VALUE",
  "token_uri": "VALUE",
  "auth_provider_x509_cert_url": "VALUE",
  "client_x509_cert_url": "VALUE",
}

我还应该隐藏private_key_id吗?

private_key必须受到保护。 如果该值与project_id一起公开,则有人可以轻松创建授权令牌并破坏您的 Google Cloud 项目。 如果服务帐户具有正确的 IAM 角色,他们可以控制您的项目。

仍然可以在不公开project_id的情况下创建授权令牌,但这需要更多时间,因为项目 ID 可以通过其他方式推断出来。

private_key_id用于查找 RSA 公钥以验证由private_key创建的签名。 密钥 ID 是公开的,它们的披露不是问题。

只有private_key是秘密。 其他值是敏感数据或公共数据。

最佳实践:保护整个服务帐户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM