對象存儲(chǔ)手把手教七 | 存儲(chǔ)空間授權(quán)策略 Bucket Policy

作者:池桂梅沿腰, QingStor 存儲(chǔ)產(chǎn)品文檔工程師览徒。主要負(fù)責(zé) QingStor 存儲(chǔ)線的相關(guān)產(chǎn)品的文檔工作。

在第五期的文章中颂龙,我們曾以“喬巴的大包”為例习蓬,講述了 QingStor 對象存儲(chǔ)中關(guān)于數(shù)據(jù)存取及加密相關(guān)的知識纽什。今天,作者將繼續(xù)用“喬巴的大包”來為大家解讀存儲(chǔ)空間的授權(quán)問題友雳。

往期回顧:對象存儲(chǔ)手把手教五 | 數(shù)據(jù)存儲(chǔ)與加密

一 故事背景

隨著航海征程的推進(jìn)稿湿,戰(zhàn)斗隨時(shí)打響,這就意味著傷亡隨時(shí)隨地都會(huì)出現(xiàn)押赊。而作為醫(yī)生的喬巴,救死扶傷包斑,是在所難免的流礁。可是罗丰,根據(jù)戰(zhàn)斗的規(guī)模神帅,比如一兩個(gè)傷亡,喬巴可以應(yīng)付萌抵,傷亡慘重的場景里找御,喬巴也只能急的嗷嗷大叫啊。這個(gè)時(shí)候绍填,給喬巴配備助手霎桅,也是迫在眉睫啊。

草帽海賊團(tuán)招收隊(duì)友的標(biāo)準(zhǔn)讨永,大家是知道的滔驶,一時(shí)半會(huì)兒,上哪兒去找助手配給喬巴呢卿闹?
“其實(shí)揭糕,我只需要一個(gè)人能按照我的要求,領(lǐng)用我背包里面的物品就可以了”锻霎,喬巴如是說著角。

針對喬巴的需求,QingStor 對象存儲(chǔ)這次又能提供怎樣的解決方案呢旋恼?

二 什么是 Policy

QingStor 對象存儲(chǔ)提供 Bucket Policy 用于向其他青云 QingCloud 用戶賦予相應(yīng)存儲(chǔ)空間及其對象的訪問權(quán)限吏口。

也就是說,通過該功能蚌铜,喬巴可以給路飛锨侯,或者娜美等草帽海賊團(tuán)的成員分配權(quán)限,使得他們可以訪問喬巴存儲(chǔ)于 QingStor 對象存儲(chǔ)空間的背包冬殃。但是鑒于該背包內(nèi)物品的重要性的不同囚痴,喬巴需要指明哪些物品是可以隨便拿,哪些物品是只能看看审葬,哪些物品是看都不能看的深滚。

QingStor 對象存儲(chǔ)的 Policy 功能奕谭,完美的解決了喬巴的難題。那具體是怎么做的呢痴荐?下面我們將詳細(xì)說明血柳。

三 如何使用Policy

3.1 Console

為方便操作,QingStor 對象存儲(chǔ)提供了友好的界面應(yīng)用程序生兆,供喬巴來設(shè)置其存儲(chǔ)空間的 Policy难捌。詳細(xì)步驟如下:

步驟1: 進(jìn)入 QingCloud 的主頁面,點(diǎn)擊“產(chǎn)品服務(wù) -> 存儲(chǔ)服務(wù) -> 對象存儲(chǔ)”:

步驟2: 進(jìn)入 QingStor 對象存儲(chǔ)空間列表頁面鸦难,點(diǎn)擊待操作的存儲(chǔ)空間:

步驟3: 進(jìn)入存儲(chǔ)空間詳細(xì)頁面后铆铆,點(diǎn)擊“設(shè)置 -> 存儲(chǔ)空間策略 -> 添加規(guī)則”:

步驟4: 進(jìn)入策略設(shè)置頁面患蹂,根據(jù)提示信息,填寫相關(guān)參數(shù),點(diǎn)擊保存即可:

