Какое конкретное разрешение позволяет группе AWS IAM изменять метаданные объекта S3?

Я хочу предоставить группе AWS IAM разрешение на загрузку, просмотр, изменение и удаление объектов в одном сегменте через Консоль управления. У меня есть большая часть этого, но я получаю отчеты о том, что пользователи в этой группе не могут изменять метаданные объекта - они получают сообщение "Извините! Вам было отказано в доступе для этого! " диалог.

Вот политика у меня:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1403204838000",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::example-bucket"
            ]
        },
        {
            "Sid": "Stmt1403205082000",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        },
        {
            "Sid": "Stmt1403205119000",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::example-bucket/*"
            ]
        }
    ]
}

Кто-нибудь знает, какие действия S3 мне нужно назначить, чтобы разрешить группе доступ для изменения свойств объекта (в частности, метаданных)?


person Sandwich    schedule 21.07.2014    source источник


Ответы (2)


Метаданные объекта покрываются действием GetObject. Вместо этого для версионных объектов вы должны использовать GetObjectVersion. Таким образом, перечисленные вами политики должны работать для доступа к метаданным. Там есть отличная сводка всех разрешений и того, что каждое из них охватывает здесь в документации AWS.

Если вы можете воссоздать ошибку, используя интерфейс AWS REST вместо веб-консоли, вы можете получить более подробную информацию об ошибке. В этом отношении может быть полезным использование такого инструмента, как эта утилита командной строки Perl. Используя это, вы можете определить конкретную ошибку S3. коды, которые вы обычно не видите при использовании их веб-консоли. Знание конкретной ошибки, вызывающей проблему, поможет определить, почему пользователи не могут редактировать метаданные, несмотря на наличие у вас правильных политик.

person Bruce P    schedule 21.07.2014
comment
Хорошо, я получил утилиту, на которую вы ссылались, работающую. В нем перечислены ведра, которые у меня есть успешно. Однако я понятия не имею, как использовать его, чтобы попытаться изменить метаданные файла. Я просмотрел документы, но в них только ссылки на метаданные, похоже, связаны с копированием или перемещением файла. Можете ли вы указать мне правильное направление? - person Sandwich; 13.08.2014

Просто проделал долгий процесс исключения и обнаружил, что это наименьшее, что мне может сойти с рук для метаданных обновления командной строки и консоли:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket",
            "s3:GetBucketLocation",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": "arn:aws:s3:::BUCKET_NAME",
        "Condition": {}
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:GetObjectAcl",
            "s3:PutObjectAcl"
        ],
        "Resource": "arn:aws:s3:::BUCKET_NAME/*",
        "Condition": {}
    },
    {
        "Effect": "Allow",
        "Action": "s3:ListAllMyBuckets",
        "Resource": "*",
        "Condition": {}
    }
]

}

person pjpd    schedule 16.10.2015