详情页标题前

阿里云对象存储OSSOSS鉴权详解-云淘科技

详情页1

默认情况下,为保证存储在OSS中数据的安全性,OSS资源(包括Bucket和Object)默认为私有权限,只有资源拥有者或被授权的用户允许访问。如果要授权他人访问或使用自己的OSS资源,可以通过多种权限控制策略向他人授予资源的特定权限。仅当所有的权限策略通过OSS鉴权后才允许访问授权资源。

请求类型

请求类型分为非匿名请求和匿名请求两种。

  • 非匿名请求

    在请求头部或在请求URL中携带和身份相关的签名信息。

  • 匿名请求

    在请求头部或在请求URL中未携带任何和身份相关的信息。

非匿名请求鉴权

鉴权说明

收到用户非匿名请求时,OSS会通过身份验证、基于角色的会话策略、基于身份的策略(RAM Policy)、Bucket Policy、Object ACL、Bucket ACL等鉴权结果来判断是允许或拒绝该请求。

阿里云对象存储OSSOSS鉴权详解-云淘科技

以上鉴权流程包含的权限状态说明如下:

  • Allow:允许访问请求,即比对Policy命中了Allow规则。

  • Explicit Deny:显式拒绝访问请求,即比对Policy命中了Deny规则。

  • Implicit Deny:隐式拒绝访问请求,即Policy不存在、比对Policy未命中Allow或Deny规则。

鉴权流程

带身份验证的鉴权流程如下:

  1. 检查身份验证是否成功。

    收到用户请求后,OSS会对请求携带的签名和服务端计算的签名进行比对。

    • 如果请求签名不匹配,则拒绝访问。

    • 如果请求签名匹配,则继续判断是否为基于角色的会话策略。

  2. 判断是否为基于角色的会话策略。

    如果判断结果是基于角色的会话策略,则OSS会对Session Policy进行权限比对。

    • 如果比对结果为Explicit Deny或Implicit Deny,则拒绝访问。

    • 如果比对结果为Allow,则继续检查RAM Policy和Bucket Policy。

    如果判断结果不是基于角色的会话策略,也会继续检查RAM Policy和Bucket Policy。

  3. 分别检查RAM Policy和Bucket Policy。

    RAM Policy是基于身份的策略。您可以使用RAM Policy控制用户可以访问您名下哪些资源的权限。对于用户级别的访问,需要根据请求的账号类别判断允许或拒绝访问请求。

    • 如果使用阿里云账号AccessKey访问,则直接返回Implicit Deny。

    • 如果使用RAM用户AccessKey或STS的AccessKey访问,但是访问的Bucket不属于阿里云账号或者RAM角色Owner,则直接返回Implicit Deny。

    • 如果调用RAM服务提供的鉴权接口对普通请求进行身份鉴权,OSS支持RAM服务通过账号和Bucket所属资源组进行鉴权,则检查返回结果为Allow、Explicit Deny或Implicit Deny。

    Bucket Policy是基于资源的授权策略,Bucket Owner可以通过Bucket Policy为RAM用户或其他账号授权Bucket或Bucket内资源精确的操作权限。

    • 如果未设置Bucket Policy,则直接返回Implicit Deny。

    • 如果设置了Bucket Policy,则检查Bucket Policy返回结果为Allow、Explicit Deny或Implicit Deny。

  4. 检查合并结果中是否存在Explicit Deny策略。

    如果存在Explicit Deny策略,则拒绝访问。如果不存在Explicit Deny策略,则检查是否存在Allow策略。

    1. 检查RAM Policy或Bucket Policy中是否存在Allow策略。

      如果存在Allow策略,则允许访问。如果不存在Allow策略,则判断请求来源。

    2. 判断请求来源。

      如果为管控类API请求,则拒绝访问。如果为数据类API请求,则继续进行Object ACL或Bucket ACL的鉴权。

      管控类API请求包括Service操作(GetService (ListBuckets))、Bucket相关操作(例如PutBucket、GetBucketLifecycle等)、LiveChannel相关操作(例如PutLiveChannel、DeleteLiveChannel等)。

      数据类API请求包括Object相关操作,例如PutObject、GetObject等。

  5. 鉴权Object ACL和Bucket ACL。

    根据Object ACL进行鉴权时,需要结合请求用户是否为Bucket Owner以及请求类型为读请求或写请求进行判断。

    • 如果判断结果为Allow,则允许访问。

    • 如果判断结果为Deny,则拒绝访问。

    如果Object ACL为继承Bucket,则继续检查Bucket ACL。

    根据Bucket ACL进行鉴权时,需要结合请求用户是否为Bucket Owner进行判断。

    • 如果判断结果为Allow,则允许访问。

    • 如果判断结果为Deny,则拒绝访问。

