Omówienie bezpieczeństwa

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 klienckimi.

Fleet Engine zarządza bezpieczeństwem na 2 podstawowe sposoby, stosując zasadę jak najmniejszych uprawnień:

  • Domyślne uwierzytelnianie aplikacji (ADC): w środowiskach o wysokich uprawnieniach, takich jak komunikacja między serwerami. Używane, gdy serwer backendu tworzy pojazdy i przejazdy oraz zarządza nimi w Fleet Engine. Więcej informacji znajdziesz w artykule Domyślne uwierzytelnianie aplikacji.

  • Tokeny sieciowe JSON (JWT): w środowiskach o niskim poziomie zaufania, takich jak aplikacje klienckie działające na smartfonach i w przeglądarkach. Służy do wykonywania operacji o niższych uprawnieniach, takich jak aktualizowanie lokalizacji pojazdu we Fleet Engine.

    Tokeny JWT wymagane przez środowiska o niskim poziomie zaufania są generowane i wydawane przez serwer backendu w celu ochrony tajnych kluczy konta usługi i zawierają dodatkowe oświadczenia dotyczące Fleet Engine. Szczegółowe informacje znajdziesz w artykule na temat tokenów sieciowych JSON.

    Jeśli na przykład masz aplikację dla kierowców, uzyskują oni 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 oświadczenia JWT wraz z rolą konta usługi określają, do jakich części systemu aplikacja kierowcy ma dostęp i co może robić. Takie podejście ogranicza dostęp tylko do danych wymaganych do realizacji zadań związanych z jazdą.

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 uwierzytelniony podmiot. Fleet Engine używa kont usługi z rolami Cloud IAM Google Cloud oraz deklaracji JWT, które zapewniają, że uwierzytelnione encje mają uprawnienia do wyświetlania lub zmieniania danych, o które proszą.

Konfiguracja zabezpieczeń serwera i klienta

Aby włączyć zabezpieczenia we Fleet Engine, skonfiguruj wymagane konta i zabezpieczenia na serwerze backendu oraz w aplikacjach i witrynach klienckich.

Poniższy diagram przedstawia omówienie czynności, które należy wykonać, aby skonfigurować zabezpieczenia na serwerze backendu i w aplikacjach klienckich.

Diagram przepływu zabezpieczeń podczas konfigurowania uwierzytelniania aplikacji serwera i klienta

Więcej informacji znajdziesz w sekcjach poniżej.

Konfiguracja zabezpieczeń serwera backendu

Administrator floty musi wykonać te czynności:

  1. Tworzenie i konfigurowanie kont usługi:

    1. W konsoli Google Cloud utwórz konta usługi.

    2. przypisać do kont usługi określone role uprawnień,

    3. Skonfiguruj serwer backendu za pomocą utworzonych kont usługi. Więcej informacji znajdziesz w artykule Role konta usługi.

  2. Skonfiguruj bezpieczną komunikację z Fleet Engine (ADC): skonfiguruj backend tak, aby komunikował się z instancją Fleet Engine przy użyciu domyślnego uwierzytelniania aplikacji z odpowiednim kontem usługi administratora. Więcej informacji znajdziesz w artykule na temat domyślnego uwierzytelniania aplikacji.

  3. Skonfiguruj bezpieczną komunikację z aplikacjami klienckimi (JWT): utwórz generator tokenów internetowych JSON, aby tworzyć tokeny JWT z odpowiednimi oświadczeniami 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ć sposób pobierania tokenów JSON Web Token wygenerowanych przez serwer backendu w aplikacjach klienckich lub witrynach 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.

Przepływ zabezpieczeń aplikacji serwera i klienta

Poniższy diagram sekwencji przedstawia przepływ uwierzytelniania i autoryzacji aplikacji serwera i aplikacji klienckiej za pomocą Fleet Engine przy użyciu ADC z serwerem backendu i tokenów JWT z aplikacjami klienckimi i witrynami.

Diagram przepływu zabezpieczeń podczas uwierzytelniania aplikacji serwera i klienta

  • Serwer backendu tworzy pojazdy i przejazdy lub zadania w Fleet Engine.

  • Serwer backendu przypisuje przejazd lub zadanie do pojazdu: gdy aplikacja dla kierowców 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 informacji o zmianie lokalizacji pojazdu.

Co dalej?