2013-05-01 125 views
1

我們有兩個AWS賬戶。我們使用s3cmd將數據從一個s3存儲桶備份到另一個s3存儲桶。 我們遇到的問題是這樣的:源桶是公共的,任何人都可以訪問,而無需憑證。當我們使用s3存儲桶中的兩個主密鑰對之一啓動s3cmd的備份時,希望將備份文件放在上面,這種備份文件完美無缺。s3cmd reporting使用主賬戶時,賬戶用戶拒絕訪問但不支付

但是,當我們嘗試執行相同的操作時(這次使用用戶的密鑰對而不是帳戶的密鑰對(在我們備份文件的帳戶上),我們會收到訪問被拒絕錯誤。

這裏是命令我們運行: s3cmd -c /root/.s3cfgBackup sync s3://oldbucket/news/ s3://newbucket/Videos/

這裏是上獲得訪問用戶的策略拒絕

{ 
    "Statement": [ 
    { 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::newbucket", 
     "arn:aws:s3:::newbucket/*" 
     ] 
    } 
    ], 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": "s3:ListAllMyBuckets", 
     "Resource": "arn:aws:s3:::*" 
    } 
    ] 
} 

誰能幫我解決這個拒絕訪問的問題?這將不勝感激。

回答

2

我會嘗試改變政策對用戶是這樣的:

{ 
    "Statement": [ 
    { 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::newbucket", 
     "arn:aws:s3:::newbucket/*" 
     ] 
    } 
    ], 
    "Statement": [ 
    { 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::oldbucket", 
     "arn:aws:s3:::oldbucket/*" 
     ] 
    } 
    ], 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": "s3:ListAllMyBuckets", 
     "Resource": "arn:aws:s3:::*" 
    } 
    ] 
}