敏感信息作为环境变量存储在 Cloud 运行 与 Compute Engine 中

Sensitive info stored as environment variables in Cloud Run vs Compute Engine

我使用 Compute Engine(CE) 实例来 运行 我的云 运行 部署的 RESTful api 服务的 PostgreSQL 数据库服务器。

我先创建了CE实例。当我设置实例时,我将数据库密码作为环境变量注入。没有警告提到不要这样做。

后来当我设置 Cloud 运行 服务时,在环境变量部分下,有一个明确的警告 NOT TO INJECT SENSITIVE INFO via environment variables 并建议改用 Secret Manager。

这是否意味着在专用 CE 实例上通过环境变量注入敏感信息是安全的?或者无论服务是什么,我都应该始终使用像 Secret Manager 这样的工具吗?

这意味着 Cloud 运行 团队实施了 CE 团队尚未实施的警告。没有或多或少的安全产品,这是一个常见的最佳实践:不要以纯文本形式存储你的秘密:在文件中,在环境变量中,......现在甚至在内存中,这就是为什么机密计算解决方案已由 Google云

因此,请使用可以安全存储您的秘密的服务。 Secret Manager 是实现这一目标的简单易行的地方。您还可以使用 KMS 密钥 cipher/decipher 您的敏感数据。但要保守秘密!