Omówienie bezpieczeństwa

Z tego dokumentu dowiesz się, jak Fleet Engine zabezpiecza wymianę informacji między 3 głównymi środowiskami systemu Fleet Engine: serwerem backendu, serwerem Fleet Engine oraz aplikacjami i witrynami klienta.

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

  • Domyślne uwierzytelnianie aplikacji (ADC): w środowiskach o wysokich uprawnieniach takich jak komunikacja serwer-serwer. Używane, gdy serwer backendu tworzy pojazdy i podróże 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. 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 w celu zabezpieczenia kluczy tajnych kont usługi oraz zawierają 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 mają dostęp do danych z Fleet Engine za jej pomocą. Aplikacja jest uwierzytelniana za pomocą tokenów JWT, które otrzymuje z serwera backendu. Deklaracje JWT oraz rola konta usługi określają, do których części systemu aplikacja kierowcy ma dostęp i co może robić. To podejście ogranicza dostęp tylko do danych wymaganych do wykonania 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 uprawnień Google Cloud oraz deklaracji 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 i witrynach klienta.

Na diagramie poniżej znajdziesz omówienie czynności, które musisz wykonać, aby skonfigurować zabezpieczenia na serwerze backendu oraz w aplikacjach klienta.

Diagram przepływu zabezpieczeń podczas konfiguracji uwierzytelniania serwera i aplikacji klienckiej

Więcej informacji znajdziesz w sekcjach poniżej.

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 określone role uprawnień.

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

  2. Skonfiguruj bezpieczną komunikację z Fleet Engine (ADC): skonfiguruj swój backend tak, aby komunikował się z instancją Fleet Engine za pomocą domyślnych danych logowania aplikacji z odpowiednim *kontem usługi administratora. Więcej informacji znajdziesz w artykule Domyślne uwierzytelnianie aplikacji.

  3. 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. Więcej informacji znajdziesz w artykule Wydawanie tokenów sieciowych JSON.

Konfiguracja zabezpieczeń aplikacji

Programiści aplikacji muszą uwzględnić sposób pobierania tokenów sieciowych JSON generowanych przez serwer backendu w aplikacjach lub witrynach klienta oraz używać ich do bezpiecznej komunikacji z Fleet Engine. Więcej informacji znajdziesz w instrukcjach konfiguracji w dokumentacji dotyczącej aplikacji dla kierowców lub aplikacji dla konsumentów.

Przepływ zabezpieczeń serwera i aplikacji klienckiej

Na diagramie sekwencji poniżej przedstawiono przepływ uwierzytelniania i autoryzacji serwera i aplikacji klienckiej w Fleet Engine za pomocą ADC z serwerem backendu oraz tokenów JWT z aplikacjami i witrynami klienta.

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

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

  • Serwer backendu przypisuje podróż 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 podróży.

  • Aplikacja kliencka: aplikacja kliencka używa otrzymanego tokena JWT do wysyłania aktualizacji lokalizacji pojazdu do Fleet Engine.

Co dalej?