minio 通过policy设置桶访问权限 public private

c#修改

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);
}

mc命令行修改 - 最新版

mc config host add mi http://192.168.0.1:9000 minioadmin password
mc anonymous set public mi/basic
posted @ 2025-06-06 13:49  Hey,Coder!  阅读(1197)  评论(0)    收藏  举报