Проектирование системы безопасности Fleet Engine

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

Дизайн безопасности

Схема безопасности Fleet Engine состоит из следующих элементов:

  • Роли :
    • Роли IAM определяют объем разрешенной активности вызывающего абонента. Например, роли ondemandAdmin или DeliveryAdmin разрешено делать все, тогда как роли driverSdkUser или DeliveryUntrustedDriver могут выполнять только минимальные обновления местоположения.
    • Роли IAM связаны с учетными записями служб.
  • Запросы
    • Заявления JWT дополнительно ограничивают объекты, с которыми может работать вызывающая сторона. Это могут быть конкретные задачи или средства доставки.
    • Запросы, отправляемые в Fleet Engine, всегда содержат JWT.
    • Поскольку JWT связаны с учетными записями служб, запросы, отправляемые в Fleet Engine, неявно связаны с учетной записью службы, связанной с JWT.
    • Чтобы запросить соответствующий JWT, который затем можно передать в Fleet Engine, ваш код, работающий в среде с низким уровнем доверия, должен сначала вызвать ваш код, работающий в полностью доверенной среде.
  • Проверки безопасности с помощью Fleet Engine
    • Роли IAM, связанные с учетной записью службы, обеспечивают правильную авторизацию вызывающей стороны для выполнения вызова API.
    • Утверждения JWT, переданные в запросе, предоставляют вызывающей стороне правильное разрешение на работу с сущностью.

Процесс аутентификации клиентского приложения

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

  • Администратор автопарка настраивает учетные записи следующим образом :
    • Создает сервисные учетные записи
    • Назначает определенные роли IAM сервисным учетным записям.
    • Настраивает свой бэкэнд с помощью сервисных учетных записей.
  • Клиентское приложение запрашивает JWT с вашего сервера . Запрашивающим может быть приложение «Драйвер», приложение «Потребитель» или приложение для мониторинга.
  • Fleet Engine выдает JWT для соответствующей учетной записи службы.
  • Клиентское приложение выполняет следующие действия:
    • Получает JWT
    • Использует JWT для подключения к Fleet Engine для чтения или изменения данных в зависимости от ролей IAM, назначенных ему на этапе установки.

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

Что дальше