Firebase integruje się z Application Design Center (ADC) od Google Cloud, aby klienci korporacyjni mogli spełniać wymagania dotyczące standaryzacji i zarządzania, a jednocześnie umożliwiać deweloperom aplikacji szybkie wdrażanie. Korzystanie z ADC zapewnia, że infrastruktura jest zgodna ze standardami organizacji i sprawdzonymi metodami dzięki wstępnie zdefiniowanym szablonom, które określają wytyczne dotyczące udostępniania zasobów, przyznawania uprawnień IAM itp.
Na tej stronie znajdziesz informacje na te tematy:
- Omówienie ADC i Firebase, w tym obsługiwane usługi 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, w której znajdziesz omówienie ADC. W Google ClouddokumentacjiADC znajdziesz też kilka szczegółowych przewodników, w tym omówienie kluczowych pojęć i przewodnik po wstępnej konfiguracji.
W przypadku korzystania z ADC „aplikacja” jest definiowana jako logiczne grupowanie zasobów i usług, które razem zapewniają funkcję biznesową. Deweloperzy Firebase mogą traktować „aplikację” jako odpowiednik ADCprojektu w Firebase, w którym zarejestrowane aplikacje na iOS, Androida i aplikacje internetowe współdzielą wszystkie zasoby i usługi projektu oraz mają do nich dostęp.
Na początek zalecamy korzystanie z ADCinterfejsu GUI, czyli płótna projektowego,Google Cloud dostępnego w konsoli. Obszar projektowania umożliwia wizualizację i tworzenie diagramów architektury infrastruktury, która ma być dostępna dla Twoich aplikacji.
Pamiętaj, że ADC jest obsługiwany przez 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 profile użytkowników ADC
Aby zrozumieć i wykorzystać ADC, możesz podzielić zadania związane z ADC na 2 grupy:
Inżynier platformy: ta osoba projektuje, weryfikuje i publikuje wielokrotnego użytku szablony ADC, które są zgodne z zasadami, w ADC katalogu.
Deweloper aplikacji: ta osoba korzysta z opublikowanych szablonówADC (np. z katalogu zespołuADC), aby konfigurować i wdrażać infrastrukturę. Tworzą też rzeczywistą bazę kodu i funkcje aplikacji.
Wymagane role uprawnień do kontrolowania dostępu
Przypisując role IAM, możesz określać, którzy członkowie projektu (lub podmioty) mogą wykonywać określone zadania.
Możesz na przykład przypisać rolę Administrator App Design Center (roles/designcenter.admin) inżynierowi platformy, który musi tworzyć i przypisywać przestrzenie, zarządzać katalogami oraz projektować szablony. Rola Edytujący aplikację (roles/designcenter.applicationEditor) jest zwykle przypisywana deweloperowi aplikacji, aby mógł korzystać z szablonów, ale nie tworzyć ich.
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ądzać pełnym ADCcyklem życia (w tym zarządzaniem przestrzeniami, katalogami, szablonami, konfigurowaniem i wdrażaniem aplikacji); |
Inżynier platformy |
Administrator App Design Center ( roles/designcenter.admin |
| tworzyć szablony i nimi zarządzać, a także konfigurować i wdrażać aplikacje; | Inżynier platformy |
Użytkownik App Design Center ( roles/designcenter.user |
| Tworzenie konta usługi do wdrażania ADC aplikacji | ||
| Tworzenie kont usługi | Inżynier platformy |
Tworzenie kont usługi ( roles/iam.serviceAccountCreator |
| Przyznaj kontu usługi dostęp do projektu używanego do wdrażania ADC | Inżynier platformy |
Administrator uprawnień projektu ( roles/resourcemanager.projectIamAdmin |
| Konfigurowanie i wdrażanie ADC aplikacji | ||
|
zarządzanie pełnym 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 Google Cloudhierarchii.
Ogólny przepływ pracy
W tej sekcji opisujemy ogólny przepływ pracy związany z tworzeniem i używaniem szablonu ADC. Poszczególne kroki są oznaczone osobą, 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 (deweloper aplikacji)
- Krok 4. Opracuj aplikację (dla programisty)
Krok 1. Skonfiguruj ADC (inżynier platformy)
Te zadania wykonuje osoba na stanowisku inżyniera platformy (lub wyższym), aby skonfigurowaćADC. Te zadania zwykle wystarczy wykonać tylko raz, aby wszystko skonfigurować do korzystania z ADC.
Konfiguracja ADC początkowa
Postępuj zgodnie z instrukcjami i wskazówkami w przewodniku po początkowej konfiguracji ADC w dokumentacji Google Cloud. Pamiętaj, że w tym przewodniku przyjęto założenie, że skonfigurujesz granice na poziomie folderu.
Po zakończeniu konfiguracji będziesz mieć pokój, czyli wydzielone miejsce, w którym zespół może współpracować, tworzyć szablony i wdrażać aplikacje. Upewnij się, że pokój (oraz folder i katalog) jest udostępniony wszystkim osobom, z którymi chcesz współpracować ADC.
Skonfiguruj dostęp do pokoju i użytkowników.
Postępuj zgodnie z instrukcjami w artykule Zarządzanie użytkownikami przestrzeni w dokumentacji Google Cloud dotyczącym ADC. Postępuj zgodnie z instrukcjami podanymi wcześniej na tej stronie w sekcji Wymagane role uprawnień do kontrolowania dostępu.
Wstępnie udostępniaj projekty.
Utwórz w folderze co najmniej 1 nowy projekt Google Cloud. Upewnij się, że z tymi projektami połączone jest Cloud Billing konto. Te projekty będą używane przez dewelopera aplikacji podczas wdrażania infrastruktury zdefiniowanej w szablonie.
Skonfiguruj konto usługi wdrożenia.
ADC zarządza automatyczną obsługą administracyjną zasobów za pomocą konta usługi o ograniczonym zakresie. Dzięki temu deweloper aplikacji nie będzie mógł 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 przez siebie szablonów. Możesz też użyć własnego konta usługi z uprawnieniami, które uznasz za odpowiednie dla deweloperów aplikacji.
Krok 2. Utwórz szablon (inżynier platformy)
Osoba pełniąca rolę inżyniera platformy używa płótna projektowego lub nawet Gemini Cloud Assist, aby utworzyć nowy szablon ADC.
Zdefiniuj zasoby.
W obszarze projektowania przeciągnij komponenty na obszar roboczy i utwórz między nimi połączenia. Te komponenty określają, z których usług Firebase (i Google Cloud) mają korzystać deweloperzy aplikacji.
Szablon może na przykład definiować zasoby w ten sposób:
- Deweloperzy aplikacji mogą tworzyć aplikacje na iOS, Androida i do przeglądarek, które korzystają z tych samych 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 dla ADC).
- Firebase Security Rules są początkowo domyślnie ustawione tak, aby odrzucać wszystkie żądania dostępu. 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.
Określ zasady.
Jeśli chcesz zdefiniować zasady, takie jak role IAM dla wdrożonej infrastruktury lub dozwolone regiony dla zasobów, musisz ustawić je w odpowiednich interfejsach tych zasad. Usługa ADC nie obsługuje obecnie definiowania zasad na poziomie szablonu.
Możesz przypisać członkom projektu konkretne role Firebase IAM w zależności od tego, co mają robić. Jeśli np. mają tylko wyświetlać zasoby w konsoli Firebase, przypisz im rolę Wyświetlający Firebase (
roles/firebase.viewer).Ograniczenia regionalne dla zasobów można ustawić 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 (deweloper aplikacji)
Deweloper aplikacji wybiera wstępnie zdefiniowany szablon, konfiguruje go pod kątem konkretnego przypadku użycia, a następnie wdraża infrastrukturę.
Wybierz szablon i go skonfiguruj.
W katalogu ADC wybierz szablon i skonfiguruj go, aby utworzyć wersję roboczą aplikacji. Dostępne konfiguracje, np. możliwe regiony zasobów, są ograniczone do tych, które zostały ustawione przez inżyniera platformy podczas tworzenia szablonu.
Wdróż infrastrukturę.
Po utworzeniu wersji roboczej aplikacji wdróż ją w jednym z wcześniej utworzonych projektówADC przeznaczonych na potrzeby wdrażania infrastruktury (patrz krok 1: skonfiguruj ADC powyżej).
Możesz otworzyć Firebasekonsolę i wyświetlić zasoby udostępnione w projekcie oraz włączone w nim usługi.
Krok 4. Opracuj rzeczywistą aplikację (dla programisty aplikacji)
ADC pomaga skonfigurować Firebase i Google Cloud infrastrukturę (np. udostępniać zasoby i włączać interfejsy API). Nie koduje jednak samej aplikacji, która korzysta z tych zasobów i interfejsów API.
Oto kilka ważnych zadań, które musi wykonać deweloper aplikacji:
Połącz bazę kodu aplikacji z Firebase.
Uzyskaj i dodaj konfigurację Firebase do bazy kodu każdej aplikacji.
Jeśli na przykład szablon dopuszcza 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) Zaktualizuj i opublikuj Firebase Security Rules, aby był zgodny z modelem danych Cloud Firestore aplikacji.
Co jeszcze możesz zrobić?
- Monitoruj wdrożone ADC „aplikacje”, 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.