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- 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.
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:
-
Konsola Firebase umożliwia łatwe przypisywanie ról członkom projektu na karcie ustawień
Settings > Users and permissions. Możesz przypisać dowolną z ról podstawowych (Właściciel, Edytujący, Wyświetlający), ról administratora lub wyświetlającego Firebase, lub dowolną z wstępnie zdefiniowanych ról w kategorii usług Firebase. -
Konsola Google Cloud oferuje rozbudowany zestaw narzędzi do przypisywania ról
członkom projektu na stronie Administracja
Uprawnienia.
Możesz też tworzyć role niestandardowe i nimi zarządzać
oraz przyznawać
kontom usługi dostęp do projektu.
Pamiętaj, że w konsoli Google Cloud członkowie projektu są nazywani podmiotami zabezpieczeń.
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.