2017-05-07 181 views
0

我有一个Rails应用程序设置为将文件上传到S3 我有一个IAM用户,其内联策略附加给用户。S3策略在指定资源时不起作用

当我使用以下策略一切工作只是罚款:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "Stmt1494133349000", 
     "Effect": "Allow", 
     "Action": [ 
      "s3:*" 
     ], 
     "Resource": [ 
      "*" 
     ] 
    } 
] 
} 

现在,当我尝试指定我的桶的ARN,我在我的应用程序得到一个拒绝访问错误。

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "Stmt1494133349000", 
     "Effect": "Allow", 
     "Action": [ 
      "s3:*" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::my-bucket" 
     ] 
    } 
] 
} 

ARN直接从我的存储桶中复制。不知道为什么第二个政策不起作用。它应该根据我读过的一切。

回答

1

这是你的水桶:

"Resource": [ 
     "arn:aws:s3:::my-bucket" 
] 

这是你的水桶在你的水桶中的对象:

"Resource": [ 
     "arn:aws:s3:::my-bucket", 
     "arn:aws:s3:::my-bucket/*" 
] 
+0

那它到底!无论出于何种原因,我认为给予桶权限也可以访问它的对象。谢谢! – Justin