cbd*_*per 5 security service-accounts google-cloud-platform google-cloud-iam
这是我来自 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": "",
}
Run Code Online (Sandbox Code Playgroud)
哪些字段应该保密?我的意思是,我会将其中的大部分添加到我的 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",
}
Run Code Online (Sandbox Code Playgroud)
我也应该隐藏吗private_key_id?
必须private_key受到保护。如果该值与 一起披露project_id,那么有人可以轻松创建授权令牌并破坏您的 Google Cloud 项目。如果服务账户具有正确的 IAM 角色,他们就可以控制您的项目。
仍然可以在不公开的情况下创建授权令牌,project_id但这需要更多时间,因为可以通过其他方式推断出项目 ID。
用于private_key_id查找 RSA 公钥以验证private_key. 密钥 ID 是公开的,泄露不成问题。
只有这private_key是一个秘密。其他值是敏感数据或公共数据。
最佳实践:保护整个服务帐户。
| 归档时间: |
|
| 查看次数: |
685 次 |
| 最近记录: |