我想知道Google计算引擎VM实例的自定义元数据是否适合存储敏感信息以配置在该实例上运行的应用程序。
因此,我们使用容器优化的OS映像来运行微服务。我们为容器配置环境变量,以用于数据库连接和与之集成的其他系统的凭据。
对于每个CD部署,VM都是短暂的,到目前为止,我想出的最好的办法是创建一个实例模板,该模板的配置值通过我保存在本地计算机上的文件加载到VM自定义元数据中,然后在虚拟机启动时将其提供给systemctl单元使用(cloud-config)。
这意味着从我上载环境变量值(有些包含凭据)(变化不大),然后在启动新VM时将其从VM实例元数据服务器中拉出。所以我只是想知道这种方法是否存在重大的安全问题...
非常感谢您的帮助
答案 0 :(得分:2)
根据Compute Engine documentation:
元数据信息安全吗?
当您请求获取 来自元数据服务器,您的请求和后续请求的信息 元数据响应永远不会离开运行虚拟主机的物理主机 机器实例。
由于请求和响应没有离开物理主机,因此您将无法从其他VM或从Google Cloud Platform外部访问元数据。但是,任何有权访问VM的用户都可以查询元数据服务器并检索信息。
根据您提供的信息,以这种方式存储测试或登台环境的凭据是可以接受的。但是,如果这是一个包含客户或对业务很重要的信息的生产系统,则我会将凭据保存在可跟踪访问的安全存储中。元数据服务器中的数据未加密,并且访问未记录。