gpt4 book ai didi

google-oauth - 启用了全域委派的应用程序是否可以通过模拟 super 管理员来完成超出范围允许的范围?

转载 作者:行者123 更新时间:2023-12-05 04:57:26 25 4
gpt4 key购买 nike

GSuite 中的应用程序可以启用全域委托(delegate) (DWD),允许应用程序访问用户数据(和其他域数据)而无需用户进行任何交互。

根据 a Google Support article , 这意味着应用程序受限于应用程序上设置的范围。

但是,阅读 Stack Exchange 上关于“用户模拟”的各种回复让我怀疑这是否有效。见:

  • Breno's response “域范围的委托(delegate)模型允许服务帐户模拟用户,从而在域中获得与用户身份 + 授予应用程序的范围集所暗示的相同特权。”
  • Kessy's and Gilfoyle's responses “...这意味着服务帐户只能访问应用程序正在模拟的帐户中的数据...”和“...首先:服务帐户在技术上是 super 管理员,一旦 DWD ...”
  • Edited question ("Solution")

没有具体的内容,但似乎(可能是错误的)一旦应用程序模拟具有足够管理员权限的“正确”用户,就可以访问任何所需的数据。我浏览了谷歌支持文档,但我能找到的关于模拟用户的范围很少。我没有构建此类应用程序的经验,不知道要查找什么。

我的问题:

(Q) 启用了 DWD 的应用程序是否可以通过模拟 super 管理员来执行超出范围允许的操作?如果不是,如果其中一个范围包含更改用户密码的权限(例如 https://www.googleapis.com/auth/admin.directory.user ),这是否意味着应用程序可以自行引导并添加任何其他所需的范围?

或者,具有 DWD 的应用程序是否受其范围限制,即使在模拟 super 管理员时也是如此?

我不是开发人员;我是一名系统管理员,拥有一些简单/非正式的开发经验,所以如果你能相应地提出你的答案,我将不胜感激。

最佳答案

模拟帐户的权限有两种限制

  1. 模拟只能在管理控制台在 Security -> API controls 下授权的范围内代表用户执行请求
  2. 某个应用程序只能使用在 creating a credentials object 时提供给服务帐户的范围。

换句话说:

  • 如果您在管理控制台中启用,例如特定服务帐户的范围 https://www.googleapis.com/auth/admin.directory.user.readonly,此服务帐户 - 当被模拟时 - 将只能查看用户,不能执行任何超出 https://www.googleapis.com/auth/admin.directory.user.readonly
  • 限制的请求
  • 即使您在管理控制台中启用了完整的 https://www.googleapis.com/auth/admin.directory.user 范围,但是在创建服务帐户凭据对象时,您通过它仅以https://www.googleapis.com/auth/admin.directory.user.readonly为范围——在具体应用的范围内,服务帐号同样无法执行超出范围的请求 https://www.googleapis.com/auth/admin.directory.user.readonly

假设一旦应用程序模拟具有足够管理员权限的“正确”用户,就可以访问任何所需的数据是令人困惑的。

更正确的说法是一旦应用程序模拟具有足够管理员权限的“正确”用户,就可以访问任何所需的数据——如果相应的范围已在管理控制台中启用并授予服务特定应用程序的帐户凭据对象

  • 根据一般经验,您应该避免提供(在使用和不使用服务帐户时)过于宽泛的范围,最好提供几个特定的​​范围,而不是一个广泛的范围。

关于google-oauth - 启用了全域委派的应用程序是否可以通过模拟 super 管理员来完成超出范围允许的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64414720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com