详情页标题前

腾讯云对象存储访问控制基本概念

详情页1

在默认情况下,腾讯云对象存储(Cloud Object Storage,COS)中的资源(存储桶和对象)都是私有的。只有腾讯云主账号(资源拥有者)才可以访问、修改存储桶和对象,其他用户(子账号、匿名用户等),在未授权的情况下都无法直接通过 URL 访问对象。创建腾讯云子账号后,您可以通过访问策略为子账号授权;若需要将资源开放给非腾讯云用户,可以通过设置资源(存储桶、对象、目录)的公共权限(公有读)实现。

腾讯云对象存储访问控制基本概念



访问控制的元素

授予访问权限,指的是用户可以决定什么人、在何种条件下、对哪些资源、执行具体操作的控制能力组合。因此描述一个访问权限行为,通常包括四个元素:身份、资源、操作、条件(可选)

腾讯云对象存储访问控制基本概念



访问权限的元素

腾讯云的身份(Principal)

用户申请腾讯云账号时,系统会创建一个用于登录腾讯云服务的主账号身份。腾讯云主账号可通过用户管理功能对具有不同职责的分类用户进行管理。用户类型包括 协作者、消息接收人、子用户和角色 等,具体定义请参见访问管理的 用户类型词汇表 文档说明 假设您希望为企业的某位同事进行授权,首先需要在 访问管理控制台 创建一个子用户,选择 存储桶策略ACL用户策略 中的一个或多个途径为子用户设置具体的权限。

对象存储的资源(Resource)

存储桶 Bucket 和对象 Object 是对象存储的基本资源,其中文件夹是一种特殊的对象,您可以通过文件夹对文件夹下的对象进行授权,详情请参见 设置文件夹权限此外,存储桶和对象都有与之相关的子资源。存储桶的子资源包括:acl 和 policy:存储桶的访问控制信息。website:存储桶的静态网站托管配置。tagging:存储桶的标签信息。cors:存储桶的跨域配置信息。lifecycle:存储桶的生命周期配置信息。对象的子资源包括:acl:对象的访问控制信息。restore:归档类型对象的恢复配置。

对象存储的操作(Action)

对象存储提供了一系列针对资源的 API 操作,详情请参见 操作列表 文档。

对象存储的条件(Condition,可选)

可选项,权限生效的条件,例如 vpc、vip 等,详情请参见访问管理的 生效条件

私有原则

说明 在默认情况下,腾讯云对象存储 COS 中的资源都是私有的。资源拥有者(创建存储桶资源的腾讯云主账号)具备对该资源的最高权限,资源拥有者可以编辑和修改访问策略,为其他人或匿名用户授予访问权限。使用腾讯云 访问管理(Cloud Access Management,CAM) 账号创建存储桶或上传对象时,其父级主账号就是资源拥有者。存储桶拥有者的主账号可以授予其他腾讯云主账号上传对象的权限(即跨账号上传),这种情况下,对象的拥有者仍然是存储桶拥有者的主账号。

访问控制的多种途径

COS 提供多种设置权限的方式实现访问控制,包括存储桶策略、用户策略(CAM 策略)、存储桶 ACL 和对象 ACL。按照策略设置的出发点,可以分为基于资源和基于用户两种方式;按照授权方式,可以分为策略和 ACL 两种方式。

腾讯云对象存储访问控制基本概念


分类方法一:基于资源 vs 基于用户

腾讯云对象存储访问控制基本概念

以资源为出发点:将权限关联在具体的资源上,包括存储桶策略、存储桶 ACL 和对象 ACL,在 COS 控制台或通过 COS API 配置。以用户为出发点:用户策略(CAM 策略),将权限关联在用户上,填写策略时不需要填写用户,需要指定资源、操作、条件等,在 CAM 控制台 配置。分类方法二:策略 vs ACL

腾讯云对象存储访问控制基本概念

策略:用户策略(CAM 策略)和存储桶策略,都是基于完整的策略语法进行授权的,授权的动作细化到了每个 API 对应的动作,支持指定允许/拒绝效力。ACL:存储桶 ACL 和对象 ACL 都是基于访问控制列表(ACL)实现的。ACL 是与资源关联的一个指定被授权者和授予权限的列表,对应经过整理和抽象的权限,仅支持指定允许效力。

基于资源的策略

基于资源的策略包括存储桶策略、存储桶 ACL 和对象 ACL 三类,支持在存储桶对象维度分别进行访问控制,具体请参照下表:

维度 类型 描述方式 支持的身份 支持的资源粒度 支持的操作 支持的效力
Bucket 访问策略语言(Policy) JSON 子账号、角色、腾讯云服务、其他主账号、匿名用户等 存储桶、对象、前缀等 每一个具体的操作 允许/显式拒绝
Bucket 访问控制列表(ACL) XML 其他主账号、子账号、匿名用户 存储桶 经过整理的读写权限 仅允许
Object 访问控制列表(ACL) XML 其他主账号、子账号、匿名用户 对象 经过整理的读写权限 仅允许

存储桶策略(Bucket Policy)

