背景
在我们的实际项目中,大多少场景都会用到文件的上传和下载,所以这个时候就需要一个专门的文件存储服务器来存放各种不同类型的文件,目前主流的商业的平台有阿里云的OSS,AWS的S3等,也有主流的开源的方案比如Minio,如下简单介绍minio
Minio
minio首先是一个开源的对象存储平台,不限制与存储图片、文件什么的,各种静态资源都可以管理,和阿里云的OSS一样,都有Bucket的概念来统一管理不同应用或不同渠道的对象资源,也可以针对Bucket设置不同的权限,如下主要介绍下如何设置Bucket的权限
设置访问策略
点击上图中的某一个Bucket,如下图所示:
点击上图的【修改Access Policy】,如下图所示,可以改成不同的Policy:
主要有Private 、Public、Custom
选择Private如下图所示:
选择Custom如下图所示:
具体的Policy参考如下:
在这里插入代码片
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::test-bucket"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::test-bucket/*"
]
}
]
}
选择Public,如下图所示:
不过,谨慎选择Public,因为这样可以允许所有用户不限制的上传资源到服务器,导致容量会被恶意的浪费