S3ResponseError: 403 Запрещено для некоторых операций - PullRequest
0 голосов
/ 08 января 2020

Я получаю «S3ResponseError: 403 Forbidden» от некоторых операций boto 2.49.0, которые ранее работали.

Мне кажется, что я могу поместить объекты и получить их, но не удалить или загрузить , Например:

import boto
s3 = boto.connect_s3('my_key', 'my_secret')
bucket = s3.lookup('my_bucket_name')
key = bucket.new_key('testkey')
key.set_contents_from_string('This is a test')
key.exists()

Это работает, а key.exists() возвращает True. Я могу видеть новый файл testkey в моем ведре консоли AWS.

key.delete() возвращает S3ResponseError: 403 Forbidden, и при загрузке его также:

with open('gettestkey', 'wb') as f:
    key.get_contents_to_file(f)

Политика прилагается пользователю IAM, чьи кредиты, которые я использую, включают:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::my_bucket_name",
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_bucket_name/*",
            ]
        }
    ]
}

Я видел несоответствия между временем сервера, упомянутым в качестве возможной причины, но временем в моем локальном экземпляре Docker (где я выполнение выше) кажется правильным.

Чего мне не хватает? Что могло бы измениться - либо в кодовой базе, либо в корзине - чтобы эти операции перестали работать?

...