代码之家  ›  专栏  ›  技术社区  ›  Ido Ran

以安全的方式在appengine应用程序中获取OAuth2客户机机密

  •  2
  • Ido Ran  · 技术社区  · 6 年前

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

    我需要一种方法来访问客户端的秘密,因为我不想只是硬编码到我的代码。

    有没有办法使用我的应用程序引擎服务帐户访问凭据数据?

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   David Lister    6 年前

    谷歌最近发布了一项新的保密服务 https://cloud.google.com/kms/

    您可以使用此服务安全地管理任何机密(包括访问密钥和机密旋转、无效…)。考虑以下策略,你需要管理你的秘密(来源于 https://cloud.google.com/kms/docs/secret-management ):

    选择最佳的秘密管理解决方案取决于您独特的

    1. 应用层。使用此解决方案有助于提供额外的 通过限制 获取秘密。所有人不得接触这个秘密 只有那些同时拥有代码访问权限的开发人员才能访问代码 到代码和相应的键。即使在所有 开发人员可以访问代码和密钥,实现这一点 选项的好处在于它提供了审核对 秘密,这在代码库中可能是不可能的。

    2. 将秘密存储在云存储的存储桶中,在 休息。此解决方案与以前的解决方案具有类似的优点,例如 它限制了一小部分开发人员和 必要时;例如,如果检测到安全漏洞。也, 此解决方案允许系统分离;如果代码存储库 使用这些秘密被破坏了,秘密本身可能仍然是 受保护的。

    3. 此外,这些工具不仅可以让您旋转机密,还可以 很容易,但是,在某些情况下,要么在你的身体上进行旋转

    警告:另一个常见的选择是将您的秘密直接存储在 代码。不建议使用此选项。虽然这是最简单的 解决方案的实现,它可能允许任何人访问 漏洞最多可能导致滥用您的数据和帐户