我在AWS S3中设置了一个存储桶。我使用桶策略编辑器为我的IAM用户授予了访问该存储桶的权限,并设置了允许(ALLOW)策略。使用该用户,我能够将文件保存到该存储桶中。之前,我一直在使用该存储桶进行媒体服务操作,因此似乎默认操作是给予公共权限以查看文件(图像),这对于大多数网站来说很好。
在我的新项目中,我希望能够使用IAM用户访问S3存储桶,但要拒绝所有其他访问。除了具有完全访问权限(保存/删除等)的IAM用户外,没有公共读取访问权限,也没有任何其他访问权限。
根据我所做的看起来,我正在阅读这里。它说要使用NotPrincipal属性创建一个Deny策略,这样它仍然允许该用户,但拒绝其他所有人。为了保险起见,我还为我想要的用户添加了一个Allow策略。
在我的新项目中,我希望能够使用IAM用户访问S3存储桶,但要拒绝所有其他访问。除了具有完全访问权限(保存/删除等)的IAM用户外,没有公共读取访问权限,也没有任何其他访问权限。
根据我所做的看起来,我正在阅读这里。它说要使用NotPrincipal属性创建一个Deny策略,这样它仍然允许该用户,但拒绝其他所有人。为了保险起见,我还为我想要的用户添加了一个Allow策略。
{
"Version": "2012-10-17",
"Id": "Policy**********",
"Statement": [
{
"Sid": "Stmt**********",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::*********:user/my_user"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::my_bucket/*"
},
{
"Sid": "Stmt*************",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::**********:user/my_user"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::my_bucket/*"
}
]
}
但是这样会拒绝所有人的访问,甚至包括my_user
。 我可以确认,当我只使用上面策略中的Allow
部分时,我有访问权限,但是公众也可以读取,而我正在尝试关闭。
我如何设置我的存储桶策略,以仅授予唯一的IAM用户完全访问权限,并拒绝任何其他用户的访问权限?
谢谢。