如何授予您的本地机器访问您的亚马逊s3存储桶?我不断收到此错误:Rails本地主机连接到亚马逊s3存储桶
Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AllAccessDisabled</Code><Message>All access to this object has been disabled</Message>
在IAM控制台中,我给自己提供了AmazonS3FullAccess和AdministratorAccess策略。
在S3控制台下的“权限”我有这个CORS配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://localhost:3000</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://localhost:3000</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
然而,在S3控制台,当我点击“添加桶政策”策略编辑器是空白。 IAM控制台中创建的两个策略不应该出现在这里吗?或者他们是不同的东西?
我应该在策略编辑器中添加什么策略?我试过创建一个,但我得到很多错误。
您是通过HTTP还是通过XML连接? –
这里有几个问题... CORS配置与访问控制无关* IAM策略不会出现在存储桶策略中,因为它们不是存储桶策略。 IAM策略和存储桶策略一起工作 - 如果授予,许可中的任何一个或两个同意,如果一方或双方都否认,则拒绝许可。最后,“对这个对象的所有访问权限都被禁用”意味着你正在访问错误的存储桶 - 当你访问一个账户拥有的存储桶被取消时,似乎出现这个错误。 –