关于oss:minio对象存储使用

Minio简介

Minio是Apache License v2.0下公布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适宜存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小能够从几KB到最大5TB
Minio服务器足够轻,能够与应用程序堆栈捆绑在一起,相似于NodeJS,Redis和MySQL。
https://docs.minio.io/

Minio装置应用

二进制装置

wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

留神启动时控制台会显示的 appkey secretkey是默认登录账户,明码

docker装置

docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data

应用

浏览器输出: http://ip:9000
例如:http://10.0.102.201:9000 http://172.17.42.1:9000 http://127.0.0.1:9000

AccessKey: minioadmin
SecretKey: minioadmin

Minio常用命令

客户端操作命令

NAME:
  mc - MinIO Client for cloud storage and filesystems.

USAGE:
  mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]

COMMANDS:

ls       列出文件和文件夹。
mb       创立一个存储桶或一个文件夹。
cat      显示文件和对象内容。
pipe     将一个STDIN重定向到一个对象或者文件或者STDOUT。
share    生成用于共享的URL。
cp       拷贝文件和对象。
mirror   给存储桶和文件夹做镜像。
find     基于参数查找文件。
diff     对两个文件夹或者存储桶比拟差别。
rm       删除文件和对象。
events   治理对象告诉。
watch    监督文件和对象的事件。
policy   治理拜访策略。
config   治理mc配置文件。
update   查看软件更新。
version  输入版本信息。

客户端治理命令

NAME:
  mc admin - manage MinIO servers

USAGE:
  mc admin COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]

COMMANDS:

service     服务重启并进行所有MinIO服务器
update      更新更新所有MinIO服务器
info        信息显示MinIO服务器信息
user        用户治理用户
group       小组治理小组
policy      MinIO服务器中定义的策略管理策略
config      配置管理MinIO服务器配置
heal        修复MinIO服务器上的磁盘,存储桶和对象
profile     概要文件生成概要文件数据以进行调试
top         顶部提供MinIO的顶部统计信息
trace       跟踪显示MinIO服务器的http跟踪
console     控制台显示MinIO服务器的控制台日志
prometheus  Prometheus治理Prometheus配置
kms         kms执行KMS治理操作

Minio应用案例

新建一个bucket和用户,并给用户进行受权拜访

  1. 用户只能拜访本人的bucket
  2. 用户只能上传和下载,列出本人的文件

一、查看minio根本状况

客服端中增加minio server进行治理

[root@minio ~]$ mc config host add minio http://ip或域名端口 minioadmin minioadmin

列出所有buckets

[root@minio ~]$ mc ls minio
[2021-03-19 16:45:13 CST]     0B cnb-uat/
[2021-03-19 16:45:21 CST]     0B enp-uat/

列出minio现有的用户

[root@minio ~]$ mc admin user list minio
enabled    cnb                   cnbpolicy
enabled    enp

列出minio现有的策略

[root@minio ~]$ mc admin policy list minio
diagnostics
readonly
readwrite
writeonly
cnbpolicy
consoleAdmin

列出minio桶的策略权限

[root@minio ~]$ mc policy list minio/cnb-uat
cnb-uat/cnb-uat* => readwrite
cnb-uat/* => readonly

二、增加bucket

[root@minio ~]$ mc mb minio/iim-uat
Bucket created successfully `minio/iim-uat`.

三、增加策略

1.增加自定义策略文件

cat > iim.json << EOF
{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "s3:ListAllMyBuckets",
    "s3:ListBucket",
    "s3:GetBucketLocation",
    "s3:GetObject",
    "s3:PutObject"
   ],
   "Resource": [
    "arn:aws:s3:::iim-uat/*"
   ]
  }
 ]
}
EOF

2.增加自定义策略到零碎

[root@minio ~]$ mc admin policy add minio iimpolicy iim.json

三、用户治理

1.增加用户

[root@minio ~]$ mc admin user add minio iim iim123456
Added user `iim` successfully.

2.给用户设置策略

[root@minio ~]$ mc admin policy set minio iimpolicy user=iim

3.设置匿名权限

[root@minio ~]$ mc policy set download minio/iim-uat
Access permission for `minio/iim-uat` is set to `download`

四、客户端应用

客户端通过命令行操作bucket

[root@minio ~]$ mc config host add minio http://ip或域名端口 iim iim123456
[root@minio ~]$ mc ls minio
[2021-03-19 16:45:13 CST]     0B iim-uat/

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理