近年來,由于云計(jì)算與云存儲(chǔ)具有一定的廉價(jià)性和可擴(kuò)展性,云數(shù)據(jù)倉(cāng)庫(kù)(Cloud data warehouses,CDW)得到了廣泛的應(yīng)用并飛速發(fā)展。同時(shí),CDW不但能夠存儲(chǔ)比本地?cái)?shù)據(jù)庫(kù)更多的數(shù)據(jù),而且可以通過現(xiàn)代化數(shù)據(jù)管道,簡(jiǎn)化了ETL的各種流程,因此許多企業(yè)都開始用它來開展大規(guī)模的數(shù)據(jù)分析業(yè)務(wù)。
其實(shí),早在十多年前,公有云服務(wù)提供商便開始以平臺(tái)即服務(wù)(PaaS)的模式發(fā)布云端數(shù)據(jù)倉(cāng)庫(kù)了。其中,Google的BigQuery和Amazon的Redshift都能夠讓組織在幾分鐘內(nèi),完成對(duì)CDW的部署,而無需額外安裝數(shù)據(jù)庫(kù),或配置服務(wù)器。通過將數(shù)據(jù)從本地遷移到CDW(已被認(rèn)為是現(xiàn)代數(shù)據(jù)棧的一部分),數(shù)據(jù)消費(fèi)者和生產(chǎn)者在數(shù)據(jù)的訪問過程中,獲得了極大的便利性。在某些CDW平臺(tái)中,企業(yè)甚至不需要DBA去維護(hù)數(shù)據(jù)的索引。其整個(gè)數(shù)據(jù)庫(kù)的管理工作會(huì)變得異常簡(jiǎn)單。
當(dāng)然,此類技術(shù)也面臨著包括敏感數(shù)據(jù)的泄漏、隱私的暴露、數(shù)據(jù)結(jié)構(gòu)的治理,以及滿足合規(guī)等方面的挑戰(zhàn)。在本文中,我們將和您討論在將數(shù)據(jù)遷移到CDW過程中的各種安全注意事項(xiàng)。
遷移到云數(shù)據(jù)倉(cāng)庫(kù)后的安全性問題
我們之所以要將數(shù)據(jù)遷移到云端數(shù)據(jù)倉(cāng)庫(kù)中,就是為了允許更多的用戶去訪問我們的數(shù)據(jù),并能夠從數(shù)據(jù)中創(chuàng)造更大的價(jià)值。這就是業(yè)界常說的 “數(shù)據(jù)民主化(data democratization)”。與此同時(shí),由于CDW是在所謂的“共享責(zé)任模型”上實(shí)現(xiàn)的,因此云服務(wù)提供商需要承擔(dān)諸如:物理安全、操作系統(tǒng)安全和補(bǔ)丁、甚至是維護(hù)基本數(shù)據(jù)庫(kù)軟件等責(zé)任。而這些并非租戶企業(yè)所需要參與的。因此,他們應(yīng)當(dāng)將注意力放在云端的數(shù)據(jù)安全上。這些往往不只是企業(yè)中安全專業(yè)團(tuán)隊(duì)的責(zé)任,而需要數(shù)據(jù)工程師,乃至業(yè)務(wù)團(tuán)隊(duì)的參與,需要大家共同制定和踐行相關(guān)的安全策略。
加密
租戶企業(yè)必須確保存儲(chǔ)的靜態(tài)數(shù)據(jù)、以及連接的傳輸中數(shù)據(jù),都得到必要的加密。從安全的角度來說,這些不但對(duì)于降低中間人(MITM)的攻擊、肆意訪問到存儲(chǔ)數(shù)據(jù)的風(fēng)險(xiǎn)是必需的;而且對(duì)于滿足合規(guī)性,也是非常必要的。在一些主流的CDW平臺(tái)中,它們會(huì)在默認(rèn)情況下,對(duì)靜態(tài)和傳輸中的數(shù)據(jù)進(jìn)行加密。而其他的平臺(tái),則需要您手動(dòng)配置對(duì)存儲(chǔ)數(shù)據(jù)的加密,并在訪問數(shù)據(jù)的過程中,強(qiáng)制采用加密協(xié)議。
網(wǎng)絡(luò)訪問控制
在大多數(shù)情況下,設(shè)置網(wǎng)絡(luò)訪問策略是降低CDW風(fēng)險(xiǎn)級(jí)別的一種簡(jiǎn)單而有效的方法。有些平臺(tái)在默認(rèn)情況下,根本沒有公共互聯(lián)網(wǎng)的訪問權(quán)限;而在某些平臺(tái)中,您需要額外配置網(wǎng)絡(luò)訪問規(guī)則。而一些特定的應(yīng)用場(chǎng)景中,您還需要為特定的用戶或用戶組,設(shè)置更加具體的網(wǎng)絡(luò)訪問策略。下面是以Snowflake為例,制定的網(wǎng)絡(luò)訪問策略,并需要將其應(yīng)用到特定的用戶上:
CREATE OR REPLACE NETWORK POLICY us_employees
ALLOWED_IP_LIST =( '1.1.1.0/24', '2.2.2.0/24', '3.3.4.5' )
BLOCKED_IP_LIST =( '1.1.1.128', '2.2.2.128' )
COMMENT = 'US employees offices, excluding guest WiFi gateways';
/* Assigning the policy to a user */
ALTER user us_marketing_analysts SET NETWORK_POLICY=US_EMPLOYEES;
驗(yàn)證
CDW對(duì)于用戶的身份驗(yàn)證,會(huì)因平臺(tái)而異。例如,并非所有平臺(tái)都支持在BI(業(yè)務(wù)智能化)工具中,將OAuth用于個(gè)人用戶的身份驗(yàn)證。此外,有些平臺(tái)會(huì)趨向采取“避重就輕”的途徑,繞開那些最適合達(dá)到安全效果的身份驗(yàn)證方式。例如,在許多公司中,明明應(yīng)用程序可以使用更強(qiáng)的、基于密鑰(PKI)的身份驗(yàn)證方式,它們卻僅使用“用戶名+密碼”去連接數(shù)據(jù)倉(cāng)庫(kù)。對(duì)此,數(shù)據(jù)和安全團(tuán)隊(duì)(有時(shí)還應(yīng)包括IT團(tuán)隊(duì))需要通過協(xié)作,來解決并確保有明確的安全指導(dǎo)策略,來具體規(guī)定應(yīng)該使用哪種身份驗(yàn)證的類型。例如:應(yīng)盡可能地使用與身份提供商(Identity Provider)相集成的方式,讓用戶遵守組織已有的雙因素身份驗(yàn)證策略。
授權(quán)
在數(shù)據(jù)倉(cāng)庫(kù)安全性中,最難管控的部分莫過于授權(quán)了。此處的授權(quán)是指:一旦用戶通過了數(shù)據(jù)倉(cāng)庫(kù)的身份驗(yàn)證,就應(yīng)該準(zhǔn)確授予他們可以訪問哪些數(shù)據(jù)、以及在什么級(jí)別上進(jìn)行訪問。不同的CDW有著不同的授權(quán)機(jī)制。例如,Snowflake具有嚴(yán)格的、基于角色的訪問控制模型(RBAC),而Amazon的Redshift最近也推出了自己的RBAC模型。
總的說來,CDW在授權(quán)過程中往往面臨著如下安全挑戰(zhàn):
- 由于用戶量和數(shù)據(jù)種類比較龐大,因此許多用戶往往需要頻繁地更改其數(shù)據(jù)訪問的相關(guān)權(quán)限,這就會(huì)給數(shù)據(jù)工程團(tuán)隊(duì)造成工作量上的壓力。
- 企業(yè)通常會(huì)忽略執(zhí)行“撤銷對(duì)用戶不再需要的數(shù)據(jù)訪問權(quán)限”的流程。
- 難以出于合規(guī)性和安全性的通用需求,及時(shí)、準(zhǔn)確地跟蹤用戶對(duì)于敏感數(shù)據(jù)的訪問。
- 用戶經(jīng)常被授予過多的訪問權(quán)限。
在CDW運(yùn)行一段時(shí)間后,如果我們無法恪守明確的訪問規(guī)則,他們的訪問權(quán)限就會(huì)很快變得復(fù)雜、且難以管理。對(duì)此,企業(yè)需要啟用自動(dòng)化的數(shù)據(jù)訪問授權(quán)、創(chuàng)建和執(zhí)行明確的安全策略,以及應(yīng)用到不同數(shù)據(jù)倉(cāng)庫(kù)環(huán)境的安全訪問規(guī)則。
細(xì)粒度的訪問控制
在云數(shù)據(jù)倉(cāng)庫(kù)的語境中,我們認(rèn)為針對(duì)諸如:表、視圖、模式、以及數(shù)據(jù)庫(kù)的訪問控制,屬于“粗粒度”對(duì)象管理。除此之外,我們還會(huì)碰到居多“細(xì)粒度”管理的安全需求。也就是說,我們需要對(duì)于某些用戶是否能夠僅訪問表中的特定行(即,行級(jí)別安全性),以及根據(jù)用戶或其角色,對(duì)數(shù)據(jù)的操作能力予以動(dòng)態(tài)屏蔽。同樣,在此方面,不同的CDW也具有不同的能力。在某些平臺(tái)中,您可以通過使用現(xiàn)成的函數(shù)和視圖,來設(shè)計(jì)并實(shí)現(xiàn)此類策略;而在其他的平臺(tái)上,您可能需要自行創(chuàng)建策略,并將其應(yīng)用于數(shù)據(jù)對(duì)象上。當(dāng)然,如果數(shù)據(jù)量和類型過大的話,則需要通過自動(dòng)化控制機(jī)制,來實(shí)現(xiàn)大規(guī)模數(shù)據(jù)訪問的全覆蓋。
審計(jì)和監(jiān)控
審計(jì)和監(jiān)控既是數(shù)據(jù)訪問平臺(tái)內(nèi)部安全的重要組成部分,也是合規(guī)性的基本要求。同樣,不同的CDW提供不同級(jí)別的審計(jì)日志,以及啟用它們的不同步驟。例如,在Snowflake中,數(shù)據(jù)訪問日志是開箱即用的snowflake.account_usage架構(gòu)(可使用SQL的選擇查詢),而對(duì)于Amazon的Redshift,您需要通過配置查詢?nèi)罩?,以?dǎo)出到S3存儲(chǔ)桶。
優(yōu)先級(jí)和保護(hù)敏感數(shù)據(jù)
和過去保存在本地的數(shù)據(jù)類似,在確保CDW的數(shù)據(jù)安全性時(shí),我們離不開與業(yè)務(wù)、運(yùn)維團(tuán)隊(duì)的協(xié)作,以了解企業(yè)的敏感數(shù)據(jù)到底被存放在哪里,并且根據(jù)實(shí)際情況排定資源的安全優(yōu)先級(jí)。
下面,我總結(jié)了當(dāng)前四大主流的CDW平臺(tái),在上面提到的各項(xiàng)安全控制要點(diǎn)上的顯著特點(diǎn):
AMAZON REDSHIFT | SNOWFLAKE | AZURE SYNAPSE | GOOGLE BIGQUERY? | |
網(wǎng)絡(luò)訪問控制 | 已作為AWS賬戶網(wǎng)絡(luò)策略的一部分 | 使用SQL予以定義 | 已作為Azure中Synapse工作區(qū)配置的一部分 | 已在G-Suite管理面板中定義 |
訪問控制 | 已使用SQL配置,對(duì)用戶、組或角色進(jìn)行授權(quán) | 已使用SQL配置,僅使用角色授權(quán)(嚴(yán)格的RBAC) | 使用Azure(用于添加用戶)和SQL(用于授予對(duì)特定對(duì)象的訪問權(quán)限)對(duì)用戶或角色進(jìn)行配置 | 使用GCP的UI/API來配置,以授予用戶或組的訪問權(quán)限 |
細(xì)粒度的安全性 | 作為平臺(tái)一部分,實(shí)現(xiàn)列級(jí)訪問 | 作為平臺(tái)一部分,實(shí)現(xiàn)動(dòng)態(tài)屏蔽和行級(jí)策略 | 作為平臺(tái)一部分,實(shí)現(xiàn)動(dòng)態(tài)屏蔽、列級(jí)和行級(jí)策略 | 作為平臺(tái)一部分,實(shí)現(xiàn)列級(jí)和行級(jí)策略 |
審計(jì)和監(jiān)控 | 提供將審計(jì)日志導(dǎo)出到S3所需的配置 | 虛擬數(shù)據(jù)庫(kù)模式(snowflake.account_usage)中的自動(dòng)訪問和查詢?nèi)罩?/span> | 提供啟用對(duì)Azure存儲(chǔ)的審核所需的配置 | 作為GCP一部分的自動(dòng)訪問和查詢?nèi)罩荆梢允褂?/span>REST API實(shí)現(xiàn)拉?。?/span> |
小結(jié)
云數(shù)據(jù)倉(cāng)庫(kù)能夠使數(shù)據(jù)團(tuán)隊(duì)更加專注于增加本企業(yè)數(shù)據(jù)的驅(qū)動(dòng)價(jià)值。而隨著更多的用戶能夠訪問更多、且不斷變化的海量數(shù)據(jù),我們對(duì)數(shù)據(jù)訪問的安全性保護(hù)也需要越來越重視。因此,在將數(shù)據(jù)遷移至CDW之前,我們需要對(duì)平臺(tái)的安全性做好評(píng)估。而在完成遷移并開始使用CDW平臺(tái)時(shí),安全團(tuán)隊(duì)既要能夠使用由平臺(tái)提供的安全管控措施,又要善于使用其他安全元素(如,BI工具或數(shù)據(jù)訪問處理方法),來補(bǔ)齊CDW的本身不足。
當(dāng)然,無論您選擇了上面提到的何種CDW(可能不僅會(huì)考慮平臺(tái)的安全能力,也會(huì)綜合考量各種其他因素),請(qǐng)通過明確的安全策略、數(shù)據(jù)和安全團(tuán)隊(duì)之間的緊密協(xié)作、以及持續(xù)降低數(shù)據(jù)風(fēng)險(xiǎn)的方案,實(shí)現(xiàn)對(duì)企業(yè)數(shù)據(jù)的妥善管理。
譯者介紹
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn);持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。
原文標(biāo)題:??Data Security Considerations in Cloud Data Warehouses??,作者:Ben Herzberg