W tym dokumencie wyjaśniamy, jak Fleet Engine zabezpiecza wymianę informacji między 3 głównymi środowiskami systemu Fleet Engine: serwerem backendu, serwerem Fleet Engine oraz aplikacjami i witrynami klientów.
Fleet Engine zarządza bezpieczeństwem na 2 podstawowe sposoby, zgodnie z zasadą jak najmniejszych uprawnień:
Domyślne dane logowania aplikacji (ADC): w środowiskach o wysokich uprawnieniach, takich jak komunikacja między serwerami. Używany, gdy serwer backendu tworzy pojazdy i przejazdy oraz zarządza nimi w Fleet Engine. Szczegółowe informacje znajdziesz w artykule Domyślne dane logowania aplikacji.
Tokeny internetowe JSON (JWT): w środowiskach o niskim poziomie zaufania, takich jak aplikacje klienckie działające na smartfonach i w przeglądarkach. Używane do wykonywania operacji o niższych uprawnieniach, takich jak aktualizowanie lokalizacji pojazdu w Fleet Engine.
Tokeny JWT wymagane w środowiskach o niskim poziomie zaufania są generowane i wydawane przez serwer backendu, aby chronić tajne klucze kont usługi. Zawierają one dodatkowe deklaracje specyficzne dla Fleet Engine. Więcej informacji znajdziesz w artykule Tokeny sieciowe JSON.
Jeśli na przykład masz aplikację dla kierowców, kierowcy uzyskują dostęp do danych z Fleet Engine za jej pomocą. Aplikacja jest uwierzytelniana za pomocą tokenów JWT, które otrzymuje z serwera backendu. Dołączone roszczenia JWT wraz z rolą konta usługi określają, do których części systemu aplikacja kierowcy ma dostęp i co może robić. Takie podejście ogranicza dostęp tylko do danych wymaganych do wykonania zadań związanych z przejazdami.
Fleet Engine korzysta z tych metod zabezpieczeń, aby zapewnić:
Uwierzytelnianie weryfikuje tożsamość podmiotu wysyłającego żądanie. Fleet Engine używa ADC w środowiskach o wysokim poziomie zaufania i JWT w środowiskach o niskim poziomie zaufania.
Autoryzacja określa, do których zasobów ma dostęp uwierzytelniona jednostka. Fleet Engine używa kont usług z rolami Google Cloud IAM oraz roszczeń JWT, które zapewniają, że uwierzytelnione podmioty mają uprawnienia do wyświetlania lub zmieniania danych, o które proszą.
Konfiguracja zabezpieczeń serwera i klienta
Aby włączyć zabezpieczenia w Fleet Engine, skonfiguruj wymagane konta i zabezpieczenia na serwerze backendu oraz w aplikacjach klienckich i witrynach.
Poniższy diagram przedstawia omówienie kroków, które należy wykonać, aby skonfigurować zabezpieczenia na serwerze backendu i w aplikacjach klienckich.
Więcej informacji znajdziesz w sekcjach poniżej.
Konfiguracja zabezpieczeń serwera backendu
Administrator floty musi wykonać te czynności:
Tworzenie i konfigurowanie kont usługi:
W konsoli Google Cloud utwórz konta usługi.
Przypisz do kont usługi konkretne role uprawnień.
Skonfiguruj serwer backendu za pomocą utworzonych kont usługi. Więcej informacji znajdziesz w sekcji Role kont usługi.
Skonfiguruj bezpieczną komunikację z Fleet Engine (ADC): skonfiguruj backend tak, aby komunikował się z instancją Fleet Engine za pomocą domyślnych danych logowania aplikacji z odpowiednim kontem usługi *Admin. Więcej informacji znajdziesz w artykule Domyślne uwierzytelnianie aplikacji.
Skonfiguruj bezpieczną komunikację z aplikacjami klienckimi (JWT): utwórz generator tokenów sieciowych JSON, aby tworzyć tokeny JWT z odpowiednimi deklaracjami dla aplikacji klienckich i witryn monitorujących. Szczegółowe informacje znajdziesz w artykule Wystawianie tokenów sieciowych JSON.
Konfiguracja zabezpieczeń aplikacji
Deweloperzy aplikacji muszą uwzględnić w aplikacjach klienckich lub witrynach sposób pobierania tokenów sieciowych JSON generowanych przez serwer backendu i używać ich do bezpiecznej komunikacji z Fleet Engine. Szczegółowe informacje znajdziesz w instrukcjach konfiguracji w dokumentacji Driver Experience lub Consumer Experience dotyczącej aplikacji, których potrzebujesz.
Proces zabezpieczania aplikacji serwera i klienta
Poniższy diagram sekwencji przedstawia proces uwierzytelniania i autoryzacji aplikacji serwera i klienta za pomocą Fleet Engine z użyciem ADC na serwerze backendu oraz JWT w aplikacjach i witrynach klienta.
Serwer backendu tworzy pojazdy oraz przejazdy lub zadania w Fleet Engine.
Serwer backendu przypisuje przejazd lub zadanie do pojazdu: gdy aplikacja kierowcy jest aktywna, pobiera przypisanie.
Serwer backendu: podpisuje i wydaje token JWT dla odpowiedniego konta usługi z odpowiednią rolą uprawnień dla przypisanego zadania lub przejazdu.
Aplikacja kliencka: aplikacja kliencka używa otrzymanego tokena JWT do wysyłania do Fleet Engine aktualizacji lokalizacji pojazdu.
Co dalej?
- Utwórz projekt Fleet Engine.
- Dowiedz się, jak wystawiać tokeny sieciowe JSON z serwera.
- Dowiedz się więcej o rolach kont usługi.
- Więcej informacji o JWT