法律聲明
阿里雲提醒您在閱讀或使用本文檔之前請仔細閱讀、充分理解本法律聲明各條款的內容。如果您閱讀或使用本文檔,您的閱讀或使用行為將被視為對本聲明全部內容的認可。
您應當通過阿里雲網站或阿里雲提供的其他授權通道下載、擷取本文檔,且僅能用於自身的合法、合規的商務活動。本文檔的內容視為阿里雲的保密資訊,您應當嚴格遵守保密義務。未經阿里雲事先書面同意,您不得向任何第三方披露本手冊內容或提供給任何第三方使用。
未經阿里雲事先書面許可,任何單位、公司或個人不得擅自摘抄、翻譯、複製本文檔的部分或全部內容,不得以任何方式或途徑進行傳播和宣傳。
由於產品版本升級、調整或其他原因,本文檔內容有可能變更。阿里雲保留在沒有任何通知或者提示的情況下對本文檔的內容進行修改的權利,並保留在阿里雲授權渠道中不定時發布更新後的使用者文檔的權利。您應當即時關注使用者文檔的版本變更並通過阿里雲授權渠道下載、擷取最新版的使用者文檔。
本文檔僅作為使用者使用阿里雲產品及服務的參考性指引,阿里雲以產品及服務的現狀、有缺陷和當前功能的狀態提供本文檔。阿里雲在現有技術的基礎上盡最大努力提供相應的介紹及操作指引,但阿里雲在此明確聲明對本文檔內容的準確性、完整性、適用性、可靠性等不作任何明示或暗示的保證。任何單位、公司或個人因為下載、使用或信賴本文檔而發生任何差錯或經濟損失的,阿里雲不承擔任何法律責任。在任何情況下,阿里雲均不對任何間接性、後果性、懲戒性、偶然性、特殊性或刑罰性的損害,包括使用者使用或信賴本文檔而遭受的利潤損失,承擔責任(即使阿里雲已被告知該等損失的可能性)。
阿里雲網站上所有內容,包括但不限於著作、產品、圖片、檔案、資訊、資料、網站架構、網站畫面的安排、網頁設計,均由阿里雲和/或其關係企業依法擁有其智慧財產權,包括但不限於商標權、專利權、著作權、商業秘密等。非經阿里雲和/或其關係企業書面同意,任何人不得擅自使用、修改、複製、公開傳播、改變、散布、發行或公開發表阿里雲網站、產品程式或內容。此外,未經阿里雲事先書面同意,任何人不得為了任何營銷、廣告、促銷或其他目的使用、公布或複製阿里雲的名稱(包括但不限於單獨為或以組合形式包含阿里雲、Aliyun、萬網等阿里雲和/或其關係企業品牌,上述品牌的附屬標誌及圖案或任何類似公司名稱、商號、商標、產品或服務名稱、網域名稱、圖案標識、標誌、標識或通過特定描述使第三方能夠識別阿里雲和/或其關係企業。
如若發現本文檔存在任何錯誤,請與阿里雲取得直接聯絡。
資料安全與合規概述
MaxCompute以資料保護三要素保密性、完整性和可用性為基礎,構建全面的資料安全保護屏障,並提供完善的資料存取控制能力和安全可信的計算環境。通過叢集高可用和容災方案確保業務的連續性,系統詳細記錄使用者動作記錄和任務作業記錄,供事中營運監測和事後安全審計。MaxCompute服務建立在阿里雲IaaS服務之上,利用雲基礎設施的安全能力,同時能夠與雲平台相關的安全產品進行聯動,如RAM存取控制、DataWorks資訊安全中心、資料保護傘,以實現更加豐富的安全管控情境。
MaxCompute提供了獨立的第三方審計師事務所依據美國註冊會計師協會(AICPA)相關準則出具的阿里雲可信服務中關於安全性、可用性和機密性原則符合性描述的審計。審計報告請參見SOC 3報告。
存取控制
認證
MaxCompute支援的使用者身份包括阿里雲帳號、RAM使用者、RAM角色,同時支援AccessKey和AccessKey Secret認證、多因素認證MFA(Multi-Factor Authentication)以及STS(Security Token Service)許可權委託機制。
使用者可以在存取控制RAM(Resource Access Management)中建立AccessKey。AccessKey由AccessKey ID和AccessKey Secret組成,其中AccessKey ID是公開的,用於標識使用者身份,AccessKey Secret是秘密的,用於鑒別使用者身份。當使用者向MaxCompute發送請求時,首先需要將發送的請求按照MaxCompute指定的格式產生簽名字串,然後使用AccessKey Secret對簽名字串進行加密以產生請求籤名。MaxCompute收到使用者請求後,會根據AccessKey ID使用正確的AccessKey Secret對簽名字串產生簽名,若與請求籤名一致,則認為該請求有效。否則,MaxCompute將拒絕處理該請求,並返回403狀態代碼錯誤。
更多詳細資料,請參見使用者認證。
授權
MaxCompute支援精微調權限控制策略,授權方式包括:ACL(Access Control Lists)、Policy、Download、Label敏感層級、行級許可權。授權對象包括專案(Project)、配額(Quota)、網路連接(Networklink)、表(Table)、函數(Function)、資源(Resource)、執行個體(Instance)、外部表格(External Table)和External Volume。
RAM授權
MaxCompute支援通過阿里雲存取控制RAM(Resource Access Management)服務授權,將雲帳號下MaxCompute資源的訪問及系統管理權限授予RAM使用者和RAM角色,按需為使用者指派最小許可權,從而降低企業的資訊安全風險。更多詳細資料,請參見RAM許可權。
ACL授權
ACL是一種基於對象的授權。通過ACL授權的許可權資料(即存取控制清單,Access Control List)被看作是該對象的一種子資源,只有當對象存在時,才能進行ACL授權操作,當對象被刪除時,通過ACL授權的許可權資料會被自動刪除。ACL授權支援的授權方法是採用類似SQL92定義的GRANT/REVOKE命令進行授權,通過對應的授權命令來完成對已存在的專案空間對象的授權或撤銷授權。每次許可權管理操作均是對效果(授權、撤銷)、對象(如表、資源等)、主體(使用者或角色)、操作(讀、寫、刪除等)的組合描述。更多詳細資料,請參見ACL許可權控制。
Policy授權
Policy用於定義角色許可權,然後將角色綁定至使用者後,使用者權限即可生效。相比ACL許可權控制增加黑名單方式,即可以實現(白名單)或禁止(黑名單)角色對指定對象執行指定操作,當白名單和黑名單授權資訊同時存在時,遵循黑名單優先原則。更多詳細資料,請參見Policy許可權控制。
Label敏感層級授權
Label敏感層級授權可以更加靈活通過資料敏感等級標籤的控制使用者對列層級敏感性資料的訪問。需要將資料(表或列)和訪問資料的使用者進行敏感層級劃分,支援設定0~9級,以適配不同的資料分類分級標準。支援的安全性原則如下:
No-ReadUp:不允許使用者讀取敏感等級高於使用者等級的資料,除非顯式授權。
Trusted-User:允許使用者寫任意等級的資料,建立資料預設為0級不保密。
更多詳細資料,請參見Label許可權控制。
接入管理
MaxCompute提供了多種不同的Endpoint接入方式,包括公網、VPC網路和VPC專用網路。使用者可以根據需要開啟Endpoint進行網路隔離,每個Endpoint都支援配置IP白名單,以限制用戶端的串連。
安全可信計算環境
MaxCompute提供安全計算容器和Java、Python沙箱,實現任務進程資源隔離,阻斷惡意代碼對叢集計算任務的影響。
MaxCompute基於計算靈活性和擴充性的考慮,提供混合的計算形態。在SQL引擎中支援自訂函數(UDF),在計算引擎中支援Spark、Python等第三方計算架構。然而,這些支援會引入不可信代碼,可能觸發非預期的系統破壞和惡意代碼攻擊。MaxCompute通過輕量級的安全計算容器和語言級沙箱,將不可信代碼運行在安全計算容器內部,做到進程級安全隔離。
MaxCompute針對計算任務中的內部資料同步和外部資料訪問的網路通訊需求提供安全保障。MaxCompute為每個計算任務在其啟動並執行安全容器間構建overlay的虛擬網路,與主機網路形成安全隔離,確保任務中所有節點可通過私網IP進行通訊,但無法訪問主機網路。計算任務如需訪問公網或VPC內部的資料服務API,MaxCompute支援任務級網路通過Networklink打通,使用者需在作業啟動時聲明需要訪問的網路目標並滿足許可權檢查要求。具體操作,請參見網路開通流程。
MaxCompute為使用者提供的代碼運行環境歸屬於使用者,代碼執行所產生的任何法律責任需由使用者承擔。
保護資料保密性(Confidentiality)
MaxCompute提供了針對資料的儲存、計算和傳輸狀態的資料保密措施。
資料存放區層透明加密
MaxCompute整合Key Management Service(Key Management Service,簡稱:KMS)和使用者內建密鑰(Bring Your Own Key,簡稱:BYOK),能夠自動對儲存介質中的資料檔案進行加解密。應用程式無需改造即可實現資料密文儲存要求,並支援利用金鑰組資料表、分區的持久化資料檔案進行加密或解密。密碼編譯演算法支援AES256等,同時支援自動密鑰輪換。如果客戶主動關閉密鑰服務,將導致加密資料無法解密訪問,以實現資料保密性要求,滿足監管合規。更多詳細資料,請參見儲存加密。
資料內容加密
MaxCompute針對個人識別資訊(PII)、財務資訊、帳號密碼等敏感資訊支援列級內容加密,應用程式可調用加密函數對敏感資訊進行加密後寫入和讀取時解密,內容加密後可防止SQL注入、拖庫等攻擊造成的敏感資訊泄露。MaxCompute支援與Key Management Service(Key Management Service,簡稱:KMS)對接,利用包含多密鑰的密鑰集對資料內容加密,密碼編譯演算法支援AES-GCM-256、AES-SIV-CMAC-128和AES-SIV-CMAC-256,提供更高的加密可靠性防止資料被破解。更多詳細資料,請參見加密函數。
資料動態脫敏
MaxCompute提供資料動態脫敏功能,用於業務開發測試、資料共用、營運等情境中對個人識別資訊(PII)等敏感性資料以脫敏展示的方式進行保護。脫敏策略支援掩碼、散列、字元替換、數值取整、日期取整等脫敏策略,支援與資料保護傘的資料分類分級功能聯動,滿足使用者對身份資訊、銀行卡號、地址、電話等資料的脫敏需求。MaxCompute資料脫敏在最靠近資料從儲存中讀取的環節中實現,確保資料在查詢、下載、關聯、UDF計算時已經處於脫敏狀態,避免敏感性資料泄露風險。更多詳細資料,請參見資料動態脫敏。
資料轉送加密
MaxCompute通過本地用戶端(odpscmd)、SDK、Open API等方式串連時強制要求使用HTTPS TLS v1.2加密協議,防止資料在傳輸過程中被明文截取和篡改。
資料生命週期管理
MaxCompute支援設定資料保留期限,系統會自動清理到期資料,減少資料泄露風險並最佳化儲存成本。可以根據業務需求和資料使用頻率設定表的生命週期(lifecycle),系統會判斷每張表(分區)中的最新動向時間(LastModifiedTime)距離目前時間的時間長度是否超過Lifecycle的值,如果超過則進行回收操作。具體操作,請參見生命週期操作。
MaxCompute也支援資料的冷熱分層管理,利用低頻儲存和長期儲存可以協助使用者限制歷史資料訪問頻率並降低儲存成本。更多詳細資料,請參見儲存資源-階層式存放區。
保護資料完整性(Integrity)
MaxCompute在系統內部處理資料時提供的資料完整性保護措施。
ACID
MaxCompute為大規模資料處理作業提供原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)支援,其中Delta Table即時增量計算表採用多版本並發控制模型(MVCC)來保障讀寫快照隔離,採用開放式並行存取控制模型(OCC)進行事務並發控制。目前不支援行層級或者檔案層級的事務並發控制,而是以每次批處理資料操作作為一個單獨的事務來管理。對於部分高頻的操作,會結合它的語義,在保障正確性的前提下,單獨設計最佳化了事務衝突邏輯,來更好支援並發控制。MaxCompute在資料存放區和傳輸過程中使用CRC校正碼來驗證資料的完整性。更多詳細資料,請參見ACID語義。
多副本儲存
MaxCompute採用Distributed File System,自動為儲存的資料建立多個副本(預設為三副本)。這些副本會被分布在不同的物理機器和機架上,以防止單點故障導致的資料丟失,確保資料的持久性和完整性。
MaxCompute將資料存放區在飛天Distributed File System中,系統提供一個扁平的線性儲存空間,並對線性地址進行切片,一個分區稱為一個Chunk。每一個Chunk會複製出三個副本,並將這些副本按照一定的策略存放在叢集中的不同節點上,以防止由於一個Chunk Server或一個機架的故障導致的資料不可用。使用者新增、修改、刪除資料的操作均會同步到三個副本中,以保障使用者資料的完整性和一致性。對於使用者刪除資料釋放的儲存空間,檔案系統會進行回收,禁止其他使用者訪問,並進行資料擦除,以確保使用者已刪除資料的不可還原性。
任務容錯機制
MaxCompute的任務調度系統具備較高的容錯能力和任務重試機制。在執行SQL作業時,系統通過構建有向非循環圖(DAG)為作業分配合理的計算資源節點,並最佳化執行過程,消除不必要的Shuffle、網路抖動,以及部分節點故障不會影響整體作業運行,從而保障結果的準確性和執行效率。
TunnelData Transmission Service在資料批量上傳和下載時支援斷點續傳、配置容錯行數、緩衝區等參數,確保資料處理的完整性。
備份恢複
MaxCompute資料表的備份與恢複功能預設開啟,有效避免因誤操作造成的資料丟失。系統會在資料的每次修改、刪除、刪表時自動備份資料的歷史版本,歷史版本最長保留30天,使用者可以通過資料版本號碼快速恢複資料。
Delta Table表支援Time travel回溯查詢,使用者可查詢過去7天任意時刻的資料快照,同時支援查詢歷史某個時間區間或者版本區間的資料增量。
更多詳細資料,請參見資料備份與恢複。
保護資料可用性(Availability)
使用者在使用資料時,MaxCompute提供資料可用性的安全保護措施。
資料共用
MaxCompute提供Package授權機制,用於跨專案資料共用情境。該機制可以將專案的資料資源及相應許可權打包為Package,第三方專案安裝此Package後即可跨專案訪問本專案授權的資料資源。使用Package授權機制之後,A專案空間管理員可以對B專案空間需要使用的對象進行打包授權,即建立Package,然後許可B專案空間安裝這個Package。在B專案空間管理員安裝Package之後,即可自行管理Package是否需要進一步授權給自己專案空間下的使用者。更多詳細資料,請參見基於Package跨專案訪問資源。
資料流通限制
MaxCompute為資料只進不出的情境提供了專案級資料保護機制(ProjectProtection)。例如:具有多重專案空間存取權限的使用者,可以自由地利用支援跨專案的資料訪問操作,來在不同專案空間之間轉移資料。如果某個專案空間中的資料非常敏感,不允許流出到其他專案空間中,此時管理員可以使用專案空間保護機制ProjectProtection。該機制明確要求專案空間中的資料只能本地迴圈,允許寫入,但不能讀出。更多詳細資料,請參見資料保護機制。
災難恢複(Disaster Recovery)
MaxCompute支援通過同城容災和跨地區災備方式,為客戶提供容災能力。
同城容災
MaxCompute同城容災採用將資料存放區服務和計算服務擴充到同城3個可用性區域(Availability Zone)的方式,以提升客戶業務的抗風險能力。同城容災主要適用於金融、關鍵基礎設施等行業,可以確保業務系統不會因單一資料中心故障而停止服務。同城容災技術能夠提供資料冗餘備份,從而降低業務停機時間,滿足行業合規要求,以提供更優質的上層應用客戶體驗。
MaxCompute同城容災功能支援將客戶專案級資料的可用性從單個可用性區域擴充到同城的3個可用性區域。同城3個可用性區域之間實現了物理隔離,但網路連接低延遲,可以提供跨資料中心的故障隔離和資料即時同步能力,以保障災難發生時資料的完整性和可用性。
跨地區災備
MaxCompute跨地區災備會選擇與當前地區地理距離1000公裡以上的地區作為資料災難備份組群,以為客戶的專案級資料建立完整的異地備份,保護資料免受地區性自然災害影響。
監測與審計
MaxCompute為資料授權、資料使用等行為提供了事中監測和事後審計的能力。
審計日誌
MaxCompute提供詳細的Action Trail日誌,包括作業(Instance)、表(Table)、使用者(User)、角色(Role)和授權(Privilege)相關的操作行為。該日誌可以滿足日誌留存的合規要求,同時也能夠滿足即時監測和回溯分析等安全管理需求。
MaxCompute完整記錄使用者觸發的各項操作行為。使用者可以在日誌審計中查看和檢索使用者行為日誌,並可以將日誌長期儲存在SLSLog Service專案或指定的OSS Bucket中。更多詳細資料,請參見審計日誌。
中繼資料分析Information Schema
MaxCompute提供了專案中繼資料及作業運行歷史的資訊查詢功能,並在ANSI SQL-92的Information Schema基礎上進行擴充,支援使用者即時分析和定期匯出使用者資訊、角色資訊、表分區授權資訊、近14天的歷史作業記錄、批量上傳下載任務記錄,用於安全審計。更多詳細資料,請參見中繼資料資訊Information Schema。