Omówienie zabezpieczeń

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 klientów.

Fleet Engine zarządza zabezpieczeniami na 2 podstawowe sposoby, kierując się 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 w środowiskach o niskim poziomie zaufania są generowane i wydawane przez serwer zaplecza, aby chronić klucze tajne konta 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 backendowego. Dołączone deklaracje JWT wraz z rolą konta usługi określają, do których części systemu aplikacja sterownika ma dostęp i co może robić. Ta metoda ogranicza dostęp tylko do danych wymaganych do wykonywania przypisań do jazdy.

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 przypadku środowisk o wysokim stopniu zaufania i 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 deklaracji JWT, aby zagwarantować, że uwierzytelnione encje mają uprawnienia do wyświetlania lub zmieniania danych, których żądają.

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 kroki niezbędne do skonfigurowania zabezpieczeń na serwerze backendu i w aplikacjach klienckich.

Schemat procesu zabezpieczania podczas konfigurowania uwierzytelniania aplikacji serwera i klienta

Więcej informacji znajdziesz w następnych sekcjach.

Konfiguracja zabezpieczeń serwera backendu

Administrator floty musi wykonać te czynności:

  1. Utwórz i skonfiguruj konta usługi:

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

    2. Przypisz do kont usługi konkretne role uprawnień.

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

  2. Skonfiguruj bezpieczną komunikację z Fleet Engine (ADC): skonfiguruj backend, aby komunikował się z instancją Fleet Engine przy użyciu domyślnych danych logowania aplikacji z odpowiednim kontem usługi *Admin. Więcej informacji znajdziesz w artykule Domyślne dane logowania aplikacji.

  3. Konfigurowanie bezpiecznej komunikacji 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. Więcej informacji znajdziesz w artykule o problemach z tokenami sieciowymi JSON.

Konfiguracja zabezpieczeń aplikacji

Deweloperzy aplikacji muszą uwzględnić w swoich aplikacjach klienckich lub witrynach sposób na pobieranie tokenów sieciowych JSON wygenerowanych przez serwer backendu i używać ich do bezpiecznej komunikacji z Fleet Engine. Szczegółowe instrukcje konfiguracji znajdziesz w dokumentacji Driver Experience lub Konserwacja dla klientów w przypadku konkretnych aplikacji.

Proces zabezpieczania aplikacji serwera i klienta

Ten diagram sekwencji przedstawia przepływ danych w ramach procesu uwierzytelniania i autoryzacji serwera i aplikacji klienckich za pomocą Fleet Engine przy użyciu ADC z serwerem zaplecza i tokenów JWT z aplikacjami i witrynami klienckimi.

Schemat przepływu zabezpieczeń podczas uwierzytelniania na serwerze i w aplikacji klienta

  • Serwer backendu tworzy pojazdy i podróże lub zadania we Fleet Engine.

  • Twój backend wysyła do pojazdu zlecenie dotyczące przejazdu lub zadania: 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 do Fleet Engine aktualizacji lokalizacji pojazdu.

Co dalej?