创建仅具有公共读取和下载权限的 S3 存储桶

创建仅具有公共读取和下载权限的 S3 存储桶

我正在尝试设置一个具有公共读取和下载权限但没有公共上传权限的 S3 存储桶。

我在“访问控制列表”中拥有以下权限

在此处输入图片描述

并且 Bucket Policy 允许公众阅读/下载(我想?)

{
    "Version": "2012-10-17",
    "Id": "Policy1234567890",
    "Statement": [
        {
            "Sid": "Stmt1234567890",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-public-bucket/*"
        }
    ]
}

我对设置 AWS S3 Bucket 还很陌生,我的目标是拥有一个公共存储桶,任何人都可以从中读取和下载对象,但只有我才有权对其进行任何其他操作,如上传、更改权限等。

现在,当我使用不是创建此存储桶的用户的 AWS 帐户时,我似乎仍然能够上传内容,即使对于“公共访问 - 所有人”,我只有“列出对象”权限而没有写入权限。

有人能告诉我需要更改哪些访问控制或存储桶策略才能仅授予公共读取和下载权限吗?

在此处输入图片描述

答案1

当我使用不是创建此存储桶的用户的 AWS 账户时,我似乎仍然可以上传内容

就是它AWS 账户实际上只是不同IAM 用户在里面同一个 AWS 账户? 使用您的所有设置IAM 用户从你的AWS 账户对存储桶拥有完全权限。

如果您希望仅向账户中的某些 IAM 用户授予上传访问权限,请遵循以下指南:如何将 Amazon S3 存储桶访问权限限制为特定 IAM 角色 (在这种情况下,IAM 角色与 IAM 用户足够相似 - 该指南应该适合您)。

希望有帮助:)

答案2

我的问题中的策略有效。只是 S3 Buckets 的 UI 不太人性化,所以即使用户没有上传权限,它也会显示“上传”按钮。一旦用户单击“上传”,它将在后续步骤中失败。

相关内容