java - 使用 Java 拒绝 AWS S3 访问
问题描述
我正在尝试在 Amazon S3 上上传文件,但它返回此错误:
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 26B9B4844CEA580C), S3 Extended Request ID: S0Ds3cvubCSZTAd1ESUG5rMRifGLHRAHBviyUHzDVI5W8FQxtRDMBNSrhVme6K86UryWxqORv30=
我已经在 AWS 上配置了 IAM 和存储桶,并且我使用了良好的访问权限/秘密(aws 给了我的那个)。有什么问题?谢谢!
S3客户端代码:
s3client = AmazonS3ClientBuilder
.standard()
.withRegion(Regions.CA_CENTRAL_1) // The first region to try your request against
.withForceGlobalBucketAccessEnabled(true) // If a bucket is in a different region, try again in the correct region
.withCredentials(AWSStaticCredentialsProvider(BasicAWSCredentials(accessKey, secretKey)))
.build()
上传文件代码:
private fun uploadFileTos3bucket(fileName: String, file: File) {
s3client.putObject(PutObjectRequest(bucketName, fileName, file)
.withCannedAcl(CannedAccessControlList.PublicRead))
}
IAM 用户:
解决方案
推荐阅读
- reactjs - Redux 传奇没有在活动套接字上调度操作
- javascript - 根据字段内的返回结果更改字段的颜色
- javascript - 仅使用一个文本框获取四个值并将它们打印在不同的行上
- laravel - ErrorException 未定义变量 $data
- python - python plotly-dash Scatterpolar图中的单击事件
- python - 如何使用 OR-Tools 获得对偶问题,使用 solver.Add() 添加约束
- amazon-web-services - Elastic beanstalk 为单个实例动态创建和删除警报
- ruby-on-rails - 变形器方法在我的 Rails 项目中不起作用
- mysql - 将来自第三方 api 的传入数据插入到 aws mysql
- hibernate - 删除一对多关系中的父级会引发 MySQLIntegrityConstraintViolationException