Zarządzanie dostępem do projektów za pomocą uprawnień Firebase

Usługa Identity and Access Management (IAM) umożliwia przyznawanie szczegółowego dostępu do określonych zasobów Firebase i Google oraz zapobiega niepożądanemu dostępowi do innych zasobów. IAM pozwala zastosować zasadę jak najmniejszych uprawnień, która polega na przyznawaniu wyłącznie niezbędnych praw dostępu do zasobów.

Szczegółowy opis usługi IAM znajdziesz w Google Cloud dokumentacji IAM.

Przegląd uprawnień Firebase

Firebase oferuje dodatkowe opcje uprawnień, które są specyficzne dla projektów Firebase i członków projektu.

Gdy uwierzytelniony członek projektu poprosi o wykonanie działania w Firebase, usługa IAM podejmie decyzję o autoryzacji, czy członek projektu ma uprawnienia do wykonania żądanej operacji na zasobie. To, czy członek projektu może wykonać żądanie, zależy od przypisanej mu roli. Każda rola to zbiór uprawnień, a gdy przypiszesz rolę członkowi projektu, przyznasz mu wszystkie uprawnienia związane z tą rolą.

Członkowie projektu

Za pomocą uprawnień Firebase możesz przypisywać role (i związane z nimi uprawnienia) członkom projektu. Członkowie projektu mogą być tych typów:

  • Konto Google
  • Konto usługi
  • Grupa Google

Role

Uprawnienia są przyznawane członkom projektu za pomocą ról. Rola to zbiór uprawnień. Gdy przypiszesz rolę członkowi projektu, przyznasz mu wszystkie uprawnienia zawarte w tej roli.

Uprawnienia Firebase obsługują te typy ról:

  • Role podstawowe: podstawowe role Właściciel, Edytujący i Wyświetlający (wcześniej nazywane "podstawowymi" rolami).

  • Role wstępnie zdefiniowane: wyselekcjonowane role specyficzne dla Firebase, które umożliwiają bardziej szczegółową kontrolę dostępu niż role podstawowe. Firebase oferuje:

    • Role na poziomie Firebase: role, które przyznają pełny dostęp do odczytu i zapisu lub dostęp tylko do odczytu do wszystkich produktów Firebase.

    • Role w kategorii produktów: role, które przyznają pełny dostęp do odczytu i zapisu lub dostęp tylko do odczytu do grup produktów. Są one oparte na Google Analytics i ogólnych kategoriach usług.

    • Role na poziomie produktu: role, które przyznają pełny dostęp do odczytu i zapisu lub dostęp tylko do odczytu do określonych produktów Firebase.

  • Role niestandardowe: w pełni dostosowane role, które tworzysz, aby dopasować zestaw uprawnień do konkretnych wymagań organizacji.

Zarządzanie członkami projektu i ich rolami

Wyświetlanie członków projektu i ich ról

Wielu członków projektu i ich role możesz wyświetlić w konsoli Firebase na karcie Ustawienia > Użytkownicy i uprawnienia Firebase. Pamiętaj o tych kwestiach:
  • Konsola Firebase wyświetla tylko członków projektu, którym przypisano poziom podstawowy (Właściciel, Edytujący, Wyświetlający) lub rolę zdefiniowaną w Firebase. Członkowie projektu wymienieni na tej karcie to jedyni członkowie projektu, którzy mają dostęp do projektu w Firebase w Firebase konsoli.
  • Konsola Firebase nie wyświetla członków projektu, którzy są kontami usługi. Możesz ich wyświetlić w konsoli Google Cloud na stronie Administracja > Uprawnienia.
Możesz też wyświetlić wszystkich członków projektu i ich role w konsoli Google Cloud na stronie Administracja > Uprawnienia Google Cloud.

Przypisywanie roli członkowi projektu

Aby zarządzać rolami przypisanymi do poszczególnych członków projektu, musisz być właścicielem projektu w Firebase (lub mieć przypisaną rolę z uprawnieniem resourcemanager.projects.setIamPolicy).

Role możesz przypisywać i nimi zarządzać w tych miejscach:

Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. osoba odeszła z firmy), a projekt nie jest zarządzany w ramach organizacji Google Cloud (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase i zapytać, jak uzyskać dostęp do projektu w Firebase.

Pamiętaj, że jeśli projekt w Firebase jest częścią organizacji Google Cloud, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu w Firebase, skontaktuj się z osobą, która zarządza Twoją Google Cloud organizacją, i poproś o przypisanie właściciela projektu.