天天看點

MaxCompute安全和管理多租戶安全體系:1、使用者認證2、項目空間的使用者與授權管理基于标簽的安全控制labelsecurity基本操作LabelSecurity注意事項應用場景PackagePackage使用者項目空間的保護機制項目空間保護下的合規資料流出資源分享和資料保護

使用者與角色

多租戶安全體系:

1、使用者認證

MaxCompute賬号體系

MaxCompute支援雲賬号和RAM賬号兩種賬号體系

雲賬号:預設情況下,MaxCompute項目僅能識别阿裡雲賬号系統;

申請阿裡雲賬号-實名認證-建立運作密鑰accesskeys

accesskey由兩部分組成:accesskeyid和accesskeysecret組成,accesskeyid 用于檢索Accesskey,Accesskey用于計算消息簽名

檢視賬号系統指令:

list accountproviders;

RAM賬号:RAM(resource access management)是阿裡雲為客戶提供的使用者身份管理與資源通路控制服務,通過RAM服務,主賬号可以建立、管理使用者賬号(RAM賬号),控制這些使用者賬号對主賬号名下資源具有的操作權限。

從歸屬關系上看,雲賬戶與RAM使用者是一種主子關系。

從權限角度看,雲賬戶與RAM使用者是一種root與user的關系(類比Linux系統)。

MaxCompute僅能識别RAM的賬号體系,不能識别RAM的權限體系;添加RAM

賬号系統指令:

add accountprovider ram;

使用者認證:

使用者認證檢查請求request發送者的真實身份:正确驗證消息發送方的真實身份,正确驗證接收到的消息在途中是否被篡改。

雲賬号認證使用消息簽名機制,可以保證消息在傳輸過程中的完整性integrity和真實性authenticity,目前采用的消息簽名算法是HMAC-SHA1

LVS負載均衡發送accessid MD5簽名-HTTP Server發送accessid MD5簽名-雲賬号伺服器傳回accountid-HTTP Server

項目空間使用者管理:

1、Alice建立一個名為wonderland的項目,自動成為owner;沒有Alice授權,其他任何人都無法通路wonderland;

2、Alice要授權Bob允許他通路wonderland的一些對象:首先bob要有一個合法的雲賬号,然後Alice要把bob的雲賬号加到項目中,最後賦一些對象的權限給bob。

3、alice要禁止Bob通路項目,則直接将他的雲賬号從項目中移除即可,前提是bob沒有被賦予任何角色。

4、bob雖然被移除了項目,但他之前被賦予的權限仍然保留在項目中。下次一旦他被Alice加入到同一個項目,原有的權限将會被自動激活。

角色管理:角色(role)是一組通路權限的集合。

相比owner,admin角色不能将admin角色賦給别的使用者,不能設定項目空間的安全配置,不能修改項目空間的鑒權模型。

角色的限制:admin角色的權限不能被修改;沒被使用的角色才可以被删除。

2、項目空間的使用者與授權管理

授權三要素:主體subject、客體object、操作action

授權兩方法:ACL基于對象的授權;Policy基于政策的授權。

ACL授權客體包括project、table、function、resource、instance。

說明:project類型對象的createtable操作、table類型的select、alter、update、drop操作需要與project對象的create instance操作權限配合使用;當跨項目操作如在項目A裡select項目B的table,則需要有項目A的createinstace和項目B的tableselect權限。

ACL授權:

基本文法:

grant on

權限檢視:

A:表示allow,即允許通路。

D:表示deny,即拒絕通路。

C:表示with Condition,即為帶條件的授權,隻出現在policy授權體系中。

G:表示with grant option,即可以對object進行授權

檢視指定使用者權限:

show grants;檢視目前使用者自己的通路權限

show grants for ;檢視指定使用者的通路權限,僅由projectowner和admin才能執行權限。

檢視指定角色權限:

describe role;檢視指定角色的通路權限角色指派

項目空間的安全配置:鑒權模型配置

使用者管理和授權

基于标簽的安全管理

基于标簽的安全控制

labelsecurity基本操作

LabelSecurity注意事項

應用場景

應用場景2

跨項目空間的資源分享

Package

package是一種跨項目空間共享資料及資源的機制,主要用于解決跨項目空間的使用者授權問題。

建立者(資源提供方)+使用者(資源使用者)=Package機制

Package建立者

Package使用者

例子:

項目空間的資料保護

防止資料流出:

項目空間的保護機制

設定ProjectProtection規則:資料隻能流入,不能流出

set ProjectProtection=true;

設定後,觸犯了ProjectProtection規則的資料流出會被禁止。

預設時,ProjectProtection不會被設定,需要手工開啟。

項目空間保護下的合規資料流出

資源分享和資料保護

MaxCompute安全和管理多租戶安全體系:1、使用者認證2、項目空間的使用者與授權管理基于标簽的安全控制labelsecurity基本操作LabelSecurity注意事項應用場景PackagePackage使用者項目空間的保護機制項目空間保護下的合規資料流出資源分享和資料保護

繼續閱讀