minio policy 使用

minio 参考aws s3 实现了用户的iam 访问控制,使用体验是一致的,而且比较方便,比如我们创建了一个用户或者组之后就需要进行权限创建分配

环境准备

  • docker-compose 文件
version: '3'
services:
  minio:
    image: minio/minio
    ports:
      - "9000:9000"
      - "19001:19001"
    environment:
      MINIO_ACCESS_KEY: minio
      MINIO_SECRET_KEY: minio123
    command: server --console-address :19001 --quiet /data

使用

  • 创建用户

 

 

  • 创建桶

 

 

  • 创建策略
    比如demoapp 使用test 桶,demoappv2 使用demoapp 桶
    test policy
 
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow", // 允许
            "Action": [
                "s3:*"  // 所有权限
            ],
            "Resource": [
                "arn:aws:s3:::test" // 访问test 桶
            ]
        }
    ]
}

demoapp policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow", // 允许
            "Action": [
                "s3:*"  // 所有权限
            ],
            "Resource": [
                "arn:aws:s3:::demoapp" // 访问test 桶
            ]
        }
    ]
}
 
 
 

分配策略

 

 

  • 效果

demoapp 访问

 

 

说明

minio 的mc 也是可以进行管理(新版本名称修改为了mcli),当前也已经内置的一些策略consoleAdmin,diagnostics,readonly,readwrite
参考标准模版

 
 {
            "Effect": "Allow|Deny", // 允许
            "Action": [
                "s3:*"  // 所有权限
            ],
            "Resource": [
                "arn:aws:s3:::demoapp" //  需要访问的资源
            ]
}
 
 

实际上aws 的iam 是比较强大的一个东西,很值得学习下,是一个面向云资源管控很不错的一给权限模式
同时minio 还支持一个group 的能力,方便给多个用户进行策略分配,比如graylog,shiro 就支持基于此模式的授权(urn 模式)

参考资料

https://docs.aws.amazon.com/iam/index.html
https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
https://min.io/docs/minio/kubernetes/upstream/administration/identity-access-management.html
https://min.io/docs/minio/kubernetes/upstream/administration/identity-access-management/policy-based-access-control.html

posted on 2022-11-08 18:36  荣锋亮  阅读(922)  评论(0编辑  收藏  举报

导航