提交成功
提交失败
MinIO权限列表

以下是AWS S3权限的全面分类列表,涵盖存储桶级操作、对象级操作、跨账户访问、生命周期管理等核心场景,结合官方文档及最新实践整理:

一、存储桶级权限(Bucket-Level Permissions)

  1. 基础操作
    • s3:ListBucket:列出存储桶内的对象(如通过ListObjectsV2 API)。
    • s3:GetBucketLocation:获取存储桶所在区域。
    • s3:CreateBucket:创建新存储桶。
    • s3:DeleteBucket:删除空存储桶。
  2. 访问控制
    • s3:PutBucketAcl:修改存储桶的ACL(访问控制列表)。
    • s3:GetBucketAcl:查看存储桶的ACL配置。
    • s3:PutBucketPolicy:设置存储桶策略(JSON格式,支持细粒度控制)。
    • s3:GetBucketPolicy:查看存储桶策略内容。
  3. 高级配置
    • s3:PutBucketCORS:配置跨域资源共享(CORS)规则。
    • s3:GetBucketCORS:查看CORS配置。
    • s3:PutBucketVersioning:启用/禁用版本控制。
    • s3:GetBucketVersioning:查看版本控制状态。
    • s3:PutBucketLogging:设置访问日志记录。
    • s3:GetBucketLogging:查看日志记录配置。
    • s3:PutBucketNotification:配置事件通知(如上传对象时触发Lambda)。
    • s3:GetBucketNotification:查看事件通知配置。
    • s3:PutBucketReplication:设置跨区域复制规则。
    • s3:GetBucketReplication:查看复制配置。
  4. 安全与合规
    • s3:PutBucketPublicAccessBlock:阻止公共访问(如禁止匿名读写)。
    • s3:GetBucketPublicAccessBlock:查看公共访问阻止状态。
    • s3:PutBucketOwnershipControls:管理对象所有权(如强制存储桶拥有者模式)。
    • s3:GetBucketOwnershipControls:查看所有权控制配置。

二、对象级权限(Object-Level Permissions)

  1. 数据操作
    • s3:GetObject:读取对象内容(如下载文件)。
    • s3:PutObject:上传新对象或覆盖现有对象。
    • s3:DeleteObject:删除指定对象。
    • s3:RestoreObject:从归档存储(如Glacier)还原对象。
  2. 元数据与标签
    • s3:GetObjectAcl:查看对象的ACL配置。
    • s3:PutObjectAcl:修改对象的ACL。
    • s3:GetObjectTagging:查看对象标签。
    • s3:PutObjectTagging:为对象添加或修改标签。
  3. 高级功能
    • s3:GetObjectVersion:访问对象的特定版本(需启用版本控制)。
    • s3:DeleteObjectVersion:删除对象的某个历史版本。
    • s3:AbortMultipartUpload:取消未完成的多部分上传。
    • s3:ListMultipartUploadParts:查看多部分上传的已上传部分。

三、跨账户与联合权限

  1. 跨账户访问
    • s3:ListBucket + s3:GetObject:允许其他账户用户列出并下载对象。
    • s3:PutObject:允许其他账户用户上传对象到指定存储桶。
    • 通过IAM角色或存储桶策略实现,需指定目标账户ID。
  2. 联合身份管理
    • 支持与AWS IAM Identity Center(原SSO)集成,通过策略授予外部身份访问权限。

四、生命周期与自动化权限

  1. 生命周期管理
    • s3:PutBucketLifecycle:设置对象生命周期策略(如自动转储到低成本存储)。
    • s3:GetBucketLifecycle:查看生命周期配置。
  2. 加密与合规
    • s3:PutBucketEncryption:配置默认加密(SSE-S3/SSE-KMS)。
    • s3:GetBucketEncryption:查看加密配置。

五、审计与监控权限

  1. 日志与跟踪
    • s3:GetBucketLogging:查看访问日志配置。
    • 结合AWS CloudTrail记录所有S3 API调用(需额外配置)。
  2. 指标与分析
    • s3:GetBucketMetrics:访问存储桶的分析和指标数据。
    • s3:GetBucketAnalytics:查看分析配置(如存储类分析)。

六、权限组合示例

  1. 只读访问

    json

    {

    "Effect": "Allow",

    "Action": ["s3:ListBucket", "s3:GetObject"],

    "Resource": ["arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*"]

    }
  2. 写入但禁止删除

    json

    {

    "Effect": "Allow",

    "Action": ["s3:PutObject", "s3:AbortMultipartUpload"],

    "Resource": "arn:aws:s3:::example-bucket/*"

    }
  3. 管理员权限(谨慎使用)

    json

    {

    "Effect": "Allow",

    "Action": "s3:*",

    "Resource": "*"

    }

七、安全最佳实践

  1. 最小权限原则:仅授予必要操作,避免s3:*通配符。
  2. 禁用公共访问:默认启用“阻止公共访问”,除非明确需要公开访问。
  3. 审计与监控:定期检查存储桶策略和IAM权限,使用CloudTrail记录敏感操作。
  4. 版本控制:对重要数据启用版本控制,防止意外删除或覆盖。

免责声明:本站的所有博客、言论等仅代表作者个人观点,与本网站立场无关。本站公开发布此信息的目的在于传播更多信息,如有侵权请立即与我们联系,我们将及时处理。

点赞 0
评论 0
分享
收藏
打赏
举报