项目场景:
提示:这里简述项目相关背景:
最近新整合minio进行文件的存储,然后需要开放二次策略进行一个临时授权。Java版本11,minio版本8.0.3
问题描述
根据网上的一些教程,成功的整合了minio(具体教程:https://stevenocean.github.io/2021/01/12/minio-sts-assumerole-sample.html),只是进行二次策略进行STS的时候,发现了无法上传对象到bucket,一直报错,提示的是AccessDenied
对应的策略如下
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::buckname/*"
]
}
]
}
原因分析:
解决方案:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetBucketLocation",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::buckname/*"
]
}
]
}
PS:有一些小坑指出一下
1、minio的sdk中,只有8以上的才支持STS。
2、minio需要使用到google的findbugs,需要提前引入,对应gradle配置如下:
implementation(“com.google.code.findbugs:jsr305:3.0.1”)
implementation(“com.google.code.findbugs:annotations:3.0.1”)
3、如果要获取对应的对象临时url,临时授权好像无法获取,需要使用已经分配好的accesskey与secret(这点不知道是不是自己的问题)
如果有问题,欢迎指出