应在何处创建 Google 服务帐号?应用程序的域?还是在每个客户的域中?



是要在应用程序域中创建的服务帐户吗?或在客户套房域中,代表应用程序?


背景:
我的公司有一个产品(以下简称"应用程序"),该产品有数千个组织作为客户,每个组织都可能拥有自己的Google域。(以后的"组织领域")

我们正在寻求在应用程序和组织域之间建立同步,对于应用程序和组织域之间常见的数据,并希望使用OAuth2连接,并授予该应用程序'域 - 代表用户的广泛权威,以脱机同步。

从"服务帐户"页面:

...一个属于您应用的帐户,而不是 个人最终用户。您的申请代表致电Google API 服务帐户,因此用户不直接参与。

g套件域管理员也可以授予服务帐户 范围范围的授权代表用户访问用户数据 域。

引用云平台控制台帮助常见问题:

您可以通过用户的Google云平台项目访问数据 创建一个服务帐户来表示您的服务,然后拥有 您的客户授予该服务帐户适当访问其 使用IAM策略的云数据。请注意,您可能要创建一个 每个客户的服务帐户...(添加了强调)

听起来该应用程序应该能够创建一个单个服务帐户,我们所有的客户端为其组织域都进行了验证。

不清楚的部分:
在"服务帐户"页面中,委派域名授权的说明似乎在有关服务帐户所在的位置转移。在说明之前,它读取:

...首先启用域范围内的委派现有服务 帐户在"服务帐户"页面...带有域范围内的授权 启用。然后,G套件域的管理员必须完成 以下步骤:

之后,它读取

您的应用程序现在有权将API调用作为用户 您的域("模仿"用户)。(添加了强调)

从我的阅读内容中,第一部分读取"应用程序的一个服务帐户",而后来的读物为"服务帐户只能在应用程序域中作为一个人访问,而不是组织域名。"

是要在应用程序域中创建的服务帐户吗?或在组织域中,代表应用程序?

我已经看到了具有组织域管理员创建服务帐户的示例,然后将客户端/秘密传递给应用程序的所有者……但是我不确定这是我们场景的正确方法。


相关 - 范围管理:委托步骤具有组织域管理员手动添加范围。

我们更喜欢使用显示范围的OAuth同意屏幕,并链接了我们的页面/策略。不幸的是,就我的研究发现而言,在服务帐户授权流中看起来并没有使用该页面。仅适用于对单个用户进行身份验证的其他应用程序类型,而不是整个组织域。

我在Google的文档海中错过了一个页面吗?

我认为您很想念服务帐户的使用。

服务帐户是虚拟用户帐户。他们有自己的驱动器帐户,日历帐户,可能还有更多。服务帐户设计用于与没有用户交互的后端应用程序服务器到服务器通信。服务帐户已预先授权。您可以通过对GSuite帐户的广泛奉献来授予您对用户数据的访问。这样,服务帐户将能够例如发送控制所有用户的Google日历帐户。

这就是为什么您不需要同意屏幕的原因。服务帐户的另一点是您必须控制数据才能设置此数据。如果您不控制数据,则无法授予该数据的服务帐户访问该数据。

如果要访问客户拥有的私人用户数据,则应使用OAuth2。

至于您的其余问题非常广泛,我并不是真正从哪里开始的用户,您可能想将其分解为几个问题。一次带他们一个。我不确定我知道您正在尝试做什么,所以我认为我不能尝试回答那部分。

最新更新