Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何设置桶';S3上的ACL是什么?_Amazon S3_Acl - Fatal编程技术网

Amazon s3 如何设置桶';S3上的ACL是什么?

Amazon s3 如何设置桶';S3上的ACL是什么?,amazon-s3,acl,Amazon S3,Acl,我尝试了一些东西:、和其他工具。所有这些都允许基于单个密钥授予访问权限,但我无法在存储桶上设置ACL。实际上,我在bucket上设置了ACL,没有返回错误。但当我刷新或签入另一个工具时,bucket的ACL将重置为owner only 我想为我正在开发的应用程序提供读写权限。他们需要访问权限来写入输出文件。我刚刚为您再次检查了这一点-我们能够成功更改ACL。我使用了他们的电子邮件s3@flixcloud.com作为用户ID。您可以在列表的后缀中看到用户flixclouds3 是的,10分钟后再次

我尝试了一些东西:、和其他工具。所有这些都允许基于单个密钥授予访问权限,但我无法在存储桶上设置ACL。实际上,我在bucket上设置了ACL,没有返回错误。但当我刷新或签入另一个工具时,bucket的ACL将重置为owner only


我想为我正在开发的应用程序提供读写权限。他们需要访问权限来写入输出文件。

我刚刚为您再次检查了这一点-我们能够成功更改ACL。我使用了他们的电子邮件s3@flixcloud.com作为用户ID。您可以在列表的后缀中看到用户flixclouds3

是的,10分钟后再次检查。ACL仍保持配置状态。我想这是你这边的事。尝试不同的帐户/工作站

我一直在挣扎于ACL vs.Bucket策略,并发现以下内容很有用

ACL

ACL定义附加到bucket中单个文件的权限。Bucket策略是一个脚本,用于解释Bucket中任何文件夹或文件的权限。使用bucket策略限制热链接、授予或拒绝对特定或所有文件的访问权限、限制IP地址等

编辑S3存储桶策略

登录AmazonWebServices,单击S3并单击左列中的bucket名称。查看页面底部的bucket Properties面板。单击右下角显示“编辑桶策略”的按钮。这将打开一个lightbox,您可以将策略脚本粘贴到其中。如果脚本验证失败,它将不会保存

启用对所有人的读取访问的示例策略(如果bucket用作内容交付网络,则非常有用)

防止未经授权的热链接(链接到它的第三方站点)但允许任何人下载文件的示例策略:

{ 
    "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/*"
                ]
            }
        }
    }]
}
生成策略

示例桶策略


您是否在1或2分钟后检查了ACL?在我这边,ACL总是只重置为所有者。忘记回答这个问题了。我的问题是我写的一个脚本,它在几分钟后重写了ACL。。。它们仅适用于桶所有者拥有的对象。因此,如果您的内容最终通过bucket owner以外的用户帐户进入您的bucket,您需要使用ACL或复制粘贴bucket中的对象作为所有者来重置所有者。感谢Steve的提示,我不知道对象所有者的警告。
{ 
    "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/*"
                ]
            }
        }
    }]
}