通過設(shè)置 “響應(yīng)動(dòng)作” 坐搔,“用戶” 以及 “操作”拳氢,喬巴可以給指定的隊(duì)友賦予可執(zhí)行或不可執(zhí)行某項(xiàng)動(dòng)作的權(quán)限践剂。通過設(shè)置 “Referer” 來指定該權(quán)限適用的具體物品弓摘。

如喬巴需要給娜美賦予可以獲取整個(gè)背包內(nèi)的物品的權(quán)限,設(shè)置后的規(guī)則如下:

由于路飛比較粗心刃宵,喬巴要拒絕路飛獲取背包內(nèi)的物品衡瓶,設(shè)置后的規(guī)則如下:

3.2 API

QingStor 對象存儲(chǔ)也提供 API,供喬巴來設(shè)置其存儲(chǔ)空間的 Policy组去。

3.2.1 GET Bucket Policy

若喬巴想查看當(dāng)前存儲(chǔ)空間已經(jīng)設(shè)置的存儲(chǔ)空間 Policy鞍陨,可以使用 GET Bucket Policy,無需攜帶多余的信息从隆。但是被賦予該存儲(chǔ)空間訪問權(quán)限的娜美诚撵,就不能使用該 API 來獲取喬巴已經(jīng)設(shè)置的存儲(chǔ)空間 Policy 了。

從存儲(chǔ)空間安全的角度考慮键闺,QingStor 對象存儲(chǔ)僅允許存儲(chǔ)空間的所有者調(diào)用該 API寿烟。

具體可以這樣做:

請求示例:

GET /?policy HTTP/1.1
Host: mybucket.pek3a.qingstor.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Authorization: authorization string

響應(yīng)示例:

HTTP/1.1 200 OK
Server: QingStor
Date: Sun, 16 Aug 2015 09:05:02 GMT
Content-Length: 300
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b
{
    "statement": [
        {
            "id": "allow everyone to get and create objects",
            "user": "*",
            "action": ["get_object", "create_object"],
            "effect": "allow",
            "resource": ["mybucket/*"],
            "condition":{
                "string_like": {
                    "Referer": ["*.example1.com", "*.example2.com"]
                }
            }
        },
        {
            "id": "allow everyone to head bucket",
            "user": "*",
            "action": "head_bucket",
            "effect": "allow",
            "condition":{
                "string_like": {
                    "Referer": ["*.example3.com", "*.example4.com"]
                },
                "string_not_like": {
                    "Referer": ["*.service.example3.com"]
                }
            } 
        }
    ]
}

3.2.2 PUT Bucket Policy

若當(dāng)前存儲(chǔ)空間沒有設(shè)置相應(yīng)的 Policy,或已經(jīng)設(shè)置的 Policy 滿足不了喬巴的需求辛燥,這個(gè)時(shí)候筛武,喬巴可以使用 PUT Bucket Policy 來設(shè)置新的存儲(chǔ)空間策略。但是挎塌,被賦予該存儲(chǔ)空間訪問權(quán)限的娜美徘六,就不能使用該 API 來設(shè)置喬巴的存儲(chǔ)空間 Policy 了。

使用該 API 時(shí)榴都,消息體需攜帶詳細(xì)的 Policy 參數(shù)待锈,用以設(shè)置 Policy。參數(shù)列表如下:

具體可以這樣做:

請求示例:

PUT /?policy HTTP/1.1
Host: mybucket.pek3a.qingstor.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Content-Length: 300
Authorization: authorization string
{
    "statement": [
        {
            "id": "allow certain site to get objects",
            "user": "*",
            "action": ["get_object"],
            "effect": "allow",
            "resource": ["mybucket/*"],
            "condition": {
                "string_like": {
                    "Referer": [
                        "*.example1.com",
                        "*.example2.com"
                    ]
                }
            }
        },
        {
            "id": "allow user-henry to list objects and create objects",
            "user": "user-henry",
            "action": ["list_objects", "create_object"],
            "resource": ["mybucket/*"],
            "effect": "allow"
        }
    ]
}

