minio 通过policy设置桶访问权限 public private
json参数可以通过minio web端手动设置为public或private并抓取网络请求参数获取
此处提供c#中的设置方法,其他语言可使用相同的参数
/// <summary>
/// 设置存储桶的访问权限
/// </summary>
/// <param name="minioClient"></param>
/// <param name="bucketName"></param>
/// <param name="isPublic"></param>
public static void SetAccessPolicy(MinioClient minioClient, string bucketName,bool isPublic = true)
{
var publicPolicy = $@"{{""Version"": ""2012-10-17"",""Statement"": [{{""Effect"": ""Allow"",""Principal"": {{""AWS"": [""*""]}},""Action"": [""s3:GetBucketLocation"",""s3:ListBucket"",""s3:ListBucketMultipartUploads""],""Resource"": [""arn:aws:s3:::{bucketName}""]}},{{""Effect"": ""Allow"",""Principal"": {{""AWS"": [""*""]}},""Action"": [""s3:AbortMultipartUpload"",""s3:DeleteObject"",""s3:GetObject"",""s3:ListMultipartUploadParts"",""s3:PutObject""],""Resource"": [""arn:aws:s3:::{bucketName}/*""]}}]}}";
var privatePolicy = $@"{{""Version"":""2012-10-17"",""Statement"":[]}}";
var args = new SetPolicyArgs()
.WithBucket(bucketName)
.WithPolicy(isPublic? publicPolicy : privatePolicy);
minioClient.SetPolicyAsync(args);
}
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com