【问题标题】:Impersonating list of users with Google Service Account使用 Google 服务帐户模拟用户列表
【发布时间】:2016-03-23 06:51:15
【问题描述】:

根据文档,Google Apps 域管理员可以授予服务帐户域范围的权限,以代表域中的用户访问用户数据。我的理解是,这使服务帐户有权访问域内 所有用户 的数据。有没有办法限制哪些用户服务帐户可以访问?

例如,使用 Google Calendar API 来查看 Google Apps 域中特定用户列表的日历中的事件的应用程序。

谷歌应用管理员可以授权应用访问部分但不是所有用户吗?

谢谢

【问题讨论】:

  • 您有没有找到一种方法将服务帐户的访问权限仅限于某些用户?
  • 在下面查看我的答案

标签: google-oauth gmail-api google-identity


【解决方案1】:

答案是在Google Apps Marketplace 中发布一个应用程序。可以为所有人或某些特定组织单位打开应用程序。见Turn a Marketplace app on or off for users。组织单位是您可以控制组织中谁可以访问您的应用的方式。

【讨论】:

  • 市场应用程序不是公共应用程序吗?如果我只想让私有应用程序使用服务帐户访问一两个用户的帐户,而禁止访问任何其他用户的帐户怎么办?
【解决方案2】:

如果您是管理员,可以。您可以通过他们的帐户控制谁使用任何特定的 Google 服务。只需在您的 Google 管理控制台中为这些人打开或关闭该服务即可。当用户登录他们的帐户时,他们只会看到为他们启用的服务。

要将域范围的权限委派给服务帐户,请首先在开发者控制台权限页面的服务帐户部分中为现有服务帐户启用域范围的委派,或者创建一个启用了域范围委派的新服务帐户。您的应用程序有权以您域中的用户身份进行 API 调用(模拟用户)。

以下是将域范围的权限委派给服务帐户的有用材料: https://developers.google.com/identity/protocols/OAuth2ServiceAccount

【讨论】:

  • 这个想法是不要为某些用户关闭“谷歌日历”服务。我问的是限制使用服务帐户访问权限的应用程序来为特定用户说日历 API。我在 Google 管理控制台中找不到任何方法来控制每个用户的 API 客户端访问。
猜你喜欢
  • 1970-01-01
  • 2017-01-23
  • 2015-02-26
  • 1970-01-01
  • 2015-12-25
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
相关资源
最近更新 更多