当前位置: 首页 > wzjs >正文

自己做的网站403沈阳黄页88企业名录

自己做的网站403,沈阳黄页88企业名录,品牌营销与市场营销的区别,济南制作网站公司吗本文将深入讲解 MinIO 的身份管理和权限配置,聚焦存储桶权限(private、public、custom)的区别和 匿名访问 的应用,通过清晰的场景示例,教你实现安全分享,同时保护数据。 MinIO 身份管理基础 MinIO 的身份…

本文将深入讲解 MinIO 的身份管理和权限配置,聚焦存储桶权限(private、public、custom)的区别和 匿名访问 的应用,通过清晰的场景示例,教你实现安全分享,同时保护数据

MinIO 身份管理基础

MinIO 的身份管理负责用户认证和授权,默认使用内置身份提供者(IDP)。核心概念包括:

  1. 用户(User)
    用户通过 Access Key(用户名)和 Secret Key(密码)访问 MinIO,可用命令行工具 mc 或 Web 控制台管理。

  2. 服务账号(Service Account)
    服务账号是为应用程序设计的专用凭证,无法登录控制台,但可通过 API 访问资源,适合自动化脚本或服务集成。

  3. 策略(Policy)
    JSON 格式的策略定义用户、服务账号或匿名访问对存储桶(Bucket)和对象(Object)的权限,基于 AWS S3 语法。

  4. 匿名访问(Anonymous Access)
    允许未认证用户(无 Access Key)通过 URL 或 API 访问特定资源,需通过存储桶权限配置。

用户组:可通过 mc admin group 批量管理用户权限。

我们的目标是:安全地让匿名用户或服务账号读取特定内容,限制列出存储桶或文件列表。

准备工作

  1. 确保 MinIO 运行:假设 MinIO 部署在 http://localhost:9000,管理员账号为 homes4,密码为aiy0ooCheephai0ohNahmu3Aijee6eiv

  2. 安装 mc 工具:下载 MinIO 客户端(mc),用于配置权限(支持 Windows、Mac、Linux)。

  3.  配置 mc

mc alias set homes4 http://localhost:9000 homes4 aiy0ooCheephai0ohNahmu3Aijee6eiv
Added `homes4` successfully.

准备好后,我们开始配置权限!

PS:命令行方式和可视化操作效果是一样的,主要还是以命令行操作为主

存储桶权限:Private、Public 和 Custom

MinIO 的存储桶权限控制匿名访问行为,分为 privatepublic 和 custom 三种模式,可通过 mc anonymous 命令设置。以下是它们的区别

Private(私有)

  • 定义:禁止所有匿名访问,仅允许认证用户或服务账号(有 Access Key 和策略授权)访问。

  • 适用场景:保护敏感数据,如内部文档、用户数据。

  • 效果:匿名用户访问存储桶或对象时,返回 403 Forbidden

  • 配置:mc anonymous set none homes4/web

 

Public(公开)

