s3cmd报告访问被拒绝帐户的用户,但在使用主帐户时没有

时间:2013-05-01 17:36:34

标签: amazon-s3

我们有两个AWS账户。我们使用s3cmd将数据从一个s3存储桶备份到另一个存储桶。 我们遇到的问题是:源存储桶是公共的,任何没有凭据的人都可以访问。当我们使用s3存储桶中的两个主密钥对之一使用s3cmd启动备份时,希望将备份文件放在其上,它可以完美地运行。

但是,当我们尝试执行相同的操作时 - 这次使用用户的密钥对而不是帐户的密钥对(在我们备份文件的帐户上),我们会收到拒绝访问的错误。

以下是我们运行的命令: 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:::*"
    }
  ]
}

任何人都可以帮我解决此拒绝访问权限的问题吗?非常感谢。

1 个答案:

答案 0 :(得分: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:::*"
    }
  ]
}