如何在不访问管理员目录的情况下为Google Apps Script网络应用程序的用户赋予不同的角色/权限?

时间:2019-06-19 23:19:59

标签: google-apps-script permissions gsuite

首先,一些起点:

  • 这是供G-Suite Enterprise使用的(工作中)
  • viewType: domain_public之外,我无权访问Admin Directory API
  • 可以创建,发布和部署Web应用
  • 我知道我正在推动GAS的极限/范围,但是那是因为我没有访问带有Web服务器,数据库等的完整开发平台的能力。我相信我可以让GAS来完成我的工作想要/需要-我只需要帮助弄清楚具体方法。

我想在GAS中编写一个网络应用,其中用户在该网络应用中具有不同的权限/权限/观点 。为了简单起见并使其易于解释,可以说我正在编写一个请求系统,用户可以在其中向我的团队提交请求以执行某些操作。网络应用程序的“数据库”将是各种Google表格。它将维护所有请求,它们的状态,元数据等。我知道如何做到这一点而没有问题。

该网络应用的某些不同权限为:

  • 提交请求
  • 查看请求
  • 编辑请求
  • 删除请求
  • 为请求更新特定字段

我不确定如何最好地完成管理和实施这些权限。

到目前为止,我的想法是基本上使用Google表格来维护用户和权限:

  • 发布并部署该网络应用,以我的身份执行
  • 这将使网络应用访问只有我有权访问的Google表格
  • 在所说的Google表格中,我将维护一个用户电子邮件地址列表以及他们在网络应用程序中拥有的权限
  • 当用户访问网络应用时,代码将在工作表中查找它们,然后让他们执行允许的操作

我认为从理论上讲这是可行的,但是不确定其安全性如何。非G-Suite管理员可以通过访问Web应用程序并以某种方式在会话中传递另一个用户的电子邮件地址来欺骗另一个用户,以便Web应用程序认为该用户是该用户,而不是真实用户吗? (我不担心非G-Suite管理员访问任何这些数据。)

我缺少任何可以帮助我的GAS功能吗?有没有更好/不同的方式来实现我的目标?

0 个答案:

没有答案