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

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

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

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

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

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

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

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

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

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

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

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

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

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

Администратор Fleet Engine по запросу

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 Delivery Untrusted Driver User (Ненадежный водитель Fleet Engine Delivery)

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.

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

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