gpt4 book ai didi

python - Amazon S3 权限错误 403,简单上传文本文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:32:41 25 4
gpt4 key购买 nike

所以我在 stackoverflow 中使用了几个不同的教程,它们似乎都遇到了相同的错误:403 权限被拒绝。

我在 ubuntu 14.04 上使用 python2.7 和 boto。

下面是代码(没有 key 和存储桶名称),我想知道为什么我被拒绝访问自己的存储桶。

我在 IAM 中创建了一个对 S3 具有完全访问权限的用户,并设置了存储桶的权限以允许“所有人”上传/下载。我使用了正确的 key ,因为我将它们复制并粘贴到代码中。

这可能与存储桶策略有关吗?还是有什么我不知道的事情?我对此很陌生,只需要它在 S3 上上传和下载文本文件。

import boto
from boto.s3.key import Key
import boto.s3.connection

AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
Bucketname = ''
conn = boto.connect_s3(aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY )

bucket = conn.get_bucket(Bucketname)

最佳答案

该评论很有帮助,谢谢 FirebladeDan。因此,我创建了一个具有管理员访问权限和完整 S3 访问权限的用户。这一切都是在 IAM 中完成的。现在,在存储桶属性中,我向受让人“所有人”添加了权限集,允许他们上传/下载和列出。现在最后一步是添加存储桶策略。我认为我不需要这样做,所以我在这里发帖。

我错了。这就是我使用的。注意:这允许我上传到 S3,但是大多数时候 set_contents_from_filename() 只上传 header ,并不总是上传文件。这可能是我的代码中的错误,但如果您遇到同样的事情,那么此策略可能需要某种额外的权限。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "USERNAME",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::GETNUMBERSOFUSER:root"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::BUCKETNAME",
"arn:aws:s3:::BUCKETNAME/*"
]
}
]
}

关于python - Amazon S3 权限错误 403,简单上传文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667072/

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