Browse Source

minio bucket权限自动设置成pulic

master
xie.bx 3 years ago
parent
commit
02a54119a6
  1. 3
      im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java
  2. 28
      im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java

3
im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java

@ -45,7 +45,10 @@ public class FileService {
@PostConstruct
public void init(){
if(!minioUtil.bucketExists(bucketName)){
// 创建bucket
minioUtil.makeBucket(bucketName);
// 公开bucket
minioUtil.setBucketPublic(bucketName);
}
}

28
im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java

@ -51,6 +51,34 @@ public class MinioUtil {
return true;
}
/**
* 设置bucket权限为public
* @return Boolean
*/
public Boolean setBucketPublic(String bucketName) {
try {
// 设置公开
String sb = "{\"Version\":\"2012-10-17\"," +
"\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
"{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
"\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucketName +
"\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" +
bucketName +
"/*\"]}]}";
minioClient.setBucketPolicy(
SetBucketPolicyArgs.builder()
.bucket(bucketName)
.config(sb)
.build());
} catch (Exception e) {
log.error("创建bucket失败,",e);
return false;
}
return true;
}
/**
* 删除存储bucket
* @return Boolean

Loading…
Cancel
Save