注意:风险较高,容易暴露所有文件,慎用。(我个人基本不用)

  • 定义:允许匿名用户访问,权限包括:

    • download:只读(s3:GetObject)

    • upload:只写(s3:PutObject)。

    • public:读写均可。

  • 适用场景:分享公开资源,如网站静态文件、开源软件。

  • 配置(只读):mc anonymous set download homes4/web

  • 效果:匿名用户可通过 URL(如 http://localhost:9000/web/file.jpg)读取对象,可能列出文件列表(若未限制)。

Custom(自定义)

推荐用

  • 定义:通过 JSON 策略精确控制匿名访问权限,如限制特定路径或操作。

  • 适用场景:部分公开,如只分享某个文件夹,或禁止列出文件列表。

  • 配置:见下文场景示例。

  • 效果:灵活性最高,匿名用户只能执行策略允许的操作。

存储桶权限区别总结

模式

匿名访问权限

适用场景

配置命令

Private

禁止匿名访问

敏感数据

mc anonymous set none

Public

读、写或读写(看设置)

公开资源

mc anonymous set download upload/public

Custom

自定义(JSON 策略)

部分公开、精确控制

mc anonymous set-json <policy-file>

实战:安全分享存储内容

通过一个最常见的场景,教你如何:

  • 让匿名用户只读特定文件,禁止列出存储桶或文件列表。

此外,还会写如何用服务账号为应用程序提供类似权限。

新建存储桶

先创建一个存储桶,默认创建的存储桶都是私有权限

 

root@docker:~$ mc mb homes4/cli
Bucket created successfully `homes4/cli`.
root@docker:~$ mc ls homes4
[2025-05-01 11:26:11 EDT]     0B cli/
[2025-05-01 11:23:57 EDT]     0B ddd/
[2025-05-01 10:38:53 EDT]     0B homes4/
[2025-05-01 11:29:06 EDT]     0B web/

场景:只读特定文件,禁止列出存储桶或文件列表

需求:存储桶 web 包含 public/photo.jpg 和 private/secret.pdf。想让匿名用户只读 photo.jpg,但不能列出 web桶中 的文件列表,也不能访问其他文件或存储桶

步骤:

设为 Private(默认安全)
mc anonymous set none homes4/web
创建自定义策略:只允许匿名读取 public/photo.jpg
{"Version":"2012-10-17",
"Statement":[{"Action":["s3:GetObject"],"Effect":"Allow","Resource":["arn:aws:s3:::web/public/photo.jpg"],"Principal":"*"}
]
}
  • s3:GetObject:允许读取对象

  • Resource:精确到 photo.jpg, 例如你想某个目录读写arn:aws:s3:::web/public/*

  • Principal: "*":表示匿名用户

  • 无 s3:ListBucket:禁止列出文件列表

应用策略
mc anonymous set-json custom.json homes4/web

控制台可以直接编辑存储桶的Access Policy,改成Custom,内容和上面一致

 

查看策略

root@docker:~$ mc anonymous get-json homes4/web
{
"Statement": [{"Action": ["s3:GetObject"],"Effect": "Allow","Principal": {"AWS": ["*"]},"Resource": ["arn:aws:s3:::web/public/photo.jpg"]}],
"Version": "2012-10-17"
}

 

效果

  • 匿名用户可通过 http://localhost:9000/web/public/photo.jpg 下载 photo.jpg。

  • 其他访问都是403

服务账号:为应用程序配置相同权限

需求:为应用程序(如网站后端)提供只读 public/photo.jpg 的权限,类似上述场景,但通过服务账号实现

步骤:

创建用户(服务账号需绑定到用户):

密码长度需要8-40

mc admin user add homes4 app1user app1pass

web可视化操作,policy那里随便选个小权限的,后面需要调整

创建服务账号:为 app1user 生成服务账号,绑定 custom.json 策略
mc admin user svcacct add homes4 app1user --access-key svc1 --secret-key svc1pass --policy custom.json

可视化操作创建服务状态,凭证信息会随机生成,且只显示一次

 

策略规则只能在生成access key后才能编辑操作

实用技巧:兼顾安全与便利

  • 优先 Custom 模式:比 public 安全,精确控制分享内容。

  • 避免 Public 模式:除非真想完全公开,否则可能暴露所有文件。

  • 检查权限:定期用mc anonymous get-json homes4/web 确认存储桶权限

  • 随机存储桶名:用随机名,降低被猜到风险

  • 用预签名 URL 临时分享:生成带有效期的链接,过期失效:

# 分享下载链接,下载速度限制10MB/s有效期7天
mc share download --limit-download 10MB homes4/web/private/secret.pdf

总结

MinIO 的权限配置简单而灵活,用服务账号拥有某个存储桶的只读权限就行了。

http://www.dtcms.com/wzjs/841427.html

相关文章:

  • 湖州 外贸网站建设公众号制作一个需要多少钱
  • 白云做网站SEO1简述网站建设流程图
  • 网站中常用的英文字体网站的链接优化
  • 哈尔滨网站建设价位ICP备案域名网站
  • 百度网网站建设的目标专门拍短视频的公司
  • 有什么php网站网站集约化建设力度
  • 海外网站seo优化网店怎么开店注册
  • 网站的评测系统怎么做的美区下载的app怎么更新
  • 学校网站页面设计网站建设教程在线观看
  • pc网站建设建议广西住房和城乡建设厅三类人员继续教育
  • 新闻专业为啥学网页制作长沙网站优化排名推广
  • 微网站开发项目合作协议郑州网站高端设计
  • 青岛网站建设报价中原地产
  • 网站建设最花时间的是wordpress权限设置管理员
  • 新广告法 做网站的南平网站开发公司
  • 官方网站建设意义沈阳有限公司
  • 贵州省建设部网站怎么宣传自己新开的店铺
  • 做招聘网站怎么运作宁波网站建设费用
  • 免费手机网站制作低价备案域名
  • 建站程序大全莱芜市在线论坛话题
  • 郫县做网站网站注册收入
  • 网站建设方式可行性分析如何查看域名服务商
  • 微信小程序注册方式seo关键词首页排名代发
  • 曲周企业做网站推广网站关键词做标签
  • 广东建设信息网站塔吊查询成都建筑公司排名
  • c 网站开发培训网赢天下深圳网站建设
  • 没注册可以做网站吗网站搭建软件
  • 网站seo关键词排名推广网站的备案怎么处理
  • 免费制作网站用模板建站
  • 用vs2010做的网站的源码网站开发工具评价