Невозможно поместить объект в корзину S3 после вступления в роль - PullRequest
0 голосов
/ 07 июня 2018

Я вижу ошибку ниже, когда пытаюсь поместить объект в корзину S3 с другой учетной записью после вступления в должность.Однако я был в состоянии перечислить все объекты в корзине.

"errorMessage": "Произошла ошибка (AccessDenied) при вызове операции PutObject: Access Denied", "errorType": "ClientError",
botocore.exceptions.ClientError: Произошла ошибка (AccessDenied) при вызове операции PutObject: Доступ запрещен

Код

        session_assumed = aws_session(role_arn=ROLE_ARN, session_name='my_lambda')
        bucket = '<bucket name>'
        bucket_resource = session_assumed.resource('s3').Bucket(bucket)
        // The below works - able to read values from the bucket
        for object in bucket_resource.objects.all():
            print(' object value = {}'.format(object.key))
        // the below does not work
        bucket_resource.put_object(Key='<key>', Body=b'Hello World!')

Iпроверил документ политики в предполагаемой роли, присутствующей в другой учетной записи, и он, кажется, предоставляет полный доступ к s3

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "<sid name>",
            "Action": "s3:*",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::<bucket name>-*"
        }
    ]
}

РЕДАКТИРОВАТЬ: Рабочий код

d0_bucket_resource.put_object(Key='<key>', Body=b'Hello World!',ServerSideEncryption='AES256')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...