Amazon web services 如何限制每个人(IAM角色除外)上传到S3存储桶

Amazon web services 如何限制每个人(IAM角色除外)上传到S3存储桶,amazon-web-services,amazon-s3,amazon-iam,Amazon Web Services,Amazon S3,Amazon Iam,我不知道如何限制s3上传功能——具体来说是:s3Client.putObjectrequest;使用JavaSDK v1.11.298 我的设置与 博文 桶政策 我的用户所在的组具有AdministratorAccess,该权限可传递给他s3:*权限 据我所知,这应该被bucket的策略所覆盖,该策略只允许承担角色的用户对bucket执行任何操作 有趣的是,读取权限的行为与预期一致。如果用户没有承担与AROAEXAMPLEID关联的角色,他们将无法读取bucket中的文件,但仍然允许他们上载 我

我不知道如何限制s3上传功能——具体来说是:s3Client.putObjectrequest;使用JavaSDK v1.11.298

我的设置与 博文

桶政策

我的用户所在的组具有AdministratorAccess,该权限可传递给他s3:*权限

据我所知,这应该被bucket的策略所覆盖,该策略只允许承担角色的用户对bucket执行任何操作

有趣的是,读取权限的行为与预期一致。如果用户没有承担与AROAEXAMPLEID关联的角色,他们将无法读取bucket中的文件,但仍然允许他们上载


我需要将上载和读取限制为只能担任此角色的用户。

S3策略bucket或IAM可能很困难,因为并不总是清楚操作是否希望作为资源:arn:aws:S3::MyExampleBucket或作为资源:arn:aws:S3::MyExampleBucket/*应用于bucket本身

对于s3:PutObject操作,它是路径,而显示的策略只影响bucket。对于s3:*操作,您需要两者

"Resource": [ 
    "arn:aws:s3:::MyExampleBucket",
    "arn:aws:s3:::MyExampleBucket/*"
], ...

策略中的资源键接受字符串或字符串数组。

在这种情况下,您需要资源:[arn:aws:s3:::MyExampleBucket,arn:aws:s3:::MyExampleBucket/*],…?很好!谢谢请把它作为答案输入,这样我就可以给你评分了!
"Resource": [ 
    "arn:aws:s3:::MyExampleBucket",
    "arn:aws:s3:::MyExampleBucket/*"
], ...