【问题标题】:Restricting Google API Server to server service account key to be used with specific domains将 Google API 服务器限制为要与特定域一起使用的服务器服务帐户密钥
【发布时间】:2018-01-22 12:25:44
【问题描述】:

Google API Server To Server 服务帐户密钥是一个简单的 json 或 p12 文件,在某些情况下可能会遭到破坏。有没有办法将其使用限制在 Google Developer Console 中的特定 IP 或域?那里的支持主题根本没有帮助。

【问题讨论】:

    标签: google-api google-api-client google-oauth service-accounts


    【解决方案1】:

    没有服务帐户不能被限制为 IP 或域。目前,如果您拥有正确的凭据,则可以使用它们。

    这就是为什么您需要保护它们的安全。不过话虽如此,我认为这是个好主意。我将看看是否可以找到将其添加为功能请求的地方。

    openid 登录注意事项

    Signin 返回一个 id 令牌,此 id 令牌可以是 verified 验证 hd 声明与您的域名匹配。同样,这仅在您使用 openid 范围进行身份验证时才有效。

    来自 Google 的回应 我以 Google 身份联系了一位开发人员,这是他的回复。

    多年前,IP 限制具有一定的价值。现在,大多数应用程序都托管在云中,流量可以在世界各地移动,因此 IP 限制不是很有用。如果服务帐户凭据被盗用,是时候获取新凭据了,或者它们的使用方式不正确。

    【讨论】:

    • 谢谢。这绝对重要,实际上我很惊讶地发现缺少此功能。我在这里有一个类似的问题stackoverflow.com/questions/48366036/… 在我的场景中,我需要在 CMS 模块中使用服务密钥。在这种特殊情况下,它很容易被第三方模块窃取。我将它作为文件存储还是作为选项存储在数据库中都没关系。
    • 你的问题很容易解决。作为 CMS 模块的一部分,您可以发布您的凭据。 stackoverflow.com/a/28109307/1841839您需要指导您的用户如何创建自己的。
    • 我不打算发布我自己的信用,该模块的价值在于它对特定的用户数据进行了一些处理。但这就是问题所在:如果他们存储了他们的凭据,那么使用 3rd 方模块可以相对容易地窃取它。所以问题仍然存在。
    • 如果您有兴趣了解为什么不能添加限制,我会向 Google 发送一封电子邮件。我已经用回复编辑了问题。
    • 谢谢。根据manual,您只需传递帐户ID。仍然看不到这将有什么帮助。感谢您联系了 Google 人员,但他们只是忽略了在 CMS 模块中应用服务密钥的场景。
    猜你喜欢
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2012-10-19
    相关资源
    最近更新 更多