一、内置 Policy
注意:
内置策略适用于全部资源"Resource": ["arn:aws:s3:::*"]
,如果对资源有限制,则需要自定义策略。
1. consoleAdmin
授予全部资源的,S3和管理API的完全访问权限。
等同于如下设置:
2. readonly
授权任何对象的只读权限。GET
操作必须绑定到对象,无需 listing
。
等同于如下设置:
比如,本策略可以支持 GET
操作某特定路径的对象(e.g. GET play/mybucket/object.file
),比如:
这里故意排除了
listing
权限,因为典型用例并不希望只读
角色可以完全检索存储资源上的所有信息(列出所有的存储桶和对象信息)。
3. readwrite
赋予MinIO Server上所有存储桶和对象的读、写权限。
等同于设置:
4. diagnostics
授予对MinIO部署执行diagnostic 诊断
操作。
包括如下:
5. writeonly
赋予MinIO部署的任意 namespace (bucket and path to object) 的只写
权限。PUT
操作必须绑定到特定的对象位置,无需listing。
等同于设置:
二、Policy 设置范例
使用 mc admin policy attach
来赋予用户、组对应的权限。
比如,参考如下的用户表。每个用户都赋予了 built-in policy 或 支持的 action。该表描述了用户经过认证后,客户端可以执行的操作。
User | Policy | Operations |
---|---|---|
Operations |
readwrite on finance bucketwriteonly on audit bucket |
PUT and GET on finance bucket.PUT on audit bucket. |
Auditing |
readonly on audit bucket |
GET on audit bucket |
Admin |
admin:* |
All mc admin commands. |
三、Policy 实践
- 内置策略权限列表:
内置Policy | 对应配置 |
---|---|
consoleAdmin |
s3:* admin:*
|
readonly |
s3:GetBucketLocation s3:GetObject
|
writeonly | s3:PutObject |
readwrite | s3:* |
diagnostics |
admin:ServerTrace admin:Profiling admin:ConsoleLog admin:ServerInfo admin:TopLocksInfo admin:OBDInfo admin:BandwidthMonitor admin:Prometheus
|
- 策略配置范例:
操作 | 权限 | 说明 |
---|---|---|
创建存储桶 | 手动创建,不能给权限 | |
列出存储桶 |
s3:ListAllMyBuckets or s3:ListBucket
|
二者皆可 |
列出桶内对象 |
s3:GetBucketLocation s3:ListBucket
|
|
上传文件 |
s3:GetBucketLocation s3:PutObject
|
自动创建目录 |
下载文件 |
s3:GetBucketLocation s3:GetObject
|
使用 fget 方法 |
指定桶 | arn:aws:s3:::bucket-robin/* |
指定资源 |
网友评论