【最佳实践】巡检项:对象存储(COS)存储桶公有读写

2022-04-21 16:44:43 浏览数 (1)

问题描述

某客户使用 COS 存储进行一些文件的存储,近期发现桶中出现了一些不是自己上传的文件、一些文件被删除了,还有一些流量的产生,经排查是因为桶开启了公有读写,任何人都可以对桶进行读写操作。

该巡检项用于检查 COS 存储桶是否开启了公有读写,若存储桶的权限是公有读写,则存储桶可能存在安全风险。

解决方案

依据最小化权限原则,为存储桶 ACL 访问控制 关闭「公有读写」选项,或者配置 桶的policy权限,按需分配存储桶读写权限,提高数据安全性。另外,值得注意的是,COS桶权限修改为私有读写时,将无法直接访问,需要携带签名。

本文旨在介绍通过最小化权限原则,配置权限管理,您也可以参考《使用腾讯云SCF实现COS费用封顶的最佳实践原创》,结合云监控、云函数,实现用量封顶限制。

配置方法:

对存储桶设置 ACL 以下示例表示允许另一个主账号对某个存储桶有读取权限:

对对象设置 ACL 以下示例表示允许另一个主账号对某个对象有读取权限:

对桶设置Policy权限

  1. 登录 对象存储控制台。
  2. 在左侧导航栏中,单击存储桶列表,选择需要添加存储桶策略的存储桶,进入存储桶。
  3. 单击权限管理,找到 Policy 权限设置,COS 提供添加存储桶策略的方式为 图形设置策略语法,操作步骤请参见如下。您可以选其中一种方式添加存储桶策略。关于配置项的更多说明,请参见 访问策略语言概述。
  1. 确认配置信息无误后,单击确定保存即可。此时使用子账号登录 COS 控制台,将只能访问策略所设定的资源范围。

图形设置

在图形设置板块,单击添加策略,在弹窗中进行策略配置。第一步选择模板,第二步配置策略

第一步:选择模板

通过选择不同的被授权用户、资源范围组合,COS 为您提供了多种策略模板,帮助您快速配置存储桶策略。

  • 被授权用户
    • 所有用户(可匿名访问):当您希望为匿名用户开放操作权限时,可以选择此项,在第二步配置策略时会为您自动添加所有用户,表示为*。由于将列出对象列表(ListBucket)、存储桶配置权限等操作开放给匿名用户风险较高,选择本项时 COS 没有提供相应模板,如您有需要可以在后续“配置策略”步骤自行添加。
    • 指定用户:当您希望为指定子账户、主账户或云服务开放操作权限时,可以选择指定用户。在第二步配置策略,您需要进一步指定具体的账户 UIN。
  • 资源范围
    • 整个存储桶:当您希望配置存储桶配置相关的权限,或者将资源范围指定为整个存储桶,可以选择此项,在第二步配置策略时会为您自动添加整个存储桶为资源。
    • 指定目录:当您希望将资源范围限定到指定文件夹,可以选择此项。在第二步配置策略,您需要进一步指定具体的目录。选择本项时,COS 不会提供存储桶配置相关的策略模板,因为这类权限必须指定资源为整个存储桶。
  • 模板:您希望授权的操作集合。
    • 自定义策略(不提供预设配置):如您不需要使用模板,可选择此项,在第二步“配置策略”中根据您的需要自行添加策略。
    • 其他模板:根据您选择的被授权用户和资源范围的不同组合,COS 为您提供不同的推荐模板。勾选相应的模板后,在第二步配置策略中,COS 会为您自动添加相应的操作。

    说明: 模板提供的授权操作不符合您的需要,您可以在第二步"配置策略"中添加或删除授权操作。

模板说明请参见下表:

被授权用户

资源范围

策略模板

说明

所有组合

自定义策略

对于任意被授权用户、资源范围组合,选择此模板不提供任何预设策略,您可以直接在第二步配置策略中自行添加策略。

所有用户(可匿名访问)

整个存储桶

只读对象(不含列出对象列表)

对于匿名用户,COS 为您提供读文件(例如下载)、写文件(例如上传、修改)的推荐模板。COS 推荐模板不包括列出您存储桶内的所有对象、和读写权限、存储桶配置等其他敏感权限,避免开放其他多余权限提高数据安全。如您有需要,可以在后续步骤自行添加、删除动作权限。

读写对象(不含列出对象列表)

指定目录

只读对象(不含列出对象列表)

读写对象(不含列出对象列表)

指定用户

整个存储桶

只读对象(不含列出对象列表)

对于指定用户和整个存储桶组合,COS 提供了最多的推荐模板。除了读、写文件和列出文件,COS 还包括以下敏感权限模板,适用于给受信任的用户使用:读写存储桶与对象 ACL:获取、修改存储桶 ACL、对象 ACL。包括 GetObjectACL、PutObjectACL、GetBucketACL、PutBucketACL存储桶一般配置项:存储桶标签、跨域、回源等非敏感权限。存储桶敏感配置项:涉及存储桶策略、存储桶 ACL、删除存储桶等敏感权限,需要谨慎使用。

只读对象(含列出对象列表)

读写对象(不含列出对象列表)

读写对象(含列出对象列表)

读写存储桶与对象 ACL

存储桶一般配置项

存储桶敏感配置项

指定目录

只读对象(不含列出对象列表)

对于指定用户和指定目录组合,COS 除了读文件(例如,下载)、写文件(例如上传、修改)之外,还提供了包含列出对象列表的权限的推荐模板。当您需要为指定用户开放指定文件夹的读、写、列出文件的权限时,推荐选择此组合。如您有需要,可以在后续步骤自行添加、删除动作权限。

只读对象(含列出对象列表)

读写对象(不含列出对象列表)

读写对象(含列出对象列表)

第二步:配置策略

针对您在第一步选择的被授权用户、指定目录和模板组合,COS 为您在配置策略中自动添加了对应的操作、被授权用户、资源等。其中,当您选择指定用户、指定目录时,需要在配置策略时指定具体的用户 UIN 和目录。

当 COS 提供的推荐模板不符合您的需要时,您也可以在这一步对策略内容进行调整,添加、删除被授权用户、资源和操作。配置项说明如下:

  • 效力:支持选择“允许”或“拒绝”,对应策略语法中的“allow”和“deny”。
  • 用户:支持添加、删除被授权用户,包括所有用户(*)、主账户、子账户和云服务。
  • 资源:支持添加整个存储桶或指定目录资源。
  • 操作:添加、删除您需要授权的操作。
  • 条件:授予权限时指定条件,例如限制用户来访 IP。

0 人点赞