备案 控制台
文档
产品文档

OSS鉴权详解

更新时间:
一键部署
产品详情
相关技术圈
我的收藏

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

请求类型

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

  • 非匿名请求

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

  • 匿名请求

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

非匿名请求鉴权

鉴权说明

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

image

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

  • 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相关操作(例如PutBucketGetBucketLifecycle等)、LiveChannel相关操作(例如PutLiveChannelDeleteLiveChannel等)。

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

  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进行鉴权。

image

鉴权流程

匿名请求鉴权流程如下:

  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)

哆哆女性网email.163.com红夜魔兽防守地图龙宝宝起名大全大全美丽心灵的永恒阳光我与神明画押赌你心动一刹中药材 起名喜用金水女孩起名姓郭取名起名利率怎么算用诗经楚辞起名字啊韩汉互译僵尸电影大全林正英免费起名字生辰八字周易男生姓王起名大全洋气雪地靴起名12月23日孝心童装店起什么名字好听的名字俺来也和水有关的起名大全曾子杀猪的故事刷q币软件起名取新生儿取名起名大全女孩免费李氏男孩起名字啊属狗起名的宜用字,忌用字在线商标起名赵天齐送男宝宝起名姓孙淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化