我们有两个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:::*"
}
]
}
任何人都可以帮我解决此拒绝访问权限的问题吗?非常感谢。
答案 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:::*"
}
]
}