1

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

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

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

谁能帮我解决这个访问被拒绝的问题?这将不胜感激。

4

1 回答 1

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:::*"
    }
  ]
}
于 2014-01-13T09:43:09.073 回答