響應(yīng)示例:

HTTP/1.1 200 OK
Server: QingStor
Date: Sun, 16 Aug 2015 09:05:02 GMT
Content-Length: 0
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b

3.2.3 DELETE Bucket Policy

若當(dāng)前存儲(chǔ)空間已經(jīng)設(shè)置的 Policy 滿足不了喬巴的需求嘴高,這個(gè)時(shí)候竿音,喬巴可以使用 DELETE Bucket Policy 來刪除已有的存儲(chǔ)空間策略和屎。但是,被賦予該存儲(chǔ)空間訪問權(quán)限的娜美春瞬,就不能使用該 API 來刪除喬巴的存儲(chǔ)空間 Policy 了柴信。

喬巴刪除自己的存儲(chǔ)空間策略,無需攜帶額外的信息宽气。具體可以這樣做:

請求示例:

DELETE /?policy HTTP/1.1
Host: mybucket.pek3a.qingstor.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Authorization: authorization string

響應(yīng)示例:

HTTP/1.1 204 NoContent
Server: QingStor
Date: Sun, 16 Aug 2015 09:05:02 GMT
Content-Length: 0
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b

四 結(jié)尾

喬巴使用這個(gè)功能随常,詳細(xì)的設(shè)置了各位隊(duì)友的權(quán)限,比如路飛不能訪問背包抹竹;比如佐隆可以從背包里獲取消炎藥线罕,治療刀傷砍傷的藥;比如喬治可以從背包里獲取治療燙傷的藥等等窃判。

通過 QingStor 對象存儲(chǔ)的 Policy 功能,詳細(xì)而又完善的設(shè)置了各位隊(duì)友操作這個(gè)背包的權(quán)限喇闸。使得在緊急時(shí)刻袄琳,各位隊(duì)友都能方便的拿到自己可以拿到的物品,以協(xié)助喬巴來救治傷員燃乍。

QingStor 對象存儲(chǔ)在這里提醒各位唆樊,只有存儲(chǔ)空間的所有者,才能使用該項(xiàng)功能哦刻蟹!

更多文章

存儲(chǔ)大師班

對象存儲(chǔ)手把手教五 | 數(shù)據(jù)存取與加密

gg: 像寫 Golang 一樣生成代碼

QingStor 招聘存儲(chǔ)測試/運(yùn)維/研發(fā)工程師

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布逗旁!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市舆瘪,隨后出現(xiàn)的幾起案子片效,更是在濱河造成了極大的恐慌,老刑警劉巖英古,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淀衣,死亡現(xiàn)場離奇詭異,居然都是意外死亡召调,警方通過查閱死者的電腦和手機(jī)膨桥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唠叛,“玉大人只嚣,你說我怎么就攤上這事∫照樱” “怎么了册舞?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長澳厢。 經(jīng)常有香客問我环础,道長囚似,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任线得,我火速辦了婚禮饶唤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贯钩。我一直安慰自己募狂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布角雷。 她就那樣靜靜地躺著祸穷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勺三。 梳的紋絲不亂的頭發(fā)上雷滚,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音吗坚,去河邊找鬼祈远。 笑死,一個(gè)胖子當(dāng)著我的面吹牛商源,可吹牛的內(nèi)容都是我干的车份。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼牡彻,長吁一口氣:“原來是場噩夢啊……” “哼扫沼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起庄吼,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤缎除,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后霸褒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伴找,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年废菱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了技矮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡殊轴,死狀恐怖衰倦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旁理,我是刑警寧澤樊零,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響驻襟,放射性物質(zhì)發(fā)生泄漏夺艰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一沉衣、第九天 我趴在偏房一處隱蔽的房頂上張望郁副。 院中可真熱鬧,春花似錦豌习、人聲如沸存谎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽既荚。三九已至,卻和暖如春栋艳,著一層夾襖步出監(jiān)牢的瞬間恰聘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工吸占, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憨琳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓旬昭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親菌湃。 傳聞我的和親對象是個(gè)殘疾皇子问拘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容