尝试使用 boto3 访问 s3 存储桶,但得到 403

5 python windows amazon-s3 amazon-web-services boto3

我编写了一个 python 脚本来从 s3 存储桶下载一些文件。该脚本在一台机器上运行良好,但在另一台机器上中断。这是我得到的异常: botocore.exceptions.ClientError:调用 HeadObject 操作时发生错误 (403):禁止。

我很确定它与某些系统配置有关,或者与注册表有关,但不知道究竟是什么。两台机器都运行 Windows 7 和 python 3.5。有什么建议。

小智 5

该问题实际上是由系统时间不正确引起的。我修复了系统时间,问题解决了。


小智 1

因此禁止意味着您无权执行该操作。检查您是否有权在该特定存储桶上执行读取操作,并且您是否提供了有效的 IAM 密钥。以下是获取存储桶的读取和列表访问权限的示例策略。

{
 "Version":"2012-10-17",
 "Statement":[
  {
     "Sid":"statement1",

     "Effect":"Allow",
     "Action":[
        "s3:List*",
        "s3:GetObject"
     ],
     "Resource":[
        "arn:aws:s3:::bucketname/*"
     ]
   }
]
}
Run Code Online (Sandbox Code Playgroud)

更多信息请点击这里: