Z tego dokumentu dowiesz się, jak silnik usługi Fleet chroni wymianę informacji między 3 głównymi środowiskami systemu Fleet Engine: serwerem backendu, serwerem usługi Fleet Engine oraz aplikacjami i witrynami klienta.
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. Szczegółowe informacje znajdziesz w artykule Domyślne dane logowania aplikacji.
Tokeny sieciowe 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 przez środowiska o niskim stopniu zaufania są generowane i wydawane przez serwera backendu w celu ochrony kluczy tajnych konta usługi oraz dołączenie dodatkowych roszczeń specyficznych dla Fleet Engine. Więcej informacji znajdziesz w artykule Tokeny sieciowe JSON.
Jeśli na przykład masz aplikację dla kierowców, oni mogą uzyskiwać dane 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 przydzielonych zadań.
Fleet Engine wykorzystuje te zabezpieczenia, aby zapewnić:
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 uwierzytelniona jednostka. Fleet Engine używa kont usługi z rolami Google Cloud IAM oraz tokenem JWT deklaracje, które zapewniają, że uwierzytelnione jednostki mają uprawnienia do wyświetlania lub zmiany jakie dane chcą uzyskać.
Konfiguracja zabezpieczeń serwera i klienta
Aby włączyć zabezpieczenia za pomocą Fleet Engine, skonfiguruj wymagane konta i zabezpieczenia na serwerze backendu oraz w aplikacjach i witrynach klienta.
Poniższy diagram przedstawia omówienie czynności, które należy wykonać, aby skonfigurować zabezpieczenia na serwerze zaplecza i w aplikacjach klienta.
Więcej informacji znajdziesz w kolejnych sekcjach.
Konfiguracja zabezpieczeń serwera backendu
Administrator floty musi wykonać te czynności:
Utwórz i skonfiguruj konta usługi:
Utwórz konta usługi w konsoli Google Cloud.
Przypisz do kont usługi określone role uprawnień.
Skonfiguruj serwer backendu, używając 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. Dla: szczegóły, patrz Domyślne uwierzytelnianie aplikacji.
Skonfiguruj bezpieczną komunikację z aplikacjami klienckimi (JWT): utwórz sieć JSON. Generator tokenów do tworzenia tokenów JWT z odpowiednimi deklaracjami dla klienta aplikacji i witryn monitorujących. Więcej informacji: Wydaj tokeny internetowe JSON.
Konfiguracja zabezpieczeń aplikacji
Programiści aplikacji muszą udostępnić sposób pobierania wygenerowanych tokenów sieciowych JSON przez serwer backendu w aplikacjach lub witrynach klienckich i używać ich komunikują się z Fleet Engine. Szczegółowe informacje znajdziesz w instrukcjach konfiguracji w dokumentacji Dla kierowcy lub Dla konsumenta dotyczącej aplikacji, których potrzebujesz.
Proces bezpieczeństwa aplikacji serwera i klienta
Ten diagram sekwencji przedstawia przepływ uwierzytelniania i autoryzacji serwera i aplikacji klienta za pomocą Fleet Engine przy użyciu ADC z serwerem zaplecza i tokenów JWT z aplikacjami i witrynami klienckimi.
Serwer backendu tworzy pojazdy i podróże lub zadania we Fleet Engine.
Serwer backendu przesyła informacje o podróży lub zadanie do pojazdu: Aktywna aplikacja sterownika pobiera przypisanie.
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 wysłania pojazdu aktualizacje lokalizacji we Fleet Engine.
Co dalej?
- Utwórz projekt Fleet Engine.
- Dowiedz się, jak wydawać tokeny internetowe JSON z serwera.
- Dowiedz się więcej o rolach na koncie usługi.
- Dowiedz się więcej o tokenach JWT.