匿名请求鉴权

鉴权说明

收到用户匿名请求时,OSS会跳过身份验证、基于角色的会话策略、RAM Policy等鉴权步骤,只根据Bucket Policy、Object ACL以及Bucket ACL进行鉴权。

阿里云对象存储OSSOSS鉴权详解-云淘科技

鉴权流程

匿名请求鉴权流程如下:

  1. 检查Bucket Policy。

    • 如果判断结果为Deny,则拒绝访问。

    • 如果判断结果为Allow,则允许访问。

    • 如果判断结果为Ignore,则继续检查Object ACL。

  2. 检查Object ACL和Bucket ACL。

    • 如果Object ACL为私有,则判断结果为Deny,并拒绝访问。

    • 如果Object ACL为公共读或公共读写,则判断结果为Allow,并允许访问。

    • 如果Object ACL为继承Bucket,则继续检查Bucket ACL。

      • 如果Bucket ACL为公共读或公共读写,则判断结果为Allow,并允许访问。

      • 如果Bucket ACL为私有,则判断结果为Deny,并拒绝访问。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

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

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

相关推荐

  • 阿里云ECS云服务器CreateSecurityGroup-云淘科技

    调用CreateSecurityGroup新建一个安全组。新建的安全组,默认只允许安全组内的实例互相访问,安全组外的一切通信请求会被拒绝。若您想允许其他安全组实例的通信请求,或者来自互联网的访问请求,需要授权安全组权限(AuthorizeSecurityGroup)。 接口说明 调用该接口时,您需要注意: 在一个阿里云地域下,您最多可以创建100个安全组。 …

    阿里云服务器 2023年12月9日
  • 阿里云RDS数据库申请或释放外网地址-云淘科技

    RDS支持内网地址和外网地址两种地址类型,默认提供内网地址供您内部访问RDS实例,如果需要外网访问,您需要申请外网地址。 内网地址和外网地址 地址类型 说明 内网地址 默认提供内网地址,无需申请,无法释放,可以切换网络类型。 如果您的应用部署在ECS实例,且该ECS实例与RDS实例在同一地域,且网络类型相同,则RDS实例与ECS实例可以通过内网互通,无需申请…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库修改账号权限-云淘科技

    您可以根据需要修改普通账号的权限。高权限账号的权限只能重置为初始状态,无法修改为指定的权限。 说明 如果需要自定义各种权限类型组合或授予某些表级别权限等场景,您可以通过数据管理DMS推出的数据库账号权限管理功能进行灵活管控。详情请参见MySQL数据库账号权限管理。 方法一:在控制台修改普通账号的权限 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。…

    阿里云数据库 2023年12月9日
  • 阿里云ECS云服务器托管安全组-云淘科技

    为了保障云产品的服务可用,并防止您误操作资源。当您使用需要创建安全组的云产品时,云产品系统将选择创建托管模式的安全组,即托管安全组。本文主要介绍托管安全组及相关权限。 背景信息 托管模式下的安全组称为托管安全组。该模式是为了解决部分云产品(例如:云防火墙、NAT网关等)的安全组操作权限控制问题。该类安全组由云产品系统管理,您只有查看权限,没有操作权限。详细说…

    阿里云服务器 2023年12月9日
  • 阿里云对象存储OSSECS实例通过OSS内网地址访问OSS资源-云淘科技

    当您通过OSS内网地址访问OSS资源时,不收取流量费用。本文介绍ECS实例如何通过OSS内网地址访问OSS资源。 通过OSS内网地址访问OSS资源有以下两种方式: 与OSS同地域ECS实例可以直接通过内网访问有权限的OSS资源。 与OSS不同地域的ECS实例或公网用户可通过配置ECS反向代理,间接实现通过OSS内网地址访问OSS资源。 获取OSS内网地址 通…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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