法律聲明
阿里云提醒您在閱讀或使用本文檔之前請仔細閱讀、充分理解本法律聲明各條款的內容。如果您閱讀或使用本文檔,您的閱讀或使用行為將被視為對本聲明全部內容的認可。
您應當通過阿里云網站或阿里云提供的其他授權通道下載、獲取本文檔,且僅能用于自身的合法、合規的業務活動。本文檔的內容視為阿里云的保密信息,您應當嚴格遵守保密義務。未經阿里云事先書面同意,您不得向任何第三方披露本手冊內容或提供給任何第三方使用。
未經阿里云事先書面許可,任何單位、公司或個人不得擅自摘抄、翻譯、復制本文檔的部分或全部內容,不得以任何方式或途徑進行傳播和宣傳。
由于產品版本升級、調整或其他原因,本文檔內容有可能變更。阿里云保留在沒有任何通知或者提示的情況下對本文檔的內容進行修改的權利,并保留在阿里云授權渠道中不定時發布更新后的用戶文檔的權利。您應當實時關注用戶文檔的版本變更并通過阿里云授權渠道下載、獲取最新版的用戶文檔。
本文檔僅作為用戶使用阿里云產品及服務的參考性指引,阿里云以產品及服務的現狀、有缺陷和當前功能的狀態提供本文檔。阿里云在現有技術的基礎上盡最大努力提供相應的介紹及操作指引,但阿里云在此明確聲明對本文檔內容的準確性、完整性、適用性、可靠性等不作任何明示或暗示的保證。任何單位、公司或個人因為下載、使用或信賴本文檔而發生任何差錯或經濟損失的,阿里云不承擔任何法律責任。在任何情況下,阿里云均不對任何間接性、后果性、懲戒性、偶然性、特殊性或刑罰性的損害,包括用戶使用或信賴本文檔而遭受的利潤損失,承擔責任(即使阿里云已被告知該等損失的可能性)。
阿里云網站上所有內容,包括但不限于著作、產品、圖片、檔案、資訊、資料、網站架構、網站畫面的安排、網頁設計,均由阿里云和/或其關聯公司依法擁有其知識產權,包括但不限于商標權、專利權、著作權、商業秘密等。非經阿里云和/或其關聯公司書面同意,任何人不得擅自使用、修改、復制、公開傳播、改變、散布、發行或公開發表阿里云網站、產品程序或內容。此外,未經阿里云事先書面同意,任何人不得為了任何營銷、廣告、促銷或其他目的使用、公布或復制阿里云的名稱(包括但不限于單獨為或以組合形式包含阿里云、Aliyun、萬網等阿里云和/或其關聯公司品牌,上述品牌的附屬標志及圖案或任何類似公司名稱、商號、商標、產品或服務名稱、域名、圖案標識、標志、標識或通過特定描述使第三方能夠識別阿里云和/或其關聯公司。
如若發現本文檔存在任何錯誤,請與阿里云取得直接聯系。
數據安全與合規概述
MaxCompute以數據保護三要素保密性、完整性和可用性為基礎,構建全面的數據安全保護屏障,并提供完善的數據訪問控制能力和安全可信的計算環境。通過集群高可用和容災方案確保業務的連續性,系統詳細記錄用戶操作日志和任務運行日志,供事中運維監測和事后安全審計。MaxCompute服務建立在阿里云IaaS服務之上,利用云基礎設施的安全能力,同時能夠與云平臺相關的安全產品進行聯動,如RAM訪問控制、DataWorks安全中心、數據保護傘,以實現更加豐富的安全管控場景。
訪問控制
認證
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,簡稱:KMS)和用戶自帶密鑰(Bring Your Own Key,簡稱:BYOK),能夠自動對存儲介質中的數據文件進行加解密。應用程序無需改造即可實現數據密文存儲要求,并支持利用密鑰對數據表、分區的持久化數據文件進行加密或解密。加密算法支持AES256等,同時支持自動密鑰輪換。如果客戶主動關閉密鑰服務,將導致加密數據無法解密訪問,以實現數據保密性要求,滿足監管合規。更多詳細信息,請參見存儲加密。
數據內容加密
MaxCompute針對個人身份信息(PII)、財務信息、賬號密碼等敏感信息支持列級內容加密,應用程序可調用加密函數對敏感信息進行加密后寫入和讀取時解密,內容加密后可防止SQL注入、拖庫等攻擊造成的敏感信息泄露。MaxCompute支持與密鑰管理服務(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采用分布式文件系統,自動為存儲的數據創建多個副本(默認為三副本)。這些副本會被分布在不同的物理機器和機架上,以防止單點故障導致的數據丟失,確保數據的持久性和完整性。
MaxCompute將數據存儲在飛天分布式文件系統中,系統提供一個扁平的線性存儲空間,并對線性地址進行切片,一個分片稱為一個Chunk。每一個Chunk會復制出三個副本,并將這些副本按照一定的策略存放在集群中的不同節點上,以防止由于一個Chunk Server或一個機架的故障導致的數據不可用。用戶新增、修改、刪除數據的操作均會同步到三個副本中,以保障用戶數據的完整性和一致性。對于用戶刪除數據釋放的存儲空間,文件系統會進行回收,禁止其他用戶訪問,并進行數據擦除,以確保用戶已刪除數據的不可還原性。
任務容錯機制
MaxCompute的任務調度系統具備較高的容錯能力和任務重試機制。在執行SQL作業時,系統通過構建有向無環圖(DAG)為作業分配合理的計算資源節點,并優化執行過程,消除不必要的Shuffle、網絡抖動,以及部分節點故障不會影響整體作業運行,從而保障結果的準確性和執行效率。
Tunnel數據傳輸服務在數據批量上傳和下載時支持斷點續傳、配置容錯行數、緩沖區等參數,確保數據處理的完整性。
備份恢復
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提供詳細的操作審計日志,包括作業(Instance)、表(Table)、用戶(User)、角色(Role)和授權(Privilege)相關的操作行為。該日志可以滿足日志留存的合規要求,同時也能夠滿足實時監測和回溯分析等安全管理需求。
MaxCompute完整記錄用戶觸發的各項操作行為。用戶可以在日志審計中查看和檢索用戶行為日志,并可以將日志長期保存在SLS日志服務項目或指定的OSS Bucket中。更多詳細信息,請參見審計日志。
元數據分析Information Schema
MaxCompute提供了項目元數據及作業運行歷史的信息查詢功能,并在ANSI SQL-92的Information Schema基礎上進行擴展,支持用戶實時分析和定期導出用戶信息、角色信息、表分區授權信息、近14天的歷史作業記錄、批量上傳下載任務記錄,用于安全審計。更多詳細信息,請參見Information Schema。