rhn*_*ble 6 amazon-s3 boto amazon-iam
我正在尝试使用boto访问S3上的存储桶.我已经获得了对存储桶的读取权限,当我在S3浏览器中浏览时,我的密钥正在工作.以下代码返回403 Forbidden Access Denied.
conn = S3Connection('Access_Key_ID', 'Secret_Access_Key')
conn.get_all_buckets()
Run Code Online (Sandbox Code Playgroud)
当通过boto配置文件使用访问密钥和秘密访问密钥时也会发生这种情况.还有什么我需要做的,因为键可能来自IAM吗?这可能表示设置中有错误吗?我不太了解IAM,我只是给了钥匙.
有些事要检查......
如果您使用的是boto,请确保使用conn.get_bucket(bucket_name)仅访问您有权访问的存储桶.
在您的IAM(用户)策略中,如果您要限制对单个存储桶的访问,请确保该策略包含对存储区的足够权限,并且不包含ARN名称的尾部斜杠+星号(请参阅下面的示例).
请确保在S3中为存储桶中的"Authenticated Users"设置"上载/删除"权限.
权限示例:

IAM政策样本:
注意:使用策略生成器时将自动生成SID
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:*"
],
"Sid": "Stmt0000000000001",
"Resource": [
"arn:aws:s3:::myBucketName"
],
"Effect": "Allow"
}
]
}
Run Code Online (Sandbox Code Playgroud)
小智 4
我的猜测是,这是因为您正在调用conn.get_all_buckets()而不是conn.get_bucket(bucket_name)针对您有权访问的单个存储桶。
| 归档时间: |
|
| 查看次数: |
6701 次 |
| 最近记录: |