【问题标题】:Is it possible to browse a spreadsheet when an importrange has been authorized?授权导入范围后是否可以浏览电子表格?
【发布时间】:2019-09-01 17:34:45
【问题描述】:

我在谷歌驱动器上创建了几个电子表格。所以我是他们所有人的所有者。

我有一个电子表格 (MASTER),它作为一个主文件用于将数据导出到我与顾问团队共享的其他电子表格 (ACTIVITY REPORT) 中。导出的数据使他们能够使用列表作为数据验证等,这有助于主文件分析他们的活动(无需清理数据)。

由于我已经批准了与顾问团队共享的电子表格上的主文件的导入范围,我知道创建了一个连接。因此,他们可以更改其 ACTIVITY REPORT 中的公式,以访问我不希望他们在我的 MASTER 文件中看到的数据。

对所有要导出/导入的内容使用范围名称或特定工作表会阻止他们浏览所需内容(他们基本上需要电子表格的 ID 和包含工作表名称或命名范围的范围) .

但我想知道 Apps 脚本是否允许他们这样做(浏览我的 MASTER 文件以了解我如何命名我的工作表、范围等),因为如果是这种情况,那么在编辑使用的电子表格可以让他们基本上导入他们想要的文件中的任何内容,包括敏感或机密信息,使用命名范围或通过不专用于导出的工作表名称。

【问题讨论】:

  • 谁在ACTIVITY REPORT 上授权了importrange
  • 我不相信有任何记录方式通过 Google 应用脚本查看、访问或以其他方式重新使用所有者或其他任何人使用 IMPORTRANGE 授予的授权。否则我会很高兴知道的。

标签: security google-apps-script google-sheets importrange


【解决方案1】:

但我想知道 Apps 脚本是否允许他们这样做(浏览我的 MASTER 文件以了解我如何命名工作表、范围等),

在我的简短测试中,应用脚本授权/权限似乎与 importrange 授权是分开的。因此,如果他/她已经无权访问主电子表格,则从电子表格上的编辑器(导入数据的电子表格)无法通过应用程序脚本访问主电子表格上的数据。但是,slave 上的编辑器可以通过 importrange 公式访问 master。

来自support

必须明确授予电子表格使用 IMPORTRANGE 从其他电子表格中提取数据的权限。目标工作表第一次从新的源工作表中提取数据时,将提示用户授予权限。一旦授予访问权限,目标电子表格上的任何编辑器都可以使用 IMPORTRANGE 从源电子表格的任何部分中提取。在授予访问权限的用户从源中删除之前,访问权限一直有效。


对所有要导出/导入的内容使用范围名称或特定工作表会阻止他们浏览所需内容(他们基本上需要电子表格的 ID 和包含工作表名称或命名范围的范围) .

本质上,您想使用工作表名称/范围名称作为密码。在我简短的测试中,遇到了以下问题:

  • 暴力破解是可能的。 SheetName/RangeName 应具有 >30 位的熵,即具有 >8 个字符的随机工作表名称/特殊字符/大写/小写字母。

  • 关于 importrange 的运作方式并没有透露太多信息。这意味着,Google 将来可以轻松地允许应用脚本访问,而您可能不知道。

  • 最后,也是最重要的一点,Sheet-name/Range-name 是完全可选的。

    range_string 的 sheet_name 组件是可选的;默认情况下,IMPORTRANGE 将从第一张纸的给定范围导入。

换句话说,任何编辑者都可以不受限制地访问第一张工作表。例如下面的导入是完全有效的:

=IMPORTRANGE("SPREADSHEETURL", "A1:Z")

此外,如果您不小心将主电子表格中的敏感工作表移动到左侧,使其成为第一个工作表,则所有编辑者都可以在移动后轻松访问该工作表。为了尽量减少这种风险,您可以创建一个电子表格系统:Master>slave1(仅导入一张工作表。没有编辑器)>slave1(1 个编辑器;从 slave1 导入)。在这种情况下,即使slave1工作表名称被猜到,Master工作表也是安全的。

判决:

使用importrange() 保护任何敏感数据的安全性是一个坏主意。此外,对多张纸使用 importrange 充其量是不可靠的。出于所有目的,最好完全避免 importrange。虽然比公式有点繁琐,但对于电子表格同步,从性能和安全角度来看,最好使用"Standalone" 脚本。

【讨论】:

  • 非常感谢您的完整回答!
  • @FGS 如果您认为这可以解决您的问题,请考虑接受答案。
猜你喜欢
  • 2022-11-15
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多