Вам нужно будет использовать свои кредиты AWS, чтобы подписать запрос.Подробности о схеме подписи приведены здесь: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
Тем не менее, вы, возможно, не захотите встраивать кредиты AWS в свое приложение для часов.Их будет сложно поворачивать / управлять, не выталкивая обновление приложения.
Входят ли ваши пользователи в какой-либо веб-сервис, которым вы управляете?Если это так, вы можете сделать так, чтобы они загружали туда двоичные объекты (используя аутентифицированный POST), а затем помещали данные в S3.Или вы могли бы предложить вашему веб-сервису предварительно назначенный URL пользователям, которые они используют для загрузки данных.Или вы можете настроить приложение watch для службы, используя что-то вроде API Gateway, а затем использовать лямбда-обработчик для помещения данных в S3.
Если вы выполняете какой-либо «социальный вход» (войдите через facebook, войдите в систему с помощью Google и т. д.), вы можете использовать OAuth для IAM и получать уникальные кредиты для каждого пользователя.Это еще один путь, если вы хотите сделать это прямо из приложения, не поддерживая службу.
Если вы согласны встраивать один и тот же набор IAM-кредитов в каждое приложение для часов, посмотрите на SigV4, но я бы посоветовал посмотреть, есть ли способ аутентификации на основе отдельных пользователей.