Firebase integruje się z Application Design Center (ADC) firmy Google Cloud, aby umożliwić klientom biznesowym spełnianie wymagań dotyczących standaryzacji i zarządzania, a jednocześnie umożliwić deweloperom aplikacji szybkie wprowadzanie produktów na rynek. Korzystanie z ADC zapewnia, że infrastruktura jest zgodna ze standardami organizacji i sprawdzonymi metodami dzięki wstępnie zdefiniowanym szablonom, które określają zabezpieczenia dotyczące udostępniania zasobów, przyznawania uprawnień itp.
Tematy omawiane na tej stronie:
- Przegląd ADC i Firebase, w tym obsługiwanych produktów Firebase.
- Kluczowe role i wymagane role uprawnień do kontrolowania dostępu
- Ogólny przepływ pracy
Omówienie ADC i Firebase
Zalecamy zapoznanie się z dokumentacją Google Cloud, aby uzyskać ogólne informacje o ADC. Dokumentacja Google Cloud zawiera też kilka szczegółowych przewodników po ADC, w tym kluczowe pojęcia i przewodnik po konfiguracji początkowej.
W przypadku ADC „aplikacja” jest definiowana jako grupa logiczna zasobów i usług, które razem zapewniają funkcję biznesową. Dla deweloperów Firebase ADC„aplikacja” jest odpowiednikiem projektu w Firebase, w którym zarejestrowane aplikacje na iOS, Androida i aplikacje internetowe współdzielą te same zasoby i usługi oraz mają do nich dostęp.
Na początek zalecamy korzystanie z ADC za pomocą interfejsu GUI o nazwie obszar roboczy, który jest dostępny w konsoli Google Cloud. Obszar roboczy umożliwia wizualizację i tworzenie schematów architektury infrastruktury, którą chcesz udostępnić aplikacjom.
Pamiętaj, że usługa ADC jest oparta na Terraform, więc zawsze będziesz mieć dostęp do definicji kodu infrastruktury zdefiniowanej za pomocą ADC.
Obsługiwane usługi Firebase
Oto początkowy zestaw obsługiwanych usług Firebase, których można używać z ADC:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
Kluczowe osoby korzystające z ADC
Typowym sposobem na zrozumienie i wykorzystanie ADC jest podział zadań związanych z ADC na 2 osoby:
Inżynier platformy: ta osoba projektuje, weryfikuje i publikuje szablony ADC wielokrotnego użytku, które są zgodne z zasadami, w katalogu ADC.
Deweloper aplikacji: ta osoba używa opublikowanych szablonów ADC (np. z katalogu ADC zespołu) do konfigurowania i wdrażania infrastruktury. Opracowują też bazę kodu i funkcje aplikacji.
Wymagane role uprawnień do kontrolowania dostępu
Przypisując role uprawnień, możesz kontrolować, którzy użytkownicy projektu (lub podmioty zabezpieczeń) mogą wykonywać określone zadania.
Możesz na przykład przypisać rolę administratora Application Design Center (roles/designcenter.admin) inżynierowi platformy, który musi tworzyć i przypisywać przestrzenie, zarządzać katalogami i projektować szablony. Jednak programiście aplikacji prawdopodobnie przypiszesz tylko rolę edytującego aplikację (roles/designcenter.applicationEditor), aby mógł używać szablonów, ale nie mógł ich tworzyć.
W tabeli poniżej znajdziesz zadania związane z ADC, ich docelowych użytkowników i wymagane role:
| Działanie | Profil | Rola uprawnień 1 |
|---|---|---|
| Tworzenie szablonów i zarządzanie nimi | ||
|
Zarządzanie pełnym cyklem życia ADC (w tym zarządzanie przestrzeniami, katalogami, szablonami, konfigurowaniem i wdrażaniem aplikacji) |
Inżynier platformy |
Administrator Application Design Center ( roles/designcenter.admin |
| Tworzenie szablonów i zarządzanie nimi oraz konfigurowanie i wdrażanie aplikacji | Inżynier platformy |
Użytkownik Application Design Center ( roles/designcenter.user |
| Tworzenie konta usługi do wdrażania aplikacji ADC | ||
| Tworzenie kont usługi | Inżynier platformy |
Tworzenie kont usługi ( roles/iam.serviceAccountCreator |
| Przyznawanie kontu usługi dostępu do projektu używanego do wdrażania ADC | Inżynier platformy |
Administrator uprawnień projektu ( roles/resourcemanager.projectIamAdmin |
| Konfigurowanie i wdrażanie aplikacji ADC | ||
|
Kontrola nad całym cyklem życia aplikacji (w tym integracja z kodem źródłowym i systemami CI/CD) |
Programista aplikacji |
Administrator aplikacji ( roles/designcenter.applicationAdmin |
| Konfigurowanie i wdrażanie aplikacji na podstawie istniejących szablonów i połączeń skonfigurowanych przez administratora | Programista aplikacji |
Edytujący aplikację ( roles/designcenter.applicationEditor |
1 Kilka z tych ról musi być ustawionych w projekcie zarządzania, który jest zasobem najwyższego poziomu w hierarchii Google Cloud.
Ogólny przepływ pracy
W tej sekcji opisano ogólny przepływ pracy związany z tworzeniem i używaniem szablonu ADC. Kroki są oznaczone tagiem osoby, która zwykle je wykonuje.
- Krok 1. Skonfiguruj ADC (inżynier platformy)
- Krok 2. Utwórz szablon (inżynier platformy)
- Krok 3. Użyj szablonu (programista aplikacji)
- Krok 4. Utwórz aplikację (programista aplikacji)
Krok 1. Skonfiguruj ADC (inżynier platformy)
Inżynier platformy (lub osoba o wyższych uprawnieniach) wykonuje te zadania, aby skonfigurować ADC. Zwykle wystarczy wykonać te zadania tylko raz, aby skonfigurować wszystko, co jest potrzebne do korzystania z ADC.
Konfiguracja początkowa ADC.
Postępuj zgodnie z instrukcjami i wskazówkami podanymi w przewodniku po konfiguracji początkowej dla ADC w dokumentacji Google Cloud. Pamiętaj, że w tym przewodniku zakładamy, że skonfigurujesz granice na poziomie folderu.
Po zakończeniu konfiguracji powinna być dostępna przestrzeń, czyli dedykowany obszar, w którym zespół może współpracować, tworzyć szablony i wdrażać aplikacje. Upewnij się, że ten pokój (oraz folder i katalog) jest udostępniony wszystkim osobom, z którymi chcesz współpracować ADC.
Skonfiguruj dostęp i użytkowników w pokoju.
Wykonaj czynności opisane w sekcji Zarządzanie użytkownikami obszaru dotyczącej ADC w dokumentacji Google Cloud. Skorzystaj ze wskazówek opisanych wcześniej na tej stronie w sekcji Wymagane role uprawnień do kontroli dostępu.
Wstępnie udostępnij projekty.
Utwórz w folderze co najmniej 1 nowy projekt Google Cloud. Upewnij się, że z tymi projektami połączone jest konto Cloud Billing. Te projekty będą używane przez dewelopera aplikacji podczas wdrażania infrastruktury zdefiniowanej w szablonie.
Skonfiguruj konto usługi wdrażania.
ADC zarządza automatyczną obsługą administracyjną zasobów za pomocą konta usługi o ściśle określonym zakresie. Dzięki temu deweloper aplikacji nie może używać własnego konta do wdrażania infrastruktury.
ADC może automatycznie utworzyć w Twoim imieniu konto usługi o ograniczonym zakresie, gdy testujesz wdrażanie utworzonych szablonów. Możesz też użyć własnego konta usługi, które ma uprawnienia, które uznasz za odpowiednie dla deweloperów aplikacji.
Krok 2. Utwórz szablon (inżynier platformy)
Inżynier platformy używa obszaru roboczego lub nawet Gemini Cloud Assist, aby utworzyć nowy szablon ADC.
Zdefiniuj zasoby.
W obszarze roboczym projektu przeciągnij i upuść komponenty, a następnie utwórz między nimi połączenia. Te komponenty określają, których usług Firebase (i Google Cloud) mają używać deweloperzy aplikacji.
Szablon może na przykład definiować takie zasoby:
- Deweloperzy aplikacji mogą tworzyć aplikacje na iOS, Androida i aplikacje internetowe, które korzystają z tych zasobów.
- Deweloperzy aplikacji mogą używać w swoich aplikacjach Firebase AI Logic, Firebase Authentication, Cloud Firestore i Firebase Security Rules (zobacz listę wszystkich obsługiwanych usług Firebase w ADC).
- Firebase Security Rules są początkowo skonfigurowane tak, aby domyślnie odrzucać wszystkie prośby o dostęp. Następnie, gdy deweloper aplikacji użyje tego szablonu do własnego wdrożenia, będzie mógł zmienić te Security Rules, aby dostosować je do wymaganego modelu dostępu.
Zdefiniuj zasady.
Jeśli chcesz zdefiniować zasady, takie jak role uprawnień dla wdrożonej infrastruktury lub dozwolone regiony dla zasobów, musisz je ustawić w odpowiednich interfejsach tych zasad. ADC nie obsługuje obecnie definiowania zasad na poziomie szablonu.
Możesz przypisać określone role uprawnień Firebase do członków projektu w zależności od tego, co mają robić. Jeśli na przykład muszą tylko wyświetlać zasoby w konsoli Firebase, przypisz im rolę Przeglądający Firebase (
roles/firebase.viewer).Ograniczenia dotyczące regionów możesz ustawić dla zasobów na poziomie folderu lub organizacji.
Dodaj szablon do katalogu.
Po przetestowaniu szablonu dodaj go do katalogu ADC zespołu. Ten katalog musi być udostępniony odpowiednim osobom, w szczególności deweloperom aplikacji, aby mogli oni korzystać z szablonów (patrz Krok 1. Skonfiguruj ADC powyżej).
Krok 3. Użyj szablonu (programista aplikacji)
Osoba pełniąca rolę dewelopera aplikacji wybiera wstępnie zdefiniowany szablon, konfiguruje go pod kątem konkretnego przypadku użycia, a następnie wdraża infrastrukturę.
Wybierz szablon i skonfiguruj go.
Wybierz szablon z katalogu ADC i skonfiguruj go, aby utworzyć wersję roboczą aplikacji. Dostępne konfiguracje, takie jak możliwe regiony dla zasobów, są ograniczone do tych, które zostały ustawione przez inżyniera platformy podczas tworzenia szablonu.
Wdrażanie infrastruktury.
Po utworzeniu wersji roboczej aplikacji wdróż aplikację ADC w jednym z wstępnie udostępnionych projektów utworzonych na potrzeby wdrożenia infrastruktury (patrz Krok 1. Skonfiguruj ADC powyżej).
Możesz wejść do konsoli Firebase i wyświetlić udostępnione zasoby oraz włączone usługi w projekcie.
Krok 4. Utwórz aplikację (programista aplikacji)
ADC pomaga skonfigurować Firebase i Google Cloudinfrastrukturę (np. udostępnić zasoby i włączyć interfejsy API). Nie zajmuje się jednak kodowaniem aplikacji, która korzysta z tych zasobów i interfejsów API.
Oto kilka ważnych zadań, które musi wykonać programista aplikacji:
Połącz bazę kodu aplikacji z Firebase.
Uzyskaj konfigurację Firebase, a następnie dodaj ją do bazy kodu każdej aplikacji.
Jeśli na przykład szablon zezwala na aplikację na Androida, musisz dodać plik
google-services.jsondo odpowiedniego katalogu w projekcie aplikacji na Androida.Zadbaj o spójność kodu i zasobów.
(jeśli używasz Cloud Firestore) Pamiętaj, aby zaktualizować i opublikować Firebase Security Rules zgodnie z modelem danych Cloud Firestore aplikacji.
Co jeszcze możesz zrobić?
- Monitorowanie wdrożonych „aplikacji” ADC, które są automatycznie rejestrowane w App Hub. Umożliwia to skonsolidowane monitorowanie, obserwowanie kosztów i rozwiązywanie problemów z zasobami Firebase w kontekście szerszych wdrożeń Google Cloud.