如何为文件设置安全规则,以便根据firestore中的用户选择为firebase云存储中的选定用户设置私有/公共?

如何为文件设置安全规则,以便根据firestore中的用户选择为firebase云存储中的选定用户设置私有/公共?,firebase,google-cloud-firestore,firebase-storage,firebase-security,Firebase,Google Cloud Firestore,Firebase Storage,Firebase Security,如何在云存储中创建读取文件的权限并在firestore中设置权限 所有者可以读取/更新 所有者可以选择如何读取文件 只有他 他的朋友(朋友节点) 所选用户(他选择用户id。) 如果用户出于某种原因拥有该URL,但该URL不是所有者,也不在读者列表中,我希望该URL在云存储中没有权限 列表项 Firestore模型如下所示: users: { -user1 { - friends { user3 { "name":...

如何在云存储中创建读取文件的权限并在firestore中设置权限

  • 所有者可以读取/更新
  • 所有者可以选择如何读取文件
    • 只有他
    • 他的朋友(朋友节点)
    • 所选用户(他选择用户id。)
  • 如果用户出于某种原因拥有该URL,但该URL不是所有者,也不在读者列表中,我希望该URL在云存储中没有权限

  • 列表项

Firestore模型如下所示:

users: {
    -user1 {
      - friends {
         user3 {
           "name":...
           "photoUrl":...
         },
         user2 {
           "name":...
           "photoUrl":...
         }
      }
      ...
    }
    -user2
    -user3
  }
}

posts: {
    -post1 {
      "owner": user1,
      "description":...
      "fileUrl": fileUrlOnFirebaseCloudStorage,
      "timestamp"...
      "privacy": // private, public, friends, customs users 
                 // how to set this ?
    }
    -post2
    -post3
  }
}


firestore和firebase云存储的规则是什么?

仅使用安全规则不可能实现您当前的目标。为一个产品设置的安全规则无法从其他项目读取数据。所以,在部署到云存储的规则中,您无法读取云Firestore中的文档。

谢谢,您说过“仅使用安全规则是不可能的”,那么您知道使用其他东西来实现这一点的方法吗?还是说云存储完全不可能?研究一下使用云功能在Firestore和存储之间镜像数据。这很复杂。