Обзор безопасности

В этом документе объясняется, как Fleet Engine защищает обмен информацией между тремя основными средами вашей системы Fleet Engine: вашим внутренним сервером, вашим сервером Fleet Engine и вашими клиентскими приложениями и веб-сайтами.

Fleet Engine управляет безопасностью двумя основными способами, используя принцип наименьших привилегий:

  • Учётные данные приложения по умолчанию (ADC) : для сред с высоким уровнем привилегий, таких как взаимодействие между серверами. Используется, когда ваш внутренний сервер создаёт транспортные средства и рейсы и управляет ими в Fleet Engine. Подробнее см. в разделе «Учётные данные приложения по умолчанию» .

  • Веб-токены JSON (JWT) : для сред с низким уровнем доверия, таких как клиентские приложения, работающие на смартфонах и в браузерах. Используются для выполнения операций с низкими привилегиями, таких как обновление местоположения транспортного средства в Fleet Engine.

    JWT, необходимые для сред с низким уровнем доверия, генерируются и выпускаются вашим внутренним сервером для защиты секретных ключей учётной записи службы и включают дополнительные утверждения, специфичные для Fleet Engine. Подробнее см. в разделе JSON Web Tokens .

    Например, если у вас есть приложение для водителей, водители получают доступ к данным Fleet Engine через приложение. Аутентификация приложения осуществляется с помощью JWT, которые оно получает с вашего внутреннего сервера. Включенные в него утверждения JWT, а также роль учётной записи сервиса определяют, к каким частям вашей системы приложение для водителей имеет доступ и какие действия оно может выполнять. Такой подход ограничивает доступ только данными, необходимыми для выполнения водительских заданий.

Fleet Engine использует эти подходы к обеспечению безопасности для обеспечения следующего:

  • Аутентификация подтверждает личность субъекта, отправляющего запрос. Fleet Engine использует ADC для сред с высоким уровнем доверия и JWT для сред с низким уровнем доверия.

  • Авторизация определяет, к каким ресурсам имеет доступ аутентифицированный субъект. Fleet Engine использует сервисные учётные записи с ролями Google Cloud IAM, а также утверждения JWT, которые гарантируют, что аутентифицированные субъекты имеют разрешения на просмотр или изменение запрашиваемых ими данных.

Настройка безопасности сервера и клиента

Чтобы обеспечить безопасность с помощью Fleet Engine, настройте необходимые учетные записи и безопасность на вашем внутреннем сервере, а также в клиентских приложениях и веб-сайтах.

На следующей диаграмме показан обзор шагов по настройке безопасности на вашем внутреннем сервере и клиентских приложениях.

Схема процесса обеспечения безопасности при настройке аутентификации сервера и клиентского приложения

Более подробную информацию смотрите в следующих разделах.

Настройка безопасности внутреннего сервера

Администратору автопарка необходимо выполнить следующие шаги:

  1. Создание и настройка учетных записей служб :

    1. В Google Cloud Console создайте учетные записи служб.

    2. Назначьте определенные роли IAM учетным записям служб.

    3. Настройте свой внутренний сервер с помощью созданных учётных записей служб. Подробнее см. в разделе «Роли учётных записей служб» .

  2. Настройте безопасное взаимодействие с Fleet Engine (ADC) : настройте серверную часть для взаимодействия с экземпляром Fleet Engine, используя учётные данные приложения по умолчанию с соответствующей учётной записью *Admin. Подробнее см. в разделе «Учётные данные приложения по умолчанию» .

  3. Настройте безопасное взаимодействие с клиентскими приложениями (JWT) : создайте генератор JSON Web Token для создания JWT с соответствующими утверждениями для клиентских приложений и мониторинга веб-сайтов. Подробнее см. в разделе Выпуск JSON Web Tokens .

Настройка безопасности приложения

Разработчикам приложений необходимо предусмотреть возможность получения JSON-веб-токенов, сгенерированных вашим внутренним сервером, в клиентских приложениях или на веб-сайтах и ​​использовать их для безопасного взаимодействия с Fleet Engine. Подробные инструкции по настройке см. в документации по Driver Experience или Consumer Experience для нужных вам приложений.

Поток безопасности серверных и клиентских приложений

На следующей диаграмме последовательности показан поток аутентификации и авторизации серверного и клиентского приложения с Fleet Engine с использованием ADC с внутренним сервером и JWT с клиентскими приложениями и веб-сайтами.

Схема потока безопасности во время работы серверного и клиентского приложения аутентификация

  • Ваш внутренний сервер создает транспортные средства, поездки или задачи в Fleet Engine .

  • Ваш внутренний сервер отправляет поездку или задание транспортному средству : приложение водителя, если оно активно, извлекает задание.

  • Ваш внутренний сервер : подписывает и выдает JWT для соответствующей учетной записи службы с соответствующей ролью IAM для назначенной задачи или поездки.

  • Клиентское приложение : Клиентское приложение использует полученный JWT для отправки обновлений местоположения транспортного средства в Fleet Engine.

Что дальше?