记minio7.x使用setBucketPolicy设置桶策略不成功问题

minio-7.1.2使用setBucketPolicy总是不成功

最近在做对象服务器使用了minio,由于业务要求可直接通过ip+桶名+文件名的方式访问文件,因此想使用setBucketPolicy设置桶策略。在官方文档中 example如下:

// Assume policyJson contains below JSON string;
// {
//     "Statement": [
//         {
//             "Action": [
//                 "s3:GetBucketLocation",
//                 "s3:ListBucket"
//             ],
//             "Effect": "Allow",
//             "Principal": "*",
//             "Resource": "arn:aws:s3:::my-bucketname"
//         },
//         {
//             "Action": "s3:GetObject",
//             "Effect": "Allow",
//             "Principal": "*",
//             "Resource": "arn:aws:s3:::my-bucketname/myobject*"
//         }
//     ],
//     "Version": "2012-10-17"
// }
//
minioClient.setBucketPolicy(
    SetBucketPolicyArgs.builder().bucket("my-bucketname").config(policyJson).build());

但是例子中没有对各个字段的数据格式做说明,其实其中许多字段需要以数组形式。为了得到正确的数据格式,我使用了getBucketPolicy 获取到了提前在web端设置的桶策略。具体格式如下:

{
	"Version": "2012-10-17",
	"Statement": [{
		"Effect": "Allow",
		"Principal": {
			"AWS": ["*"]
		},
		"Action": ["s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads"],
		"Resource": ["arn:aws:s3:::mybucket"]
	}, {
		"Effect": "Allow",
		"Principal": {
			"AWS": ["*"]
		},
		"Action": ["s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject"],
		"Resource": ["arn:aws:s3:::mybucket/*"]
	}]
}

在此我设置了读写策略,具体策略对应的参数及其含义本人也不了解,尚在学习中。读者可根据自己需要设置的策略在测试环境根据我上面的操作获取到对应的策略参数及格式。

最后:本人菜鸟一枚,这篇博客仅仅记录自己在开发中遇到的一些坑坑洼洼,希望能给同是菜鸟的朋友以参考,大神勿喷

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值