作为应用安全的核心部分,请保护您的应用项目文件,并在导出或导入应用及其组件时加倍谨慎。
应用项目文件包含关于如何构造应用以及谁有权修改应用和访问其数据的信息。您创建应用时,应用制作工具会在您的 Google 云端硬盘中创建应用项目文件,并将您指定为所有者。您可以共享应用项目并转让其所有权,就像处理任何其他云端硬盘文件一样。
应用软件包是您从应用制作工具中导出的 zip 文件。应用软件包可以包含整个应用或精选组件(也称为模块)。共享应用软件包时,接收方可以导入该文件并创建自己的实例。应用软件包不包含任何应用数据,但脚本、模型、页面和角色均可包含在内。
管理应用项目文件所有权
最开始时,应用项目文件所有者是创建项目的人。项目所有者的权限很高,可以完全控制应用项目和应用部署。作为项目管理员,他们还可以在应用的所有部署中导入和导出数据,而无论安全设置如何。
要更改应用项目文件所有权,可以执行以下操作:
- 应用项目文件的所有者可以转移应用项目文件的所有权,就像转移任何其他云端硬盘文件的所有权一样。
- G Suite 管理员可以转移所有权。
控制对应用项目文件的访问权限
应用所有者可以与特定用户(Google 帐号)和群组(Google 群组)共享应用项目文件,就像在云端硬盘、Google 文档和 Google 表格中共享文件一样。您可以使用以下访问权限级别共享项目:
- Can edit - 具有 Can edit 访问权限的用户可以修改应用和发布应用部署,并且对自己拥有的任何部署中的所有数据具有完全访问权限。
- Can view - 具有 Can view 权限的用户可以在应用制作工具中打开该应用并读取所有脚本和页面,但不能预览应用、发布应用部署,也不能从部署中导出数据。
请勿与他人共享您的应用项目文件,除非您信任此人。 具体来讲,应用编辑者可以更改以下内容:
- 应用界面
- 权限
- 脚本
- 数据访问权限
操作 | 项目所有者 | 修改权限 | 查看权限 |
---|---|---|---|
查看部署列表 | |||
发布部署 | |||
修改部署 | 如果是部署所有者 | 如果是部署所有者 | |
重新发布部署 | 如果是部署所有者 | 如果是部署所有者 | |
删除部署 | 如果是部署所有者 | ||
将数据导入部署 | 如果是部署所有者 | 如果是部署所有者 | |
导出部署数据 | 如果是部署所有者 | 如果是部署所有者 |
创建并共享应用软件包
应用可以导出到应用软件包中,应用软件包可供共享和导入。应用软件包是应用构造方式的完整记录,其中包含:
- 数据模型
- 用户界面
- 脚本
- 角色相关信息(但不是角色的成员资格,角色的成员资格在部署中定义)
- 实例名称(如果应用使用自定义 Cloud SQL 数据库)
它不包含应用数据、关于部署的信息或修订历史记录。
应用软件包不会像共享应用项目文件那样出现许多可能的安全问题。当开发者导入应用软件包时,他们添加的是在视觉上和功能上与原始应用完全相同的应用组件。但是,导入的应用软件包未连接到原数据库,也没有向用户分配访问权限控制角色。
应用项目安全方面的最佳做法
- 开始开发之前,请考虑谁应该拥有该项目文件。
- 根据开发者和用户的访问权限要求,限制对应用项目文件的访问权限。
- 仅与您信任的人共享应用项目文件和应用软件包。
- 如果接收方只需要访问应用组件而不需要访问部署数据,请共享应用软件包而不是应用项目文件。
- 仅从您信任的人那里导入应用软件包。
- 确保您了解导入的内容。应用软件包定义应用安全和数据访问的某些方面。