標籤:

MaxCompute數據安全機制

和傳統的計算平台類似,MaxCompute使用多租戶隔離租戶間的數據。租戶內利用訪問控制保護用戶數據。但是作為一個雲計算、大數據平台,MaxCompute在實現時做了一系列的創新。這些創新主要體現在三個方面:1、訪問可追溯;2、更細粒度的訪問控制;3、跨租戶訪問控制。 訪問可追溯 傳統的計算平台都會內建一個賬號系統。用戶以平台內賬號連接計算平台、提交作業。平台的許可權控制和審計也使用內部賬號而不是真實的用戶。MaxCompute作為aliyun的一個產品,直接使用阿里雲官網的賬號系統。這使得請求的主體更加的真實。用戶必須用官網頒發的AccessId請求MaxCompute。MaxCompute通過阿里雲官網的身份認證系統確認請求者身份;利用共享密鑰機制防止「中間人攻擊」。因此MaxCompute所有數據訪問以及審計記錄都更加準確的體現訪問者的真實身份。

圖1、傳統的訪問控制

圖2、MaxCompute的訪問控制

細粒度的訪問控制

MaxCompute以項目為租戶單位,支持acl和policy這兩種常規的訪問控制模型。Acl和policy的訪問控制只到對象這一級,例如udf、表、jar包等。對於項目空間內最為重要的資源-表,MaxCompute還提供了列級別訪問控制-labelsecurity。Labelsecurity以強制訪問控制的形式存在MaxCompute整個訪問控制體系中。如圖3,租戶一旦配置了LabelSecurity,訪問者除了有acl或者policy的許可權外,還必須要有欄位的label許可權才能讀對應的數據。

圖3、 LabelSecurity與ACL、Policy的區別

為方便這種細粒度訪問控制的管理,labelsecurity的許可權管理採用了多級安全管理模型。如圖4,租戶的管理者根據機密等級給用戶和表的欄位設置label。用戶不需要label授權就可以訪問比自己label低的欄位。但是如果需要訪問比自己label高的欄位就需要授權

圖4、 labelsecurity多級安全管理

跨租戶訪問控制

MaxCompute引入租戶的目的是為了隔離租戶之間的數據。在實際使用時,實體組織為了數據安全會在MaxCompute創建多個租戶,以此在更高層次上防止組織內的成員訪問未經授權的數據。但是這種安全機制會引入一個問題,在特定場景下部分作業需要聯合查詢旗下多個租戶內的數據。傳統計算平台解決這個額外難題的做法可能會是:1、組織內先進行許可權審批;2、完成審批後再把數據導入到其中一個租戶內,如圖5;3、再執行作業。在大數據場景下,數據的導入導出會很佔用資源,並且數據的時效性也會打折扣。為此MaxCompute設計了兩種跨租戶的訪問控制。Package和項目空間trusted。

圖5 傳統計算平台跨租戶數據訪問

  • Package:

Package類似文件系統中的軟鏈接。租戶A創建一個package,向package中加入資源,同時設定資源可訪問的許可權。經過租戶A授權後,租戶B可以安裝該package,此時就完成了外部資源的導入。後續租戶B可以把package作為一種項目空間內的資源授權給項目空間內的用戶。採用這種軟鏈接模式,租戶間的數據導入導出將變的非常輕量,數據的時效性也能夠得到保障。跨project訪問時,請求會經過用戶對package的許可權、package是否可以安裝、package內資源的訪問限制三層校驗。

圖6 MaxCompute中基於package的跨project數據訪問

  • Trusted模式:

當項目空間有類似上下級關係時,MaxCompute還提供了一種更加方便的跨租戶授權方式-Trusted。下級項目空間A可以完全信任上級項目空間B中的用戶時,項目空間A可以把項目空間B加為trusted。此時如果組織內的用戶張三同時加入到項目空間A和B中。那麼張三在項目空間B中就可以訪問在項目空間A中授權過的資源。

圖7 MaxCompute中基於項目空間trusted的跨project訪問

本來選自阿里雲大數據產品專家「隱林」,擅長MaxCompute、機器學習、分散式、可視化、人工智慧等大數據領域。


推薦閱讀:

越來越多的網路攻擊背後,你看清黑客的套路了嗎?
大數據商業價值突破之路
數據、資料庫、數據倉庫
【觀點】利用大數據構建互聯網金融情緒指數
獨家 | 一文帶你上手卷積神經網路實戰(附數據集&學習資料)

TAG:大數據 |