存储桶策略(Bucket Policy)使用 JSON 语言描述,支持向匿名身份或腾讯云任何 CAM 账户授予对存储桶、存储桶操作、对象或对象操作的权限,在腾讯云 COS 中存储桶策略可以用于管理该存储桶内的几乎所有操作,推荐您使用存储桶策略来管理通过 ACL 无法表述的访问策略。更多内容可参考 存储桶策略 文档。注意腾讯云主账号具备对其名下资源(包括存储桶)的最大权限,您虽然可以在存储桶策略中限制几乎所有操作,但主账号始终具备 PUT Bucket Policy 操作的权限,主账号调用该操作不检查存储桶策略。以下是一个许可匿名用户访问位于广州的存储桶examplebucket-1250000000中所有对象的策略,无需签名校验即可下载存储桶中的所有对象(GetObject),即任何知晓 URL 的匿名用户都可以下载对象(类似于公有读方式):

{  "Statement": [    {      "Principal": "*",      "Effect": "Allow",      "Action": ["cos:GetObject"],      "Resource": ["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"]    }  ],  "Version": "2.0"}

访问控制列表(ACL)

访问控制列表(ACL)使用 XML 语言描述,是与资源关联的一个指定被授权者和授予权限的列表,每个存储桶和对象都有与之关联的 ACL,支持向匿名用户或其他腾讯云的主账号授予基本的读写权限。更多内容可参考 ACL 文档。注意 资源的拥有者始终对资源具备 FULL_CONTROL 权限,而无论下发的 ACL 中是否描述了此项。以下是一个存储桶 ACL 的示例,描述了存储桶拥有者(用户 UIN:100000000001)的完全控制权限:

      qcs::cam::uin/100000000001:uin/100000000001                      qcs::cam::uin/100000000001:uin/100000000001            FULL_CONTROL      

以下是一个对象 ACL 的示例,描述了对象拥有者(用户 UIN:100000000001)的完整控制权限,并授予了所有人可读(匿名用户公有读)的权限:

      qcs::cam::uin/100000000001:uin/100000000001                      qcs::cam::uin/100000000001:uin/100000000001            FULL_CONTROL                      http://cam.qcloud.com/groups/global/AllUsers            READ      

用户策略

用户可以在 CAM 中,对于主账号名下的不同类型用户,授予不同的权限。用户策略与存储桶策略的最大差别是:用户策略只描述效力(Effect)、操作(Action)、资源(Resource)和条件(Condition,可选),不描述身份(Principal)。因此用户策略需要撰写完成后,再对子用户、用户组或角色执行关联操作,以及用户策略不支持将操作和资源权限授予匿名用户。您可以 使用预设策略进行关联授权,也可以 自行撰写用户策略 后关联到指定的身份,来实现对名下用户的访问管理。更多内容可参考 用户策略 文档。以下是一个授权位于广州的存储桶 examplebucket-1250000000 所有 COS 操作的策略,您需要将策略保存后再关联到 CAM 子用户、用户组或角色方可生效:

{  "Statement": [    {      "Effect": "Allow",      "Action": ["cos:*"],      "Resource": [          "qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*",          "qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/"      ]    }  ],  "Version": "2.0"}



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144758.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云负载均衡访问日志仪表盘

    负载均衡提供了开箱即用的访问日志仪表盘。您将访问日志配置到日志服务 CLS 后,负载均衡将自动为访问日志配置仪表盘,以图表形式分析访问日志,实现在负载均衡控制台全面观测、分析、定位问题的能力。 仪表盘介绍 每个日志主题对应一个仪表盘,每个仪表盘包含以下数据指标图表:PVUV请求报文流量返回客户端流量平均请求时间平均响应时间后端服务返回的状态码分布总状态码分布…

    2023年12月9日
  • 腾讯云轻量应用服务器如何将本地文件拷贝到轻量应用服务器云小二

    本文介绍如何将您本地的文件拷贝至轻量应用服务器,或将轻量应用服务器上的文件下载至本地。 选择传输方式 远程连接管理 您可通过远程连接管理,使用浏览器一键可视化将本地文件上传到轻量应用服务器,或将服务器文件下载到本地。 操作方式 使用限制 使用 OrcaTerm 登录轻量应用服务器时上传/下载文件 上传文件大小限制为200MB下载文件大小限制为200MB …

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云轻量应用服务器Windows 实例离线重置密码失败或无效问题排查云小二

    本文档以 Windows Server 2012 R2 操作系统为例,介绍 Windows 轻量应用服务器实例因重置密码失败或者不生效的排查方法和解决方案。 现象描述 重置实例密码后,提示由于系统繁忙,您的实例重置实例密码失败(7617d94c)。重置实例密码后,新密码不生效,登录密码仍为原密码。 可能原因 导致重置实例密码失败或者不生效的可能原因如下:轻量…

    2023年12月9日
  • 阿里云RDS数据库SQL命令管理数据库-云淘科技

    本文介绍如何使用SQL命令在RDS SQL Server实例中创建和管理数据库。 前提条件 实例版本需为RDS SQL Server 2012及以上版本。 创建数据库 执行如下命令,创建数据库: CREATE DATABASE TestDb 说明 在RDS SQL Server实例中创建数据库时会产生默认路径,请您不要指定任何文件的路径。 您可以执行以下命令…

    阿里云数据库 2023年12月9日
  • 腾讯云弹性伸缩定时任务执行时间说明

    单次任务 单次任务只会在执行开始时间执行一次,因此不需要设置执行结束时间和重复方式。  重复任务 重复任务需要设置执行开始时间,执行结束时间和重复方式Recurrence参数。重复任务会在执行开始时间执行第一次,后续按照Recurrence参数的配置进行若干次重复,直至执行结束时间。Recurrence参数的取值为 Cron 表达式字符串。 Cron表…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。