Я пытаюсь получить доступ к закрытой корзине S3, которую я создал в консоли с помощью boto3. Однако, когда я пытаюсь выполнить какое-либо действие, например, вывести список содержимого корзины, я получаю
boto3.setup_default_session()
s3Client = boto3.client('s3')
blist = s3Client.list_objects(Bucket=f'{bucketName}')['Contents']
ClientError: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
Я использую свой профиль по умолчанию (нет необходимости в ролях IAM). В списке контроля доступа в браузере указано, что владелец корзины имеет разрешения на просмотр / чтение / запись. Канонический идентификатор, указанный как владелец корзины, совпадает с каноническим идентификатором, который я получаю, когда я go передаю «Ваши учетные данные безопасности».
Короче говоря, похоже, что разрешения учетной записи в порядке, но бот не войти в систему с нужным профилем. Кроме того, запуск аналогичных команд из командной строки, например,
aws s3api list-buckets
, также приводит к отказу в доступе. У меня нет проблем с выполнением этих команд на работе, где у меня есть рабочий вход и роли IAM. Он просто запускает их в моем личном профиле по умолчанию.
Есть предложения?