Z tego dokumentu dowiesz się, jak Fleet Engine zapewnia bezpieczną wymianę informacji między 3 głównymi środowiskami systemu Fleet Engine: serwerem zaplecza, serwerem Fleet Engine oraz aplikacjami i witrynami klientów.
Fleet Engine zarządza zabezpieczeniami na 2 podstawowe sposoby, stosując zasadę jak najmniejszych uprawnień:
Domyślne dane logowania aplikacji (ADC): przeznaczone do środowisk o wysokich uprawnieniach, takich jak komunikacja między serwerami. Używany, gdy serwer backend tworzy pojazdy i podróże oraz zarządza nimi w Fleet Engine. Więcej informacji znajdziesz w sekcji Domyślne uwierzytelnianie aplikacji.
Tokeny internetowe JSON (JWT): przeznaczone do środowisk o niskim poziomie zaufania, takich jak aplikacje klienckie działające na smartfonach i w przeglądarkach. Służy do wykonywania operacji o mniejszym poziomie uprawnień, takich jak aktualizowanie lokalizacji pojazdu w Fleet Engine.
Tokeny JWT wymagane w środowiskach o niskim poziomie zaufania są generowane i wydawane przez serwer zaplecza, aby chronić klucze tajne konta usługi. Zawierają one dodatkowe oświadczenia dotyczące Fleet Engine. Więcej informacji znajdziesz w artykule Tokeny sieciowe w formacie 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 od serwera zaplecza. Dołączone oświadczenia JWT wraz z rolą konta usługi określają, do jakich części systemu ma dostęp aplikacja kierowcy i co może zrobić. Takie podejście ogranicza dostęp tylko do danych wymaganych do wykonania zadań związanych z prowadzeniem pojazdu.
Fleet Engine korzysta z tych metod zabezpieczeń, aby:
Uwierzytelnianie służy do weryfikacji tożsamości podmiotu przesyłającego żądanie. Fleet Engine używa ADC w środowiskach o wysokim poziomie zaufania, a JWT w środowiskach o niskim poziomie zaufania.
Autoryzacja określa, do jakich zasobów ma dostęp uwierzytelniony podmiot. Fleet Engine używa kont usługi z roli uprawnień Google Cloud oraz roszczeń JWT, które zapewniają, że uwierzytelnione podmioty mają uprawnienia do wyświetlania lub zmieniania danych, których proszą.
Konfiguracja zabezpieczeń serwera i klienta
Aby włączyć bezpieczeństwo za pomocą Fleet Engine, skonfiguruj wymagane konta i zabezpieczenia na serwerze zaplecza oraz w aplikacjach i witrynach klienta.
Na diagramie poniżej znajdziesz omówienie czynności, które musisz wykonać, aby skonfigurować zabezpieczenia na serwerze zaplecza i aplikacjach klienta.
Więcej informacji znajdziesz w następnych sekcjach.
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 określone role uprawnień.
Skonfiguruj serwer backendu za pomocą utworzonych kont usługi. Więcej informacji znajdziesz w artykule Rola konta usługi.
Skonfiguruj bezpieczną komunikację z Fleet Engine (ADC): skonfiguruj backend tak, aby komunikował się z instancją Fleet Engine za pomocą domyślnych poświadczeń aplikacji z odpowiednim *kontem usługi administratora. Więcej informacji znajdziesz w artykule Domyślne dane logowania aplikacji.
Skonfiguruj bezpieczną komunikację z aplikacjami klienckimi (tokeny JWT): utwórz generator tokenów sieciowych JSON, aby tworzyć tokeny JWT z odpowiednimi oświadczeniami dla aplikacji klienckich i witryn do monitorowania. Szczegółowe informacje znajdziesz w artykule Wydawanie tokenów sieciowych JSON.
Konfiguracja zabezpieczeń aplikacji
Deweloperzy aplikacji muszą uwzględnić w aplikacji klienckiej lub witrynie sposób pobierania tokenów sieciowych JSON wygenerowanych przez serwer zaplecza i używać ich do bezpiecznej komunikacji z Fleet Engine. Szczegółowe informacje znajdziesz w instrukcjach konfiguracji w dokumentacji dla kierowców lub dla konsumentów dotyczącej aplikacji, których potrzebujesz.
Proces zabezpieczania aplikacji serwera i klienta
Ten diagram sekwencji przedstawia przepływ uwierzytelniania i autoryzacji aplikacji serwera i klienta za pomocą Fleet Engine przy użyciu ADC z serwerem zaplecza oraz JWT z aplikacjami i witrynami klienta.
Serwer backendu tworzy pojazdy i podróże lub zadania w Fleet Engine.
Twój backend wysyła do pojazdu zlecenie lub zadanie: aplikacja kierowcy, gdy jest aktywna, pobiera zlecenie.
Twój serwer zaplecza: podpisuje i wydaje token JWT dla odpowiedniego konta usługi z odpowiednią rolą uprawnień do przypisanego zadania lub przejazdu.
Aplikacja kliencka: aplikacja kliencka używa otrzymanego tokena JWT do wysyłania aktualizacji lokalizacji pojazdu do Fleet Engine.
Co dalej?
- Utwórz projekt Fleet Engine.
- Dowiedz się, jak wydawać tokeny sieciowe JSON na serwerze.
- Dowiedz się więcej o rolach kont usługi.
- Dowiedz się więcej o tokenach JWT.