作为ISV,我想为我(和谷歌)的多个客户提供从Directory API收集数据的能力。由于我们的应用程序是无头的,似乎客户需要使用域范围授权来授权我们的应用程序,但在我看来它创建了一个安全漏洞。如果我们的应用程序(再次,无头)被授权给客户A的帐户,也被授权给客户B,那么什么会阻止客户A看到(收集)客户B的数据,反之亦然?
由于在这种情况下唯一的身份验证是我们的API应用程序,建议采取哪种方法来防止这种情况发生?每个客户的不同客户ID?这是否意味着每个客户还必须拥有Google Developer帐户?或者,我们是否面临必须为每个客户手动创建单独的服务帐户?
(我的应用程序工作正常,顺便说一句,对我来说似乎不安全)
答案 0 :(得分:1)
要回答我自己的问题,在另一个客户的GfW帐户上测试后,这就像我想象的那样不安全。我使用来自两个不同帐户的相同服务帐户信用卡收集数据没有问题,唯一的“秘密”是每个帐户的管理员电子邮件地址。
这是Google文档中缺少的内容:不应在多个帐户上使用相同的服务帐户凭据来使用域范围委派,否则这些帐户将能够访问彼此的数据。因此,如果您计划向需要无头API访问权限的客户提供应用程序,请使用类似OAuth Web服务器流程的内容,或为每个客户创建一组单独的服务帐户凭据。
Google的文档中不清楚的是,开发人员可以创建的凭据或应用程序数量存在限制(如果有),因此如果您计划拥有大量客户,则可能无法选择服务帐户和DWD。 / p>