【问题标题】:Google Secret Manager - Can it be used for storing usernames and passwords of API users?Google Secret Manager - 可以用于存储 API 用户的用户名和密码吗?
【发布时间】:2020-07-16 03:21:07
【问题描述】:

考虑一个接收 HTTPS 请求并使用 HTTP 基本身份验证的 API。每当收到请求时,应用程序都需要检查标头中的用户名/密码组合是否有效。可能有成千上万的用户,每个用户都有自己的密钥。

我想知道 Google Secret Manager 是否适合这个用例。那就是:

  • 我可以将每个 API 用户名/密码存储在 Secret Manager 中,使用用户名作为密钥 ID。
  • 然后,每当有请求进入时,应用程序将:(1) 查找 Authorization 标头中存在的用户名的凭据,(2) 将标头密码与从 Secret Manager 检索到的密码进行比较,(3) 拒绝如果有不匹配的请求。

对于上述情况,Google Secret Manager 是否有效且可取?

【问题讨论】:

    标签: google-secret-manager


    【解决方案1】:

    这在技术上是可行的,因为 GCP 项目中的机密数量没有限制。但是,它可能很快变得昂贵。每个秘密是 0.06 美元/月。这意味着每个用户每年花费 0.72 美元。对于 100 万用户,这就是 72 万美元/年 + API 运营成本。

    还有延迟需要考虑。您需要在用户请求的上下文中对 Secret Manager 进行 API 调用。这很容易使往返延迟加倍。您考虑的架构是正确的,但 Secret Manager 并不是真正的 LDAP 或身份验证服务器。

    【讨论】:

    • 谢谢。这可能应该放在一个单独的问题中,但是您对所描述的用例有什么建议吗?带有 Cloud Run 的 Cloud Endpoints 似乎很接近,但我不确定它的 API 密钥身份验证机制是否适用于管理可能成千上万的用户。
    • 身份感知代理:cloud.google.com/iap。映射到 GSuite 用户或 Cloud Identity 用户:cloud.google.com/identity
    猜你喜欢
    • 2013-12-27
    • 1970-01-01
    • 2011-08-13
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多