![](/img/trans.png)
[英]Using a service account and JSON key which is sent to you to upload data into google cloud storage
[英]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.