目录
前言
一、桶权限说明
权限总体说明
添加桶的owner对该桶有所有权限。
桶上提供的access policy分为Private(私有),Public(共有),Custom(自定义)
另外提供了access rules的设置,如果access rules设置了值,access policy会自动变成Custom。
access rules的内容有Readonly,Writeonly,Readwrite
上面的设置都是对该桶的全局设置
Access Rules介绍
access rules采用的是前缀匹配,匹配的是桶后面的对象路径地址
该部分都是指定的桶的全局设置,不涉及与用户相关,也可以说是对匿名用户的权限设置。
二、IAM Poliy
类似于权限资源的管控,以json的信息的形式来表达,一般会配合用户和用户组一起来使用
minio提供了内置的五种权限管控策略
策略 | 说明 | 备注 |
consoleAdmin | 控制台管理员 | 控制台管理类 |
diagnostics | 诊断 | |
readonly | 只读 | 读写控制类 |
readwrite | 读写 | |
writeonly | 只写 |
默认的IAM策略可以完成指定用户对桶(这儿指所有桶,还未单独区分桶)的权限设置。
但是往往咱们在使用中是需要对指定桶的某些权限做设置的,这就需要使用自定义的policy。
三、自定义IAM Policy
自定义IAM Policey,可以设定指定的桶只开放某些特定的权限。再配合用户授权指定的Policy一般可以满足生产级别的使用。
关于怎么自定义IAM Policy后面的章节单独介绍。
此处举一个列子,下面自定义的policy表示桶bucket-demo下有read的权限,分解如下
a、对桶名字bucket-demo具有s3:GetBucketLocation权限,(地址获取)
b、对桶名字bucket-demo下的所有文件具有s3:GetObject权限(对象获取)
{
"Statement": [{
"Action": [
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::bucket-demo"
]
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::bucket-demo/**"
]
}
],
"Version": "2012-10-17"
}