基于Bucket Policy實現(xiàn)跨部門數(shù)據(jù)共享
企業(yè)不同部門或項目之間需要共享數(shù)據(jù),本部門允許其他部門的用戶下載共享數(shù)據(jù),禁止寫入和刪除數(shù)據(jù),以降低共享數(shù)據(jù)被誤刪、篡改的風險。
背景信息
部門A將存儲在example-bucket存儲空間(Bucket)中的數(shù)據(jù)共享給部門B的用戶,并允許部門B的用戶下載數(shù)據(jù)。本文介紹如何以最小權限原則對共享數(shù)據(jù)進行權限控制。在本場景下兩個部門的管理員、用戶與共享存儲空間之間的邏輯關系如下圖所示。
實現(xiàn)流程
在此場景下,A部門的管理員可以通過配置Bucket Policy,授予B部門用戶允許下載,但禁止寫入和刪除共享數(shù)據(jù)的權限。具體配置流程如下:
A部門管理員創(chuàng)建一個用于共享數(shù)據(jù)的Bucket(example-bucket)。
A部門管理員通過Bucket Policy,授權本部門用戶上傳共享數(shù)據(jù)的權限。
A部門管理員通過配置Bucket Policy,授權B部門用戶允許下載、禁止寫入和刪除的權限。
A部門用戶上傳數(shù)據(jù)到example-bucket。
驗證B部門用戶對共享數(shù)據(jù)僅擁有下載權限、但無法對共享數(shù)據(jù)進行寫入和刪除操作。
前提條件
企業(yè)賬號已通過訪問控制RAM創(chuàng)建A部門管理員用戶及其普通用戶、B部門管理員用戶及其普通用戶。
具體操作,請參見創(chuàng)建RAM用戶。
已獲取RAM用戶UID。具體操作,請參見查看RAM用戶信息。
已為RAM用戶授權
在創(chuàng)建管理員用戶時,A部門的管理員由于要執(zhí)行創(chuàng)建Bucket、配置Bucket Policy等操作,因此需要管理員所屬用戶組具有AliyunOSSFullAccess權限。具體操作,請參見為RAM用戶授權。
步驟1:創(chuàng)建Bucket
A部門管理員在華東1(杭州)地域創(chuàng)建Bucket。具體步驟如下:
使用A部門管理員賬號登錄OSS管理控制臺。
單擊Bucket 列表,然后單擊創(chuàng)建 Bucket。
在創(chuàng)建 Bucket面板,配置Bucket參數(shù)。
結合本示例場景,請將Bucket命名為example-bucket。關于配置Bucket其他各項參數(shù)的更多信息,請參見創(chuàng)建存儲空間。
單擊完成創(chuàng)建。
步驟2:授予上傳權限
部門A的管理員為本部門的用戶配置允許上傳共享數(shù)據(jù)的權限。具體步驟如下:
單擊步驟1中創(chuàng)建的example-bucket。
在左側導航欄,選擇 。
在Bucket 授權策略頁面的按圖形策略添加頁簽,單擊新增授權。
在新增授權面板,按說明配置以下參數(shù),其他參數(shù)保留默認配置。
配置項
說明
授權資源
選擇整個Bucket,授權策略對整個Bucket生效。
授權用戶
選擇子賬號。
您可以從下拉菜單中選擇部門A管理員賬號下允許上傳數(shù)據(jù)的用戶賬號。如果部門A管理員下的用戶賬號較多時,您也可以直接在搜索框輸入子賬號名稱,搜索支持模糊匹配。
授權操作
選擇簡單設置后,單擊讀/寫。
表示被授權用戶可以對指定資源執(zhí)行讀取和寫入操作。
單擊確定。
此時,允許A部門用戶上傳數(shù)據(jù)的權限配置完成。
步驟3:授予允許下載、禁止寫入和刪除的權限
部門A的管理員為部門B的用戶配置允許下載共享數(shù)據(jù)的權限。具體步驟如下:
單擊步驟1中創(chuàng)建的example-bucket。
在左側導航欄,選擇 。
在Bucket 授權策略頁面的按圖形策略添加頁簽,單擊新增授權。
在新增授權面板,按說明配置以下參數(shù),其他參數(shù)保留默認配置。
配置項
說明
授權資源
選擇整個Bucket,授權策略對整個Bucket生效。
授權用戶
選擇其他賬號:輸入被授權下載共享數(shù)據(jù)B用戶的UID。
授權操作
選擇簡單設置后,單擊只讀(包括ListObject)操作。
表示對共享資源example-bucket中的數(shù)據(jù)擁有查看、列舉及下載權限,但無法對共享數(shù)據(jù)執(zhí)行寫入和刪除操作。
單擊確定。
此時,部門A的管理員為部門B的用戶配置授予允許下載、禁止寫入和刪除的權限已完成。
步驟4:上傳數(shù)據(jù)
A部門用戶上傳數(shù)據(jù)到example-bucket。具體步驟如下:
步驟5:驗證權限
權限授予成功后,通過OSS控制臺驗證B部門用戶對共享數(shù)據(jù)僅擁有下載權限、但無法對共享數(shù)據(jù)進行寫入和刪除操作。
使用B部門用戶賬號登錄OSS管理控制臺。
通過
https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object
進入文件列表頁面。在文件列表頁面,驗證以下權限。
驗證B部門用戶對共享數(shù)據(jù)的下載權限。
單擊example-bucket中任意目標文件右側的
。下載失敗,表示下載權限配置失敗,請檢查權限配置是否正確。
下載成功,表示下載權限配置成功。
驗證B部門用戶對共享數(shù)據(jù)的上傳權限。
參考步驟4上傳文件。
上傳失敗,表示上傳權限配置成功。
上傳成功,表示上傳權限配置失敗,請檢查權限配置是否正確。
驗證B部門用戶對共享數(shù)據(jù)的刪除權限。
單擊example-bucket中任意目標文件右側的
。刪除失敗,表示刪除權限配置成功。
刪除成功,表示刪除權限配置失敗,請檢查權限配置是否正確。