2024.12.9minio权限

这段代码是一个Amazon S3兼容的存储服务(如Minio)的访问控制策略,它定义了两个不同的权限规则。下面是对每个部分的解释:

  1. Version: "2012-10-17"

    • 这一行指定了策略的版本,这里的版本是2012年10月17日的版本,这是AWS IAM策略的初始版本。
  2. Statement:

    • 这是一个包含多个权限规则的数组。
  3. 第一个权限规则(PublicRead):

    • Sid: "PublicRead"
      • 这是一个唯一的标识符,用于标识这个权限规则。
    • Effect: "Allow"
      • 这个字段指定了规则的效果,"Allow"表示允许执行指定的操作。
    • Action: ["s3:GetObject"]
      • 这个字段定义了允许执行的操作,这里允许的操作是"s3:GetObject",即允许从S3桶中获取对象。
    • Principal: "*"
      • 这个字段指定了哪些用户或角色可以执行这个操作,"*"表示任何用户或角色。
    • Resource: ["arn:aws:s3:::test/*"]
      • 这个字段定义了哪些资源这个规则适用,这里指定的是所有在名为"test"的S3桶中的资源。
  4. 第二个权限规则(PrivateAccess):

    • Sid: "PrivateAccess"
      • 这是另一个唯一的标识符。
    • Effect: "Deny"
      • 这个字段指定了规则的效果,"Deny"表示拒绝执行指定的操作。
    • Action: ["s3:PutObject", "s3:DeleteObject", "s3:ListBucket"]
      • 这个字段定义了拒绝执行的操作,这里拒绝的操作包括上传对象("s3:PutObject")、删除对象("s3:DeleteObject")和列出桶中的内容("s3:ListBucket")。
    • Principal: "*"
      • 同样,"*"表示任何用户或角色。
    • Resource: ["arn:aws:s3:::test", "arn:aws:s3:::test/*"]
      • 这个字段定义了哪些资源这个规则适用,这里指定的是名为"test"的S3桶及其所有内容。

综上所述,这个策略允许任何用户读取"test"桶中的对象,但禁止任何用户上传、删除对象或列出桶的内容。这可以被看作是一种"只读"策略,确保数据不被修改或删除,同时允许公开访问。

posted @ 2024-12-09 23:01  258333  阅读(36)  评论(0)    收藏  举报