仅授予特定用户对S3存储桶的访问权限,无公共访问权限

用户672009

我正在尝试配置S3存储桶,以便仅特定用户而不是公众可以访问它。

我创建了一个名为s3-injury-log的用户,并创建了以下存储桶策略

{
    "Id": "Policy1542998309644",
    "Version": "2012-10-17",
    "Statement": [{
        "Sid": "Stmt1542998308012",
        "Action": "s3:*",
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::injury-log",
        "Principal": {
            "AWS": ["arn:aws:iam::058842494618:user/s3-injury-log"]
        }
    }]
}

我的“阻止所有公共访问”选项卡如下

Block all public access - Off
Block public access to buckets and objects granted through new access control lists (ACLs) - On
Block public access to buckets and objects granted through any access control lists (ACLs) - On
Block public access to buckets and objects granted through new public bucket policies - Off
Block public and cross-account access to buckets and objects through any public bucket policies - Off

但是当尝试将对象放入存储桶(使用aws java库)时,出现以下错误消息

Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: CC71A7EFAFC9BBDB; S3 Extended Request ID: klrwopIIJK3PsJzEw

任何线索我在做什么错?

维基奥尔

您的策略似乎不正确,仅允许执行存储桶级操作。因此,PutObject操作被拒绝,这是对象级别的。

只需更新您的策略即可允许对象级操作:

{
    "Id": "Policy1542998309644",
    "Version": "2012-10-17",
    "Statement": [{
        "Sid": "Stmt1542998308012",
        "Action": "s3:*",
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::injury-log",
            "arn:aws:s3:::injury-log/*"
        ]
        "Principal": {
            "AWS": ["arn:aws:iam::058842494618:user/s3-injury-log"]
        }
    }]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

向特定用户授予文件访问权限

S3:如何授予对多个存储桶的访问权限?

根据角色名称授予对S3资源的访问权限

如何从Amazon S3存储桶撤消公共权限

跨帐户角色授予S3存储桶访问权限-权限被拒绝

授予访问权限以读取Amazon S3存储桶中的子目录

S3存储桶AWS您无法授予公共访问权限,因为已为此帐户启用了阻止公共访问设置

是否可以使用存储桶策略授予对AWS S3中另一个账户拥有的对象的访问权限?

当存储桶设置为公共时,IAM用户只能访问S3存储桶

如何仅授予特定用户访问数据库的权限?

S3向用户授予对象访问权限

使用Cognito从API网关方法调用Lambda函数时,如何仅授予对用户特定资源(DynamoDB,S3)的访问权限

如何在Amazon S3存储桶上设置公共只读访问权限?

如何使用简单的s3存储桶策略授予对加密存储桶的跨帐户访问权限?

您如何允许授予对上载到AWS S3的对象的公共读取访问权限?

AWS:无法通过s3存储桶策略授予s3访问权限

如何使用IAM策略AWS仅向S3存储桶的根帐户用户授予访问权限?

将文件上传到AWS S3并授予公共访问权限

如何授予AWS用户访问s3存储桶托管的网站的权限?

如何使用经过身份验证的经过身份验证的用户授予对非公共Amazon S3存储桶文件夹的访问权限

向没有AWS账户的用户授予对AWS S3存储桶/文件夹的访问权限

如何为AWS和CF用户分配对S3存储桶的访问权限?

您希望何时授予对 s3 存储桶的公共读取访问权限

AWS:S3 存储桶 AWS 您无法授予公共访问权限,因为此帐户已启用阻止公共访问设置

为什么即使我在存储桶策略中授予用户权限,用户也无法访问我们的 S3 存储桶?

授予用户访问特定子域的权限

我应该授予什么 aws 权限来访问其他 s3 存储桶

授予对 S3 存储桶中所有内容的访问权限

尝试授予对 S3 存储桶的云端访问权限,但得到“策略无效操作”