日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

OSS鑒權(quán)詳解

更新時(shí)間:

默認(rèn)情況下,為保證存儲(chǔ)在OSS中數(shù)據(jù)的安全性,OSS資源(包括BucketObject)默認(rèn)為私有權(quán)限,只有資源擁有者或被授權(quán)的用戶允許訪問。如果要授權(quán)他人訪問或使用自己的OSS資源,可以通過多種權(quán)限控制策略向他人授予資源的特定權(quán)限。僅當(dāng)所有的權(quán)限策略通過OSS鑒權(quán)后才允許訪問授權(quán)資源。

請(qǐng)求類型

請(qǐng)求類型分為非匿名請(qǐng)求和匿名請(qǐng)求兩種。

  • 非匿名請(qǐng)求

    在請(qǐng)求頭部或在請(qǐng)求URL中攜帶和身份相關(guān)的簽名信息。

  • 匿名請(qǐng)求

    在請(qǐng)求頭部或在請(qǐng)求URL中未攜帶任何和身份相關(guān)的信息。

非匿名請(qǐng)求鑒權(quán)

鑒權(quán)說明

收到用戶非匿名請(qǐng)求時(shí),OSS會(huì)通過身份驗(yàn)證、基于角色的會(huì)話策略、基于身份的策略(RAM Policy)、Bucket Policy、Object ACL、Bucket ACL等鑒權(quán)結(jié)果來判斷是允許或拒絕該請(qǐng)求。

image

以上鑒權(quán)流程包含的權(quán)限狀態(tài)說明如下:

  • Allow:允許訪問請(qǐng)求,即比對(duì)Policy命中了Allow規(guī)則。

  • Explicit Deny:顯式拒絕訪問請(qǐng)求,即比對(duì)Policy命中了Deny規(guī)則。

  • Implicit Deny:隱式拒絕訪問請(qǐng)求,即Policy不存在、比對(duì)Policy未命中AllowDeny規(guī)則。

鑒權(quán)流程

