gpt4 book ai didi

amazon-s3 - PUT/同步所需的 s3cmd S3 权限

转载 作者:行者123 更新时间:2023-12-02 22:04:15 25 4
gpt4 key购买 nike

在迁移到 AWS EC2 时,我有充分的理由想限制实例的用户权限。实例需要做的一件事是访问 S3 上的文件并在那里写入文件。但是,如果不向该用户授予所有权限,我无法找到任何方法来实现此目的

s3cmd 允许我在我授予策略权限的 s3 存储桶上调用“ls”和“du”,但在尝试与这些文件夹之一进行 PUT/同步时总是失败并出现 403 错误。如果我使用我的 root 凭据,传输就会直接完成。

所以,我不明白为什么如果我向用户授予所述存储桶的所有权限,它就无法 PUT,但如果我授予它 arn:aws:s3:::* (所有桶)然后就可以了。对我来说毫无意义。

以前有其他人处理过这个问题吗?

最佳答案

尝试这样的事情。我认为问题是您需要 s3:ListAllMyBuckets 和 s3:ListBuckets 才能使 s3cmd 正常工作。不知道为什么,但除非它可以获得存储桶列表,否则它不会工作。第一次尝试使用 s3cmd 的权限时,我遇到了同样的问题,这就是解决方案。

{
"Statement": [
{
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
},
{
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::bucket/path",
"arn:aws:s3:::bucket/path/*"
]
}
]
}

编辑我添加了 s3:PutObjectAcl 操作,这是较新版本的 s3cmd 所需的操作,如下面 Will Jessop 所述。

关于amazon-s3 - PUT/同步所需的 s3cmd S3 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11603583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com