
在minio中,桶策略主要用于管理匿名(未认证)用户的访问权限,而要对特定认证用户进行精细化访问控制,则必须通过iam(身份与访问管理)策略实现。本文将详细阐述这两种策略的区别与应用场景,并提供具体的iam策略示例,指导用户如何为minio中的特定用户配置桶操作权限,避免混淆minio与aws s3的策略机制。
MinIO作为S3兼容的对象存储服务,其权限管理机制与AWS S3有相似之处,但也存在关键区别。理解MinIO中桶策略(Bucket Policy)与IAM策略(Identity and Access Management Policy)的正确应用,对于实现安全、高效的访问控制至关重要。
在MinIO中,桶策略(Bucket Policy)的主要作用是定义匿名用户对桶或桶内对象的访问权限。这意味着,当一个请求未经过身份认证时,MinIO会根据桶策略来决定是否允许该操作。例如,如果希望让所有人都能公开读取某个桶中的内容,可以通过设置桶策略来实现。
桶策略示例:允许匿名用户读取 mybucket 中的所有对象
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}应用桶策略:
可以使用 mc 命令行工具来设置桶策略:
mc policy set-json mypolicy.json myminio/mybucket
其中 mypolicy.json 是上述策略文件,myminio 是你的MinIO别名,mybucket 是目标桶名。
重要提示: MinIO的桶策略仅适用于匿名访问。尝试在桶策略中指定特定认证用户(例如 arn:aws:iam::account_id:root 或 arn:aws:iam:::user/your_user_name)来限制其访问是无效的,因为MinIO会忽略已认证用户的桶策略中的 Principal 字段。
要对MinIO中的特定认证用户进行访问权限控制,必须使用IAM策略。IAM策略是附加到用户或组的权限集合,定义了这些用户或组可以执行的操作以及可以访问的资源。这与AWS IAM的工作方式更为接近。
IAM策略的结构
MinIO IAM策略的结构与AWS IAM策略非常相似,通常包含以下字段:
示例:限制特定用户 myuser 对 mybucket 的访问
假设我们有一个MinIO用户名为 myuser,我们希望他只能在 mybucket 中上传和下载对象,但不能删除桶或更改桶的配置。
首先,创建一个名为 myuser-access-policy.json 的IAM策略文件:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
]
},
{
"Effect": "Deny",
"Action": [
"s3:DeleteBucket",
"s3:PutBucketPolicy",
"s3:PutBucketLifecycle",
"s3:PutBucketNotification"
],
"Resource": "arn:aws:s3:::mybucket"
}
]
}策略说明:
应用IAM策略:
创建策略:
mc admin policy add myminio myuser-access myuser-access-policy.json
这会在MinIO中创建一个名为 myuser-access 的IAM策略。
将策略附加到用户:
mc admin policy attach myminio myuser-access --user myuser
这将把 myuser-access 策略附加到用户 myuser。现在,myuser 的权限将由这个IAM策略定义。
通过正确区分和应用MinIO的桶策略和IAM策略,可以有效地管理对象存储的访问权限,确保数据的安全性和合规性。
以上就是MinIO中用户访问控制:桶策略与IAM策略的正确应用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号