应用程序如何安全地存储Google Cloud Datoreore中的机密信息?

Chr*_*ney 13 security google-app-engine oauth google-cloud-datastore google-cloud-platform

我正在构建一个将在Google App Engine(GAE)上运行的应用程序.它需要访问用户在其他系统中存储的数据(例如用户的Nest恒温器,Yahoo邮件).在GAE上运行的应用程序将允许用户为其他系统提供凭据.该应用程序会将这些凭据存储在Google Cloud(数据存储区)中,以供以后代表用户在Google Compute Engine上运行的应用程序使用.该应用程序还允许OAuth允许用户允许应用程序代表用户访问外部系统.该应用程序需要在Google Cloud中存储用户凭据(用户名和密码)或OAuth访问令牌.

应用程序需要在存储密码之前加密密码,并且能够解密数据以将其发送到外部系统.也就是说,系统将需要使用对称加密,因此需要安全地管理密钥.

应用程序如何安全地将这些机密存储在Google Cloud Datastore(数据存储区)中?我想我正在寻找像Google CloudHSM for Google这样的东西.也就是说,我想用种子和密钥id存储每个秘密,并使用密钥id从密钥管理系统获取密钥.此实现还允许密钥轮换和其他标准安全实践.

我想我正在寻找提供秘密管理的Google云服务或Google API,并且只允许具有适当Google应用标识符的应用访问这些机密.

Google Cloud或Google API中是否有可以管理机密的服务?我应该考虑另一种架构吗?

顺便说一下,该应用程序使用Google Identity Toolkit(GitKit)来验证和授权用户使用GAE托管的应用程序.该应用程序允许用户使用联合身份或用户名和密码通过GitKit创建帐户.

谢谢,克里斯

Gab*_*iel 1

应用程序身份服务可能就是您正在寻找的https://cloud.google.com/appengine/docs/java/appidentity/#Java_Asserting_identity_to_other_systems

它允许您使用特定于应用程序的私钥对内容进行签名,并提供轮换证书来验证签名的内容。