2014-11-23 36 views
3

我不明白爲什麼我在查看頁面時得到403權限被拒絕錯誤。我使用AWS CLI使用以下命令:AWS S3 CLI公共讀取給我403與同步命令

aws s3 sync [source] [s3 destination] --acl public-read --recursive --delete --profile [my_profile] 

在IAM我的政策如下:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
{ 
    "Effect": "Allow", 
    "Action": ["s3:ListBucket"], 
    "Resource": ["bucket_location"] 
}, 
{ 
    "Effect": "Allow", 
    "Action": [ 
     "s3:PutObject", 
     "s3:PutObjectAcl", 
     "s3:GetObject", 
     "s3:DeleteObject" 
    ], 
     "Resource": ["bucket_location"] 
    } 
    ] 
} 

的路徑是正確的,因爲它上傳文件,但它看起來像它忽略了 - -acl公開閱讀選項。當我使用cp命令時,它看起來好像運行正常。我只想使用同步來使用--delete選項進行清理。有任何想法嗎?

回答

2

在你的第二個政策聲明(具有PutObject,...),一定要包含通配符爲您的對象名稱:

"Resources" : [ "bucket_name/*" ] 

你知不知道,你可以使用在線Policy Simulator工具來測試策略?

1

好吧,這是我發現感謝@sebsto建議策略模擬器:我需要PutObjectAclPutBucketAcl。現在同步工作。