Настройка IAM и роли учетной записи службы

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

Что такое учетные записи служб и роли IAM?

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

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

Более общую информацию о предоставлении ролей IAM см. в статье Предоставление роли IAM с помощью консоли Google Cloud .

Роли учетной записи службы Fleet Engine

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

Следующие роли иллюстрируют, как разрешения работают с ролями Fleet Engine:

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

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

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

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

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

Администрирование Fleet Engine по требованию

roles/fleetengine.ondemandAdmin

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

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

roles/fleetengine.driverSdkUser

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

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

roles/fleetengine.consumerSdkUser

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

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

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

Администратор доставки двигателей для автопарка

roles/fleetengine.deliveryAdmin

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

Считыватель Fleet Engine Delivery

roles/fleetengine.deliveryFleetReader

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

Доставка двигателя автопарка. Ненадежный пользователь-водитель.

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 Console для каждой необходимой роли. Сервисные аккаунты необходимы для аутентификации водителей, потребителей, приложений и веб-сайтов для мониторинга и управления автопарком — любого программного обеспечения, которому требуется доступ к данным Fleet Engine. Программное обеспечение, которому требуются те же разрешения, может использовать тот же сервисный аккаунт.

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

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

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

Что дальше?