Quellcode durchsuchen

minio bucket权限自动设置成pulic

xie.bx vor 3 Jahren
Ursprung
Commit
02a54119a6

+ 3 - 0
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 - 0
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