使用IAM用户从aws s3控制台重命名对象

时间:2017-03-23 18:37:31

标签: amazon-web-services amazon-s3

创建了一个IAM用户,在特定的ARN(只有一个存储桶)上具有S3完全访问权限(S3:*)。上传和删除有效,但无法重命名或复制/粘贴。

这是我的IAM政策。

    {
        "Sid": "Stmt1490288788",
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::bucket-name/*"
        ]
    }

2 个答案:

答案 0 :(得分:0)

虽然S3本身并没有实际重命名功能,但是某些界面可能会尝试通过在幕后使用S3 PUT对象复制和DELETE操作来实现它。它们的实现可能需要其他桶级权限才能完成,这就是为什么它可能会失败。试试这个:

{
    "Sid": "Stmt1490288788",
    "Effect": "Allow",
    "Action": [
        "s3:*"
    ],
    "Resource": [
        "arn:aws:s3:::bucket-name",
        "arn:aws:s3:::bucket-name/*"
    ]
}

区别在于它授予对桶本身(声明的第一个资源)执行的操作的权限,以及桶中的对象(声明的第二个资源)。

答案 1 :(得分:0)

我不知道这是否是正确的解决方案,但授予我ListAllMyBuckets权限。

我刚刚添加了另一个声明和前一个声明。

{
    "Sid": "Stmt1490288788",
    "Effect": "Allow",
    "Action": [
        "s3:*"
    ],
    "Resource": [
        "arn:aws:s3:::bucket-name/*"
    ]
}{
    "Sid": "Stmt1490289746001",
    "Effect": "Allow",
    "Action": [
       "s3:ListAllMyBuckets"
    ],
    "Resource": [
       "arn:aws:s3:::*"
    ]
}

因此,此策略列出了所有存储桶,但只允许对特定存储桶进行put / delete / get访问。仍然想知道重命名/复制和放大之间的关系是什么列出所有存储桶权限。