Настройка IAM и роли сервисных аккаунтов

Правильная настройка IAM – это обязательное условие для управления безопасностью и идентификационной информацией в системе Fleet Engine. Используйте роли IAM, чтобы настраивать доступ к различным операциям и данным в соответствии с требованиями водителей, клиентов и операторов автопарка.

Что такое сервисные аккаунты и роли IAM?

Чтобы аутентифицировать и авторизовать доступ к данным в Fleet Engine, настройте сервисные аккаунты в Google Cloud Console. В Fleet Engine есть набор предопределенных ролей IAM, которые вы назначаете сервисному аккаунту, чтобы определить, к каким данным у него есть доступ. Подробную информацию можно найти в обзоре сервисных аккаунтов в документации Google Cloud.

Fleet Engine использует роли и правила IAM для управления авторизацией методов и ресурсов Fleet Engine API. Подробную информацию можно найти в обзоре ролей в документации Google Cloud. Используйте только роли сервисных аккаунтов Fleet Engine, описанные в следующих разделах.

Подробную информацию вы найдете в статье о том, как назначить роль IAM в консоли Google Cloud.

Роли сервисного аккаунта Fleet Engine

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

Ниже показано, как разрешения работают с ролями Fleet Engine.

  • Роли ondemandAdmin и deliveryAdmin могут выполнять все операции в Fleet Engine. Используйте эти роли только в доверенных средах, например для обмена данными между вашим бэкенд-сервером и Fleet Engine.

  • Роли driverSdkUser и consumerSdkUser позволяют только получать сведения о назначенных поездках и обновлять или получать данные о местоположении транспортного средства. Обычно такие роли используются клиентами в средах с низким уровнем доверия, например в приложениях для водителей, потребителей или мониторинга.

Роли и разрешения, предоставляемые для поездок по запросу и запланированных задач, описаны в таблицах ниже.

Поездки по запросу

Роль Разрешение

Администратор Fleet Engine On-demand

roles/fleetengine.ondemandAdmin

Предоставляет разрешение на чтение, запись и удаление для всех ресурсов транспортных средств и поездок. Субъектам с этой ролью не нужно использовать JWT. Вместо этого им следует по возможности использовать Application Default Credentials. Эта роль игнорирует пользовательские утверждения JWT. Используйте эту роль только в надежных средах, например на внутреннем сервере.

Пользователь Fleet Engine Driver SDK

roles/fleetengine.driverSdkUser

Обновляйте местоположение и маршруты транспортных средств, а также получайте информацию о них и поездках. Используйте JWT с настраиваемыми утверждениями, созданными с помощью этой роли, для аутентификации и авторизации из приложений водителей для совместных поездок или доставки.

Пользователь Fleet Engine Consumer SDK

roles/fleetengine.consumerSdkUser

Поиск транспортных средств и получение информации о них и поездках. Используйте JWT с настраиваемыми утверждениями, созданными с помощью этой роли, для приложений для совместных поездок или доставки .

Запланированные задачи

Роль Разрешение

Администратор доставки Fleet Engine

roles/fleetengine.deliveryAdmin

Предоставляет разрешение на чтение, запись и удаление ресурсов доставки. Субъектам с этой ролью не нужно использовать JWT. Вместо этого они должны использовать Application Default Credentials. Игнорирует пользовательские утверждения JWT. Ограничьте использование этой роли доверенными средами, например вашим бэкенд-сервером.

Читатель парка доставки Fleet Engine

roles/fleetengine.deliveryFleetReader

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

Ненадежный водитель доставки Fleet Engine

roles/fleetengine.deliveryUntrustedDriver

Предоставляет разрешение на обновление местоположения транспортного средства доставки. Токены, выпущенные сервисным аккаунтом с этой ролью, обычно используются на мобильном устройстве водителя службы доставки.

Примечание. Ненадежным считается устройство водителя, которое не управляется корпоративным ИТ-отделом, а предоставлено водителем и обычно не имеет надлежащих средств ИТ-безопасности. Организациям, в которых действует политика использования собственных устройств, следует выбрать эту роль и полагаться только на мобильное приложение для отправки обновлений местоположения транспортных средств в Fleet Engine. Все остальные взаимодействия должны выполняться через ваши бэкенд-серверы.

Потребитель Fleet Engine Delivery

roles/fleetengine.deliveryConsumer

Разрешает поиск задач по идентификатору отслеживания и чтение информации о задачах без возможности ее обновления. Токены, выпущенные сервисным аккаунтом с этой ролью, обычно используются в веб-браузере потребителя доставки.

Доверенный водитель Fleet Engine Delivery

roles/fleetengine.deliveryTrustedDriver

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

Примечание. Доверенным считается устройство водителя, управляемое корпоративным ИТ-отделом и имеющее соответствующие средства контроля безопасности. Организации, которые предоставляют эти устройства, могут интегрировать взаимодействие с Fleet Engine в мобильное приложение.

Как использовать роли IAM и сервисные аккаунты с Fleet Engine

Чтобы использовать сервисные аккаунты для аутентификации и авторизации в Fleet Engine, выполните следующие действия:

  1. Создайте сервисные аккаунты в консоли Google Cloud для каждой нужной роли. Сервисные аккаунты нужны для аутентификации приложений и сайтов, предназначенных для водителей, клиентов, мониторинга и управления автопарком, – любого ПО, которому нужен доступ к данным Fleet Engine. Программное обеспечение, которому требуются одинаковые разрешения, может использовать один и тот же сервисный аккаунт.

  2. Назначьте роль IAM Fleet Engine каждому сервисному аккаунту. Выберите роль политики IAM для Fleet Engine, которая предоставляет необходимые разрешения на доступ к данным в Fleet Engine или их обновление.

  3. Используйте подходящие сервисные аккаунты в своих приложениях и ПО, чтобы аутентифицировать их подключение к Fleet Engine и авторизовать доступ к ресурсам, предоставляемый назначенной ролью.

Подробнее о том, как роли сервисных аккаунтов вписываются в систему безопасности Fleet Engine, читайте в обзоре безопасности. Подробную информацию о ролях сервисных аккаунтов можно найти в статье Общие сведения о ролях IAM в документации по Google Cloud.

Дальнейшие действия