minio安装部署服务器+客户端+多用户+权限隔离(二)
minio客户端安装多用户+权限隔离(mc)MinIO客户端:MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。MinIO服务端中并没有自带客户端,所以我们需要安装配置完客户端后才能使用官方参考文档常用mc的命令:命令作用ls列出文件
minio客户端安装多用户+权限隔离(mc)
上一篇:minio安装部署服务器
MinIO客户端:
MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。
它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。
MinIO服务端中并没有自带客户端,所以我们需要安装配置完客户端后才能使用
常用mc的命令:
命令 | 作用 |
---|---|
ls | 列出文件和文件夹 |
mb | 创建一个存储桶或一个文件夹 |
cat | 显示文件和对象内容 |
pipe | 将一个STDIN重定向到一个对象或者文件或者STDOUT |
share | 生成用于共享的URL |
cp | 拷贝文件和对象 |
mirror | 给存储桶和文件夹做镜像 |
find | 基于参数查找文件 |
diff | 对两个文件夹或者存储桶比较差异 |
rm | 删除文件和对象 |
events | 管理对象通知 |
watch | 监听文件和对象的事件 |
policy | 管理访问策略 |
session | 为cp命令管理保存的会话 |
config | 管理mc配置文件 |
update | 检查软件更新 |
version | 输出版本信息 |
A、下载客户端二进制文件
# 创建 文件夹
mkdir /usr/local/src/minio/minio/client
# 进入文件夹
cd /usr/local/src/minio/minio/client
# 下载二进制文件
wget https://dl.min.io/client/mc/release/linux-amd64/mc
# 授权
chmod +x mc
# 更改用户组为minio
chown -R minio:minio /usr/local/src/minio/minio/client/
# 查看帮助文档
./mc --help
当我们首次运行,会在当前启动的账号的首目录底下持久化一个隐藏文件[.mc]
如果你是root用户运行,那么这个文件就在[/root/.mc]
#查看 [.mc]文件
ll -a /root
cd /root/.mc/
B、使用固定策略创建新用户
MinIO默认的权限管理策略只有writeonly,readonly和readwrite,而且是针对所有的bucket的,要实现对不同的桶进行不同的权限管理,需要使用自定义policy。
使用mc admin policy创建政策。可以在/root/.mc目录中创建一个json文件
比如我们业务中,有很多的系统,可以根据业务系统的不同,创建不用的业务账号,做到数据隔离的作用
如:
我们创建一个onebucket.json。即表示我们要设置只能操作一个桶的一个账户。
我们先创建onebucket.json策略文件,内容如下:
在/usr/local/src/minio/minio/client文件夹中
# 创建策略文件
touch onebucket.json
加入下面配置信息
别特注意,在配置文件中,是不允许加入 "//注释"注释的,否则会报错
mc: Unable to parse the input policy: invalid character ‘/’ looking for beginning of object key string.
所以在onebucket.json文件中添加下面json的时候需要去掉注销
{
"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/*表示只针对这个桶
]
}
]
}
可以看到 是没有注解的
这里可以建立多个json文件,每个文件都可以单独的做为一个用户权限的专属策略,方便管理
当你有多个业务账号需要创建的时候时候,就可以使用多个json文件来进行策略管理
加入完成之后,接下来我们就来进行多用户配置操作
1.首先我们利用mc查看配置信息
# 列出所有已配置的别名
mc alias list
这个时候,我们在进入mc的持久化目录
可以查看到,有一个config.json的文件,实际上就是我们所查看的mc配置信息
2.添加策略链接别名
添加策略链接别名
mc alias set myminio http://127.0.0.1:9000 admin 'admins-1'
# 再次查看配置
mc alias list
可以看出,比之前多了一个选项,而且你再次去/root/.mc/目录下查看,你会发现config.json文件也同时更新了
3.查看策略权限
添加完成之后,我们可以查看这个添加的策略
查看策略权限
mc admin policy list myminio
4.删除策略
删除策略
mc alias remove myminio
这里我们就不做删除了
5.添加策略权限
mc admin policy add myminio onebucket onebucket.json
注意这里,上面讲到策略文件中的注释问题,在onebucket.json文件中,如果有注销【//注释】
在添加策略的时候,会报错,所以需要注意
6.添加用户
mc admin user add myminio onebucket onebucket123
7.查看添加的用户
mc admin user list myminio
8.给新用户添加策略权限
# 案例
# 意思是:使用mc admin policy set 给用户名为onebucket的用户添加onebucket策略
mc admin policy set myminio onebucket user=onebucket
这个时候我们就完成了一个新用户,对应一个策略权限的所有错我,我们就可以在页面minio的页面上进行操作了
用户权限操作
首先我们用admin账户登录minio页面,创建一个桶,这个桶的名字 就是我们刚才策略配置文件中的名字
上传一个文件
这里注意,需要上传一个文件,不可以为空的文件,因为minio默认空的文件不具有有效性的
退出当前用户
用新创建的用户登录
结束
扩展
1.onebucket使用onebucket.json策略文件按名称创建新的固定策略【mc admin policy】
# 格式
mc admin policy add minio别名 策略别名 策略.json
# 案例
# 意思是 使用mc admin policy命令添加一个别名为myminio,策略别名为onebucket的策略,策略文件为onebucket.json
mc admin policy add myminio onebucket /root/.mc/onebucket.json
2.在MinIO使用上创建一个新用户 【mc admin user】
# 格式
mc admin user add minio别名 用户名 用户密码
# 案例
# 意思是:使用mc admin user 命令添加一个别名为myminio,用于名为onebucket,密码为onebucket123的用户
mc admin user add myminio onebucket onebucket123
3.成功创建用户后,给用户添加应用策略【mc admin policy】
# 格式
mc admin policy set minio别名 策略别名 user=用户名
# 案例
# 意思是:使用mc admin policy set 给用户名为onebucket的用户添加onebucket策略
mc admin policy set myminio onebucket user=onebucket
4.创建一个新组
mc admin group add myminio newgroup newuser
成功创建组后,可以 getonly 对该组应用策略
mc admin policy set myminio onebucket group=newgroup
5.禁用用户
禁用用户 newuser
mc admin user disable myminio newuser
禁用组 newgroup
mc admin group disable myminio newgroup
6.删除用户
删除用户 newuser
mc admin user remove myminio newuser
从组中删除用户 newuser
mc admin group remove myminio newgroup newuser
删除组 newgroup
mc admin group remove myminio newgroup
7.更改用户或组策略
将用户策略更改 newuser 为 putonly 固定策略
mc admin policy set myminio putonly user=newuser
将组策略更改 newgroup 为 putonly 固定策略
mc admin policy set myminio putonly group=newgroup
8.列出所有用户或组
列出所有启用和禁用的用户
mc admin user list myminio
列出所有启用或禁用的组
mc admin group list myminio
9.配置 mc
mc config host add myminio-newuser http://localhost:9000 newuser newuser123 --api s3v4
mc cat myminio-newuser/my-bucketname/my-objectname
上一篇:minio安装部署服务器
更多推荐
所有评论(0)