2017-06-29 172 views
0

我有一个通过Google开发者控制台创建的服务帐户,专门用于API访问Google云端硬盘以检索文档。然而,最近我改变了我的G套件Google Drive设置,以便具有安全限制,即文档只能在我的组织之外共享,以便将域名列入白名单,而不是为共享目的而开放。Google云端硬盘文档访问白名单服务帐户

在此安全设置更改之前,一切工作都正常,具有我的服务帐户访问文档,特别授予其访问权限。但是,如果在查看文件上的共享设置之后发生变化,则之前有权访问该文件,表示该帐户无法授予访问权限,因为策略集禁止将项目共享给此用户,因为它不在兼容的白名单域中。

我曾尝试将我的G-suite管理控制台中的gserviceaccount.com列入白名单,但这仍然没有带来好运。

其他人有类似的问题?任何好的解决方案

谢谢!

回答

0

您可能要完成Delegating domain-wide authority to the service account给出以下步骤:

  1. 转到你的Google+套房域的Admin console。从控件列表中选择安全。如果看不到安全列出,请选择更多控件从页面底部的灰色栏中,然后从控件列表中选择安全从控件列表中。如果您看不到这些控件,请确保您是以该域的管理员身份登录的。
  2. 选择显示更多然后从选项列表中选择高级设置
  3. 选择管理在认证部分API客户端访问
  4. 客户名称字段中输入服务帐户的客户ID。您可以在Service accounts page找到您的服务帐户的客户端ID。
  5. 一个或多个API作用域字段中输入您的应用程序应被授予访问权限的作用域列表。例如,如果您的应用程序需要在全域范围内访问Google Drive API和Google Calendar API,请输入:https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/calendar
  6. 点击授权

这会授权您的应用程序在您的域中以用户身份进行应用程序调用。不过,请注意:

尽管您可以在从G Suite域运行的应用程序中使用服务帐户,但服务帐户不是G Suite帐户的成员,并且不受G设置的域策略套件管理员。例如,在G Suite管理控制台中设置的用于限制G Suite最终用户共享域外文档的功能的政策不适用于服务帐户。

有关更多信息,请参阅Perform G Suite Domain-Wide Delegation of Authority

+0

那么你基本上是说,通过将域范围的权限委托给特定API范围的服务帐户(即Drive) - 服务帐户可以完全访问域中每个用户的驱动器内容(不管他们的共享权限)? – kman

相关问题