MinIO是一款高性能的分布式对象存储系统,广泛应用于云计算、大数据等领域。在MinIO中,访问管理是通过基于策略的访问控制(PBAC)来实现的。本文将详细介绍MinIO的访问管理、内置策略、策略文档结构以及如何根据具体需求定制权限策略。
1. 访问管理概述
MinIO使用基于策略的访问控制(PBAC)来定义认证用户可以执行的操作和访问的资源。每个策略描述了一组操作和条件,规定了用户或用户组的权限。MinIO的PBAC兼容AWS IAM策略的语法、结构和行为,因此可以参考AWS的文档来更深入了解相关功能。
MinIO的mc admin policy命令用于创建和管理部署中的策略,帮助管理员灵活控制访问权限。
1.1 版本更新:Tag-Based Policy Conditions
在版本RELEASE.2022-10-02T19-29-29Z中,MinIO新增了基于标签的条件(Tag-Based Conditions)。通过该功能,策略可以限制用户访问具有特定标签的对象。具体实现方式为在策略的Condition语句中使用 s3:ExistingObjectTag/<key>。
2. 内置策略
MinIO提供了多个内置策略,管理员可以将其分配给用户或用户组,以简化权限管理。
2.1 内置策略列表
2.1.1 consoleAdmin
此策略授予用户对MinIO部署中所有S3和管理API操作的完全访问权限。等同于以下操作:
s3:*admin:*
2.1.2 readonly
该策略为用户提供对MinIO部署中任何对象的只读权限,仅支持GET操作,且不要求列出所有对象。等同于以下操作:
s3:GetBucketLocations3:GetObject
例如,以下操作在只读策略下支持:
mc cpmc statmc headmc cat
但列出权限被排除在外,因为典型的只读角色并不需要具有完全的发现能力。
2.1.3 readwrite
此策略授予用户对MinIO服务器中所有桶和对象的读写权限。等同于 s3:*。
2.1.4 diagnostics
该策略授予用户执行诊断操作的权限。包括以下操作:
admin:ServerTraceadmin:Profilingadmin:ConsoleLogadmin:ServerInfoadmin:TopLocksInfoadmin:OBDInfoadmin:BandwidthMonitoradmin:Prometheus
2.1.5 writeonly
此策略为用户提供对MinIO部署中任意命名空间(桶及对象路径)的写入权限。等同于 s3:PutObject。
2.2 策略分配与用户操作
通过 mc admin policy attach 命令,可以将策略与用户或用户组关联。例如,以下是一个典型的用户和策略分配示例:
| 用户 | 策略 | 操作 |
|---|---|---|
| Operations | readwrite on finance bucket |
|
readonly on audit bucket |
对finance桶进行PUT和GET操作对audit桶进行GET操作 |
|
| Auditing | readonly on audit bucket |
对audit桶进行GET操作 |
| Ad |

最低0.47元/天 解锁文章
1114

被折叠的 条评论
为什么被折叠?



