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

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

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

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

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

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

    Например, если у вас есть приложение для водителей, водители получают доступ к данным из 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 для создания JWT с соответствующими утверждениями для клиентских приложений и веб-сайтов мониторинга. Подробности см. в разделе Выдача веб-токенов JSON .

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

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

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

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

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

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

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

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

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

Что дальше