通过minio的web页面实现文件权限管理

本文介绍了在CentOS7上成功部署MinIO后,如何通过Web界面而非mc命令行工具进行权限管理。首先访问MinIO服务创建桶和用户,然后在Web界面编写JSON策略定义权限,如读写权限。接着将策略分配给用户,并确保状态为启用。最后,测试权限是否生效。遇到二级目录权限问题,尚未找到解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在centos7完成对minio的搭建部署后(centos7部署minio链接),需要进行权限控制,于是参考官方文档准备通过minio client指令来编写权限控制,但是当我执行指令:

mc config host add sxdb http://localhost:9000 admin 1234567

返回了错误:

mc: <ERROR> Unable to initialize new alias from the provided credentials. Get "http://localhost:9000/probe-bucket-sign-pmxj0te6ga6x/?location=": dial tcp [::1]:9000: connect: connection refused.

查遍全网资料无果,后来发现目前下载的minio的已经实现通过网页端来编辑权限了,可能在该版本取消了mc,于是就有了后文。


1.

启动minio服务后访问http://服务的ip地址:9000/,新建两个篮子(bucket),里面随便放点东西
在这里插入图片描述

2.

新建两个用户
在这里插入图片描述

3.

下面这个页面就是用来编写权限的,点击create policies,在Write Policy里就是用来写权限的,
在这里插入图片描述

具体格式如下

{
  "Version": "2012-10-17",   #这个日期就这样吧,虽然比较老       
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [                     //  权限列表
		"s3:ListAllMyBuckets",        //  查看所有的桶权限
		"s3:ListBucket",              //  查看桶内对象权限
		"s3:GetBucketLocation",       //  定位bucket权限
		"s3:GetObject",               //   下载权限
		"s3:PutObject",               //   上传权限
		"s3:DeleteObject"             //   删除权限
      ],
      "Resource": [
        "arn:aws:s3:::onebucket/*"              // arn:aws:s3不用动,后面用*表示所有桶,用onebucket/*表示只针对这个桶
      ]
    }
  ]}

(这些步骤本来都是通过mc指令实现的)
下面的json实现了对所有篮子的读写

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

下面的json实现了读写test、读test2目录但无下载权限

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::test/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::test2/*"
            ]
        }
    ]
}

4.

编写完权限后回到user界面,点击要给与权限的用户
在这里插入图片描述

如下图点击Policies后点击Assign Policies
在这里插入图片描述

选择需要给的权限
在这里插入图片描述

要确保右上角的状态是enabled才会生效,如果是disabled则需要点机一下来切换
在这里插入图片描述

5.

最后点击登出切换到刚刚配置过的用户来验证一下是不是生效了,这里就不演示了,要注意的是如果没有新增权限,新增按钮还能点击但是会有提示access denied,如果没有文件下载权限,文件能下载但是下载下来只有0kb。(感觉这部分官方没做完,等官方更新吧)

遗留问题:

测试了给二级目录增加权限(像"arn:aws:s3:::test/二级目录/*"这样子),但是没有效果,有大佬知道的话麻烦留个言Orz

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值