Теперь, когда вы прочитали основные сведения о ролях учетной записи и 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, назначенных ему на этапе установки.
Что дальше
- Создайте свой проект Fleet Engine .
- Узнайте, как выдавать веб-токены JSON с вашего сервера.