如何限制firebase firestore数据库上的管理员的读访问权限?

时间:2018-04-06 10:18:55

标签: swift firebase google-cloud-firestore privacy firebase-security-rules

我目前正在为我的iOS应用程序使用Cloud Firestore,它允许用户将其费用存储到数据库中,但为了保护隐私,有什么方法可以确保我无法读取他们的数据正在输入数据库。虽然查询和所有查询仍然有效,但我或任何管理员都无法看到用户将哪些内容放入其数据库中?

2 个答案:

答案 0 :(得分:2)

不存在此类功能。通过控制台和Admin SDK的管理员访问能够始终读取所有集合和文档。

答案 1 :(得分:0)

正如@Frank van Puffelen所说:

通过加密对数据进行模糊处理,可以防止任何不受欢迎的眼睛查看任何信息。这将增加您的工作量,因为您需要在应用程序的任一端(客户端和服务器)执行加密和解密。

我相信,您可以利用firebase的云代码,最大限度地减少在设备上执行的代码执行量,但我从未尝试过,因此无法确认。

就加密密钥而言,您有几个选择:

  • 用户密码:这是确保加密而不向任何管理员泄露密钥的一种方法,因为firebase中的密码已经从任何查看器中进行了模糊处理。唯一的问题是用户将被锁定为密码,因为更改密码会阻止解密。
  • 本地存储:您可以在设备上本地存储密钥,这意味着用户可以在首次启动应用时输入密钥或自动生成密钥。然后,您可以将其存储在应用程序的default key存储中,并在需要时进行检索。虽然我认为这是最安全的,但这意味着您的应用无法在iCloud设备上使用,因为密钥将存储在本地。
  • 最后,是CloudKit,它允许您在云中存储数据。这是私有的,只能由用户的云设备访问。

我意识到这个例子中没有代码,我目前不在我的办公桌,我很抱歉,如果有人想用一些代码示例进行编辑,我将不胜感激。

我希望这会有所帮助。