2013-05-01 82 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:::*" 
    } 
    ] 
}