帶身份驗(yàn)證的鑒權(quán)流程如下:

  1. 檢查身份驗(yàn)證是否成功。

    收到用戶請(qǐng)求后,OSS會(huì)對(duì)請(qǐng)求攜帶的簽名和服務(wù)端計(jì)算的簽名進(jìn)行比對(duì)。

    • 如果請(qǐng)求簽名不匹配,則拒絕訪問。

    • 如果請(qǐng)求簽名匹配,則繼續(xù)判斷是否為基于角色的會(huì)話策略。

  2. 判斷是否為基于角色的會(huì)話策略。

    如果判斷結(jié)果是基于角色的會(huì)話策略,則OSS會(huì)對(duì)Session Policy進(jìn)行權(quán)限比對(duì)。

    • 如果比對(duì)結(jié)果為Explicit DenyImplicit Deny,則拒絕訪問。

    • 如果比對(duì)結(jié)果為Allow,則繼續(xù)檢查RAM PolicyBucket Policy。

    如果判斷結(jié)果不是基于角色的會(huì)話策略,也會(huì)繼續(xù)檢查RAM PolicyBucket Policy。

  3. 分別檢查RAM PolicyBucket Policy。

    RAM Policy是基于身份的策略。您可以使用RAM Policy控制用戶可以訪問您名下哪些資源的權(quán)限。對(duì)于用戶級(jí)別的訪問,需要根據(jù)請(qǐng)求的賬號(hào)類別判斷允許或拒絕訪問請(qǐng)求。

    • 如果使用阿里云賬號(hào)AccessKey訪問,則直接返回Implicit Deny。

    • 如果使用RAM用戶AccessKeySTSAccessKey訪問,但是訪問的Bucket不屬于阿里云賬號(hào)或者RAM角色Owner,則直接返回Implicit Deny。

    • 如果調(diào)用RAM服務(wù)提供的鑒權(quán)接口對(duì)普通請(qǐng)求進(jìn)行身份鑒權(quán),OSS支持RAM服務(wù)通過賬號(hào)和Bucket所屬資源組進(jìn)行鑒權(quán),則檢查返回結(jié)果為Allow、Explicit DenyImplicit Deny。

    Bucket Policy是基于資源的授權(quán)策略,Bucket Owner可以通過Bucket PolicyRAM用戶或其他賬號(hào)授權(quán)BucketBucket內(nèi)資源精確的操作權(quán)限。

    • 如果未設(shè)置Bucket Policy,則直接返回Implicit Deny。

    • 如果設(shè)置了Bucket Policy,則檢查Bucket Policy返回結(jié)果為Allow、Explicit DenyImplicit Deny。

  4. 檢查合并結(jié)果中是否存在Explicit Deny策略。

    如果存在Explicit Deny策略,則拒絕訪問。如果不存在Explicit Deny策略,則檢查是否存在Allow策略。

    1. 檢查RAM PolicyBucket Policy中是否存在Allow策略。

      如果存在Allow策略,則允許訪問。如果不存在Allow策略,則判斷請(qǐng)求來源。

    2. 判斷請(qǐng)求來源。

      如果為管控類API請(qǐng)求,則拒絕訪問。如果為數(shù)據(jù)類API請(qǐng)求,則繼續(xù)進(jìn)行Object ACLBucket ACL的鑒權(quán)。

      管控類API請(qǐng)求包括Service操作(GetService (ListBuckets))、Bucket相關(guān)操作(例如PutBucketGetBucketLifecycle等)、LiveChannel相關(guān)操作(例如PutLiveChannelDeleteLiveChannel等)。

      數(shù)據(jù)類API請(qǐng)求包括Object相關(guān)操作,例如PutObjectGetObject等。

  5. 鑒權(quán)Object ACLBucket ACL。

    根據(jù)Object ACL進(jìn)行鑒權(quán)時(shí),需要結(jié)合請(qǐng)求用戶是否為Bucket Owner以及請(qǐng)求類型為讀請(qǐng)求或?qū)懻?qǐng)求進(jìn)行判斷。

    • 如果判斷結(jié)果為Allow,則允許訪問。

    • 如果判斷結(jié)果為Deny,則拒絕訪問。

    如果Object ACL為繼承Bucket,則繼續(xù)檢查Bucket ACL。

    根據(jù)Bucket ACL進(jìn)行鑒權(quán)時(shí),需要結(jié)合請(qǐng)求用戶是否為Bucket Owner進(jìn)行判斷。

    • 如果判斷結(jié)果為Allow,則允許訪問。

    • 如果判斷結(jié)果為Deny,則拒絕訪問。

匿名請(qǐng)求鑒權(quán)

鑒權(quán)說明

收到用戶匿名請(qǐng)求時(shí),OSS會(huì)跳過身份驗(yàn)證、基于角色的會(huì)話策略、RAM Policy等鑒權(quán)步驟,只根據(jù)Bucket Policy、Object ACL以及Bucket ACL進(jìn)行鑒權(quán)。

image

鑒權(quán)流程

匿名請(qǐng)求鑒權(quán)流程如下:

  1. 檢查Bucket Policy。

    • 如果判斷結(jié)果為Deny,則拒絕訪問。

    • 如果判斷結(jié)果為Allow,則允許訪問。

    • 如果判斷結(jié)果為Ignore,則繼續(xù)檢查Object ACL。

  2. 檢查Object ACLBucket ACL。

    • 如果Object ACL為私有,則判斷結(jié)果為Deny,并拒絕訪問。

    • 如果Object ACL為公共讀或公共讀寫,則判斷結(jié)果為Allow,并允許訪問。

    • 如果Object ACL為繼承Bucket,則繼續(xù)檢查Bucket ACL。

      • 如果Bucket ACL為公共讀或公共讀寫,則判斷結(jié)果為Allow,并允許訪問。

      • 如果Bucket ACL為私有,則判斷結(jié)果為Deny,并拒絕訪問。