安全白皮書
數(shù)據(jù)安全
Hologres通過了獨立的第三方審計師針對阿里云對AICPA可信服務(wù)標準中關(guān)于安全性、可用性和機密性原則描述的審計,審計報告請參見SOC 3報告。
通過了PCI DSS認證,PCI-DSS是目前全球最嚴格且級別最高的金融數(shù)據(jù)安全標準。通過PCI DSS安全認證,表明企業(yè)滿足在支付系統(tǒng)安全防護及信息安全領(lǐng)域的能力要求,可為企業(yè)客戶提供安全、可靠的系統(tǒng)解決方案和能力。認證報告請參見PCI DSS認證報告。
存儲加密
Hologres支持通過密鑰管理服務(wù)KMS(Key Management Service)對數(shù)據(jù)進行加密存儲,提供數(shù)據(jù)靜態(tài)保護能力。
KMS簡介
KMS是阿里云針對云上數(shù)據(jù)加密需求精心設(shè)計的密碼應(yīng)用服務(wù),為您的應(yīng)用提供符合國密要求的密鑰服務(wù)及極簡應(yīng)用加解密服務(wù),提供高安全的密鑰管理服務(wù)專屬版,您可以將密鑰存儲到自己獨享的云密碼機集群中,詳情請參見密鑰管理服務(wù)介紹。
KMS提供了經(jīng)國家密碼管理局檢測和認證的硬件密碼設(shè)備,取得了GM/T 0028 第二級認證。
KMS僅提供基于TLS(Transport Layer Security)的安全訪問通道,并且僅使用安全的傳輸加密算法套件,符合PCI DSS安全規(guī)范。
密鑰的產(chǎn)生基于密碼機中安全、高系統(tǒng)熵值為種子的隨機數(shù)生成算法,從而保護密鑰不被攻擊者恢復(fù)。
密鑰通過硬件安全機制來保護,密鑰明文只在密碼機的內(nèi)部用于密碼運算,不會離開密碼機硬件的安全邊界。
可通過ActionTrail服務(wù)全面審計密鑰的使用,確認密鑰被正確使用。無論是云產(chǎn)品使用密鑰,還是用戶應(yīng)用使用密鑰,您都可以審計調(diào)用KMS接口使用密鑰的情況。
Hologres支持的能力
考慮到數(shù)倉中存儲的高價值數(shù)據(jù)往往具有更高的密級要求,Hologres僅支持可見可控的半托管加密(BYOK)。BYOK是業(yè)界普遍認可的一項更高級的安全技術(shù),是指通過安全的方式,將用戶線下生成的密鑰導(dǎo)入到云上的KMS托管的HSM中,并且保障HSM不能導(dǎo)出此密鑰,而用戶可以隨時刪掉云上的密鑰,保留下一次導(dǎo)入同一個密鑰的能力。詳細配置方式請參見數(shù)據(jù)存儲加密。
Hologres借助KMS的密鑰管理和安全部提供的加密庫能力,提供基于AES256、AES128、RC4以及國密SM4等算法的存儲加密。
Hologres支持為每張表設(shè)置單獨的加密規(guī)則,即對于不同的表設(shè)置不同的KMS密鑰進行加密。
在數(shù)據(jù)讀寫時,Hologres會調(diào)用KMS的API獲取相關(guān)的密鑰信息,密鑰信息系統(tǒng)默認會緩存24小時。在使用數(shù)據(jù)加密功能時會產(chǎn)生相關(guān)的KMS費用,KMS相關(guān)計費說明請參見KMS計費說明。
開啟加密存儲后,由于涉及加密和解密操作,會影響查詢和寫入性能,大約有20%~40%的性能損耗,具體情況根據(jù)查詢特征有不同程度的影響。
傳輸加密
為了提高實時數(shù)倉Hologres的鏈路安全性,您可以啟用SSL在傳輸層對網(wǎng)絡(luò)連接進行加密,提升通信數(shù)據(jù)的安全性和完整性,但會同時增加網(wǎng)絡(luò)連接響應(yīng)時間。使用說明請參見傳輸加密。
SSL(Secure Sockets Layer)指安全套接字協(xié)議,是為了安全通信、數(shù)據(jù)安全性專門設(shè)計的安全協(xié)議。阿里云SSL證書,是經(jīng)Webtrust認證的知名CA(Certificate Authority) 機構(gòu)頒發(fā)給網(wǎng)站的可信憑證,具有網(wǎng)站身份驗證和加密傳輸雙重功能。HTTP協(xié)議無法加密數(shù)據(jù),數(shù)據(jù)傳輸可能產(chǎn)生泄露、篡改或釣魚攻擊等問題,SSL證書部署到Web服務(wù)器后,可幫助您的Web服務(wù)器和網(wǎng)站間建立可信的HTTPS協(xié)議加密連接,為您的網(wǎng)站安全加鎖,保障數(shù)據(jù)安全傳輸,同時滿足對應(yīng)App市場或應(yīng)用生態(tài)的安全合規(guī)要求。詳情請參見什么是SSL證書。
數(shù)據(jù)脫敏
Hologres提供數(shù)據(jù)脫敏功能,支持按照列級別設(shè)置脫敏,并且支持對于指定用戶設(shè)置脫敏策略。啟用該功能后,若查詢的數(shù)據(jù)涉及敏感信息,則在展示結(jié)果中,該部分數(shù)據(jù)會被脫敏展示,提高了對敏感及私密數(shù)據(jù)的保護。現(xiàn)在支持多種脫敏規(guī)則,例如IP地址脫敏、郵箱地址脫敏、Hash脫敏等,詳細配置方式請參見數(shù)據(jù)脫敏。
系統(tǒng)安全
賬號
Hologres產(chǎn)品需要使用阿里云賬號進行購買和使用。注冊阿里云賬號,進行實名認證后才可以購買Hologres服務(wù),創(chuàng)建密鑰AccessKey后才可以訪問產(chǎn)品。
Hologres支持RAM鑒權(quán)。RAM(Resource Access Management)是阿里云提供的資源訪問控制服務(wù)。通過RAM,主賬號可以創(chuàng)建出子賬號,子賬號從屬于主賬號,所有資源都屬于主賬號,主賬號可以控制所屬實例的訪問權(quán)限授予給子賬號。
認證
用戶可以在阿里云控制臺中自行創(chuàng)建AccessKey。
AccessKey由AccessKey ID和AccessKey Secret組成,其中AccessKey ID是公開的,用于標識用戶身份,AccessKey Secret是秘密的,用于鑒別用戶身份。
當用戶向Hologres發(fā)送請求時,首先需要將發(fā)送的請求按照Hologres指定的格式生成簽名字符串,然后使用AccessKey Secret對簽名字符串進行加密以生成請求簽名。Hologres收到用戶請求后,會根據(jù)AccessKey ID使用正確的AccessKey Secret對簽名字符串生成簽名,如果和請求簽名一致即認為該請求是有效的。否則,將拒絕處理該請求,并返回HTTP 403錯誤。
授權(quán)
對Hologres實例訪問分為兩種,即用阿里云賬號訪問和RAM用戶訪問。阿里云賬號下可以包含不同的RAM用戶以便您靈活使用。Hologres支持阿里云賬號和RAM用戶的權(quán)限訪問策略:
當使用阿里云賬號訪問時,Hologres會校驗該阿里云賬號是否為對應(yīng)實例的所有者,只有對應(yīng)實例的所有者才具備訪問該Hologres實例的權(quán)限。
當使用RAM用戶訪問時,會觸發(fā)RAM用戶權(quán)限策略。Hologres會校驗該RAM用戶是否被對應(yīng)阿里云賬號授予了訪問該實例的權(quán)限。
Hologres目前主要支持如下三種授權(quán)機制來完成對RAM用戶的訪問權(quán)限控制,詳細配置方式請參見Hologres權(quán)限模型概述。
權(quán)限類型
適用場景
說明
專家權(quán)限模型(PostgreSQL)
適用于需要非常嚴格權(quán)限管控的場景。例如,精確到某個人用某個表。例如允許用戶zinan.tang讀取表table1中的數(shù)據(jù)。
專家權(quán)限模型的權(quán)限授予粒度小且靈活,可以為用戶授予具體某個表的權(quán)限,使用
GRANT/REVOKE
命令進行授權(quán),通過對應(yīng)的授權(quán)命令來完成對已存在的實例中的數(shù)據(jù)庫、Schema、Table、View進行授權(quán)或撤銷授權(quán)。簡單權(quán)限模型(Simple Permission Model,SPM)
數(shù)據(jù)庫級別的權(quán)限管控,適用于粗粒度的權(quán)限管理場景。
簡單權(quán)限模型是封裝好的權(quán)限模型,以數(shù)據(jù)庫為維度,每個用戶組都有對應(yīng)的權(quán)限,不可修改,能滿足大部分授權(quán)場景,且授權(quán)操作比較簡單。
Schema級別的簡單權(quán)限模型(Schema-level Permission Model,SLPM)
精確到Schema級別的權(quán)限管控,使用于對權(quán)限粒度較為細致且又希望簡化授權(quán)流程的場景。
Schema級別的簡單權(quán)限模型是已經(jīng)封裝好的權(quán)限模型,以Schema為維度,每個用戶組都有對應(yīng)的權(quán)限,不可修改,滿足對于權(quán)限較為細粒度的管控,且授權(quán)操作比較簡單。
RAM鑒權(quán)
Hologres支持RAM鑒權(quán)。RAM是阿里云提供的資源訪問控制服務(wù)。通過RAM阿里云賬號可以創(chuàng)建出RAM用戶,RAM用戶從屬于阿里云賬號,所有實例都屬于阿里云賬號,阿里云賬號可以將所屬Hologres的訪問權(quán)限授予給RAM用戶。
同時您也可以通過角色SSO的方式登錄阿里云,并使用Hologres。此時,阿里云訪問控制角色(RAM Role)將成為Hologres某個實例的成員,扮演該RAM Role的使用者,將擁有和云賬號類成員同樣的產(chǎn)品使用權(quán)限。詳細配置方式請參見RAM角色授權(quán)模式。
審計
ActionTrail
Hologres支持通過阿里云操作審計ActionTrail的控制臺、OpenAPI、開發(fā)者工具等,查詢近90天內(nèi)的實例操作事件日志,以實現(xiàn)對事件的監(jiān)控告警、及時審計、問題回溯分析等需求,詳細配置方式請參見查詢事件日志。
ActionTrail可以收集用戶使用阿里云服務(wù)的操作記錄(包括用戶通過控制臺觸發(fā)的操作、調(diào)用阿里云API進行的操作以及云服務(wù)通過服務(wù)角色進行的操作等)。操作記錄會在10分鐘內(nèi)被操作審計追蹤并記錄。
通過操作審計控制臺、調(diào)用API查看最近90天的操作記錄。您可以獲知誰、什么時刻、哪個源IP發(fā)起哪個對象的什么操作?該操作來自于API還是控制臺?操作結(jié)果是成功還是失敗?失敗原因是什么?您可以將這些行為時間下載或保存到日志服務(wù)或OSS存儲空間,然后進行行為分析、安全分析、資源變更行為追蹤和行為合規(guī)性審計等操作。
支持操作記錄投遞到阿里云對象存儲(OSS)或日志服務(wù)(Log Service)等存儲產(chǎn)品中,這些存儲產(chǎn)品具有極高的可用性,并且可以通過加密和權(quán)限控制,保障審計數(shù)據(jù)安全。當投遞發(fā)生時,操作審計還會向您發(fā)送通知。
您可以創(chuàng)建多個跟蹤分別追蹤不同的事件類型、區(qū)域范圍,并分別投遞到不同的存儲空間,以滿足您為不同職責(zé)員工備份不同范圍行為數(shù)據(jù)的要求。
實現(xiàn)原理
Hologres Query Log
Hologres提供Query日志信息,系統(tǒng)會記錄30天內(nèi)的所有DDL、超過100ms的DML和DQL,詳細記錄每個用戶的具體操作,詳細配置方式請參見慢Query日志查看與分析。
網(wǎng)絡(luò)安全
訪問隔離
Hologres作為阿里巴巴自主研發(fā)的一站式實時數(shù)倉引擎,在安全性方面需要滿足安全隔離規(guī)范的要求。目前Hologres支持網(wǎng)絡(luò)的具體情況如下:
每個實例的經(jīng)典網(wǎng)絡(luò)、VPC網(wǎng)絡(luò)、公網(wǎng)網(wǎng)絡(luò)三網(wǎng)隔離,只能訪問各自對應(yīng)的Endpoint及虛擬內(nèi)網(wǎng)IP(VIP)。
Hologres實例支持配置特定的VPC ID,來保障實例只能被對應(yīng)的VPC訪問。
IP白名單
Hologres安全上的訪問控制有多個層次,如上述的安全認證機制,只有獲取了正確且經(jīng)過授權(quán)的AccessKey ID及AccessKey Secret才能通過鑒權(quán),在已經(jīng)賦予的權(quán)限范圍內(nèi)進行數(shù)據(jù)訪問和計算。
IP白名單是在以上訪問認證基礎(chǔ)上增強的一種訪問控制,開啟白名單功能時,僅允許白名單內(nèi)的設(shè)備訪問Hologres實例,非白名單內(nèi)的設(shè)備訪問時,即使擁有正確的AccessKey ID和AccessKey Secret,也無法通過鑒權(quán),詳細配置方式請參見IP白名單。