Aby Firebase Extension mogło wykonywać określone działania, Firebase przyznaje każdej instancji zainstalowanego rozszerzenia ograniczony dostęp do Twojego projektu i danych za pomocą konta usługi.
Co to jest konto usługi?
K onto usługi to specjalny rodzaj konta użytkownika Google. Jest to użytkownik, który nie jest człowiekiem i który ma uprawnienia dostępu do danych przy użyciu interfejsów API Google.
Podczas instalacji rozszerzenia Firebase tworzy konto usługi w Twoim projekcie. Każda zainstalowana instancja rozszerzenia ma własne konto usługi.
Firebase ogranicza dostęp do Twojego projektu i danych, przypisując do konta usługi rozszerzenia określone role (zestawy uprawnień). Role, których rozszerzenie potrzebuje do działania, są określane przez Firebase podczas tworzenia rozszerzenia. Podczas instalacji Firebase przypisuje te role do konta usługi rozszerzenia. Nie należy modyfikować, dodawać ani usuwać żadnej z tych przypisanych ról (w przeciwnym razie zainstalowane rozszerzenie nie będzie działać zgodnie z oczekiwaniami). Możesz jednak odinstalować rozszerzenie, co spowoduje całkowite usunięcie konta usługi (i jego dostępu).
Konta usługi utworzone na potrzeby rozszerzeń mają format:
ext-extension-instance-id@project-id.iam.gserviceaccount.com
Wszystkie konta usługi powiązane z Twoim projektem w Firebase możesz wyświetlić na
karcie
Konta usługi
w sekcji
Uprawnienia i role
Podczas tworzenia rozszerzenia Firebase określa poziom dostępu, którego rozszerzenie potrzebuje do działania.
Firebase określa ten poziom dostępu, wyraźnie wymieniając role (zestawy uprawnień), które Firebase powinna przypisać do konta usługi rozszerzenia podczas jego instalacji.
Każda rola (i jej nieodłączne uprawnienia) jest oparta na konkretnej usłudze. Przykłady ról to firebasehosting.admin, bigquery.dataEditor i firebasedatabase.admin. Firebase wymienia wymagane role dla rozszerzenia
w pliku specyfikacji rozszerzenia (pliku
extension.yaml file).
W przypadku oficjalnych Firebase rozszerzeń Firebase dokładnie sprawdza tę listę
ról, aby mieć pewność, że dostęp rozszerzenia jest ściśle ograniczony do zakresu
zadań rozszerzenia. Możesz też sprawdzić i potwierdzić dostęp przyznany rozszerzeniu, wyświetlając stronę z informacjami o rozszerzeniu w Firebase Extensions panelu lub wyświetlając jego README plik.
Więcej informacji o uprawnieniach zawartych w każdej roli:
Co się stanie, gdy odinstaluję rozszerzenie?
Gdy odinstalujesz rozszerzenie z projektu, Firebase usunie konto usługi utworzone na potrzeby tej instancji rozszerzenia. Po usunięciu konta usługi rozszerzenie nie może działać w Twoim projekcie, ponieważ nie ma już żadnych praw dostępu do Twojego projektu ani danych.