Amazon web services AWS S3认证用户策略
我试图设置一个S3策略桶,但它根本不起作用。我需要允许上传文件给匿名用户,但只有经过身份验证的用户才能下载这些文件。我试了两个想法:Amazon web services AWS S3认证用户策略,amazon-web-services,amazon-s3,acl,bucket,Amazon Web Services,Amazon S3,Acl,Bucket,我试图设置一个S3策略桶,但它根本不起作用。我需要允许上传文件给匿名用户,但只有经过身份验证的用户才能下载这些文件。我试了两个想法: { "Id": "Policy1378380575437", "Statement": [ { "Sid": "Stmt1378380436712", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::my_bucket/*",
{
"Id": "Policy1378380575437",
"Statement": [
{
"Sid": "Stmt1378380436712",
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my_bucket/*",
"Principal": {
"AWS": [
"*"
]
}
},
{
"Sid": "Stmt1378380568645",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my_bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::1111111111:root"
]
}
}
]
}
但问题是默认情况下允许使用GetObject,这意味着匿名用户可以下载文件。我试图为GetObject*添加一个新的Sid Denigation,但Denigates always override允许
我很感激你的建议
谢谢。我想你可以用ACL来做这件事。将bucket上的权限更改为要求ACL“已验证读取”。您的用户必须在上载时设置该ACL标志,否则将出现“拒绝访问”错误,但如果您能让他们设置该标志,我认为这可能对您有用。
我需要一种与此相反的方法。我需要一个用户只允许下载资源,如果登录到我的网站。我想我可以使用公共读取acl来实现这一点,但这意味着任何有链接的人都可以下载资源,无论他们是否登录到网站。但是,我希望只有那些登录的人才能下载该文件。这种抽象可能吗?