我尝试了几件事:S3Browse,RightAws Ruby gem和其他工具。所有允许在单个密钥的基础上授予访问权限,但我无法在存储桶上设置ACL。实际上,我在存储桶上设置了ACL,没有返回任何错误。但是当我刷新或检入其他工具时,存储桶的ACL仅重置为所有者。
我想为我正在开发的应用程序提供对FlixCloud的读写访问权限。他们需要访问权来编写输出文件。
答案 0 :(得分:11)
我正在努力解决ACL与Bucket政策问题,并发现以下内容非常有用。
<强> ACL 强>
ACL定义附加到存储桶中单个文件的权限。 Bucket Policy是一个脚本,用于解释存储桶中任何文件夹或文件的权限。使用存储桶策略来限制热链接,授予或拒绝对特定或所有文件的访问,限制IP地址等。
修改S3广告投放管理政策
登录Amazon Web Services,单击S3并单击左列中的存储桶名称。查看页面底部的存储桶“属性”面板。单击右下角显示“编辑存储桶策略”的按钮。这会打开一个灯箱,您可以将策略脚本粘贴到其中。如果脚本验证失败,则无法保存。
启用对所有人的读取权限的示例策略(如果将存储桶用作内容传送网络,则非常有用)
{
"Version": "2008-10-17",
"Id": "",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket_name/*"
}
]
}
示例政策,以防止未经授权的热链接(链接到它的第三方网站),但允许任何人下载文件:
{
"Version":"2008-10-17",
"Id":"preventHotLinking",
"Statement":[ {
"Sid":"1",
"Effect":"Allow",
"Principal": {
"AWS":"*"
},
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::your.bucket.name/*",
"Condition":{
"StringLike": {
"aws:Referer": [
"http://yourwebsitename.com/*",
"http://www.yourwebsitename.com/*"
]
}
}
}]
}
生成政策
http://awspolicygen.s3.amazonaws.com/policygen.html
示例存储区政策
答案 1 :(得分:1)
我刚刚仔细检查了一下 - S3fm能够成功更改ACL。我使用他们的电子邮件 s3@flixcloud.com 作为用户ID。您可以在列表中看到 flixclouds3 后面的用户。
答案 2 :(得分:1)