Google app engine 以安全的方式在应用程序引擎应用程序中获取OAuth2客户端机密

Google app engine 以安全的方式在应用程序引擎应用程序中获取OAuth2客户端机密,google-app-engine,Google App Engine,我在Google App Engine中有一个使用OAuth2的应用程序。 我的工作假设OAuth ClientID是一个公开的公共数据,因为它被用于发送给客户端进行身份验证的URL中 我需要一种访问客户机密的方法,因为我不想将其硬编码到我的代码中 是否有方法使用我的应用程序引擎服务帐户访问凭据数据 如果不是的话,什么是安全存储客户机密的好方法?谷歌最近发布了一项存储机密的新服务 您可以使用此服务安全地管理任何机密(包括访问密钥和机密轮换、无效…)。考虑以下策略:你需要管理你的秘密(来源于):

我在Google App Engine中有一个使用OAuth2的应用程序。
我的工作假设OAuth ClientID是一个公开的公共数据,因为它被用于发送给客户端进行身份验证的URL中

我需要一种访问客户机密的方法,因为我不想将其硬编码到我的代码中

是否有方法使用我的应用程序引擎服务帐户访问凭据数据


如果不是的话,什么是安全存储客户机密的好方法?

谷歌最近发布了一项存储机密的新服务

您可以使用此服务安全地管理任何机密(包括访问密钥和机密轮换、无效…)。考虑以下策略:你需要管理你的秘密(来源于):

选择秘密管理解决方案

选择最佳的机密管理解决方案取决于您独特的 现有环境、机密和安全需求。一些普通的 方法包括:

  • 将秘密存储在代码中,使用来自云KMS的密钥进行加密。这 解决方案通常是通过在服务器端加密机密来实现的 应用层。使用此解决方案有助于提供额外的解决方案 通过限制内部威胁的范围来保护内部威胁 了解秘密。所有人都不得接触这个秘密 只有那些同时拥有代码访问权限的开发人员才能访问代码 输入代码和相应的键。即使在所有 开发人员可以访问代码和密钥,实现了这一点 选项的好处在于它提供了审核对 机密,这在代码存储库中可能不可能

  • 将秘密存储在云存储的存储桶中,在 休息此解决方案与以前的解决方案具有类似的优点,具体如下: 它限制了一小部分开发人员和 提供审核该访问的能力。此外,通过存储 秘密在单独的位置,您可以更轻松地旋转秘密 必要时;例如,如果检测到安全漏洞。也, 该解决方案允许系统分离;如果代码存储库 使用这些秘密被泄露了,这些秘密本身可能仍然存在 受保护

  • 使用第三方秘密管理解决方案。专门的秘密 管理工具基于此列表中的前两个选项构建。在里面 此外,这些工具可能使您不仅可以旋转机密,还可以旋转更多机密 很容易,但在某些情况下,要么在你的 代表或简化定期轮换

  • 警告:另一个常见的选择是将您的秘密直接存储在 代码。不建议使用此选项。虽然这是最简单的 解决方案的实施,它可能允许任何人访问 您的代码也可以访问您的机密,使您容易受到攻击 从组织内外发起攻击。这 该漏洞最多可能导致滥用您的数据和帐户 在别处在最坏的情况下,它可能会向用户公开更多的数据 攻击者