Search code examples
firebasefirebase-realtime-databasefirebase-storagefirebase-console

Firebase Storage View by certain users


I am new to firebase and I have developed an app which can save documents. I want to assign a role to my team member who can view "Real-Time Data" but not the "Storage" as few files are confidential. The team mate should not have access to view storage files in firebase.

Can I do this by adding rules in firebase? If yes, how?

If I cannot do this, what is the alternate?


Solution

  • Within the Firebase console you can assign these broad roles to the collaborators on a project:

    enter image description here

    As you can see, Database and Storage are in the same role here, so you can't assign different permissions for them.

    Luckily you can also define a custom role in the Cloud console, which allows you fine grained control over what a collaborator can do.

    You'll want to read the documentation on granting, changing and revoking access in the Cloud documentation, and then build a role that has the necessary Firebase product-level predefined roles. Since you want the collaborator to only have access to Realtime Database, you'll need one of these:

    Role: Firebase Realtime Database Admin roles/firebasedatabase.admin

    Description: Full read/write access to Realtime Database resources

    Realtime Database Admin permissions:

    • firebasedatabase.instances.create
    • firebasedatabase.instances.get
    • firebasedatabase.instances.list
    • firebasedatabase.instances.update

    Role: Firebase Realtime Database Viewer roles/firebasedatabase.viewer

    Description: Read-only access to Realtime Database resources

    Realtime Database Viewer permissions:

    • firebasedatabase.instances.get
    • firebasedatabase.instances.list