使用AWS Lake Formation配合Amazon EMR控制數(shù)據(jù)訪問與權(quán)限

來源: AWS
作者:Nabil Ezzarhouni & Pawan Matta
時間:2020-09-30
17873
本文解釋了如何控制數(shù)據(jù)湖的訪問與權(quán)限機制。指向數(shù)據(jù)的訪問活動將經(jīng)過控制、加密與審計,AWS也通過這種嚴密的方式支持組織客戶的安全發(fā)展。而這一切,都將在本地IdP加AWS其他外部資源的混合基礎(chǔ)架構(gòu)之下成為現(xiàn)實。

如果建立起一套對數(shù)據(jù)湖訪問的集中控制體系,結(jié)果會如何?我們能更安全、更便捷地幫助內(nèi)部及外部客戶共享特定數(shù)據(jù)嗎?

使用AWS Lake Formation并將其與Amazon EMR相集成,大家能夠輕松完成這類管理任務(wù)。

本文將從特定用例出發(fā),回顧對現(xiàn)有數(shù)據(jù)湖內(nèi)數(shù)據(jù)訪問與權(quán)限加以控制的操作步驟。

示例用例

我們假設(shè)您的企業(yè)使用AWS擴展了本地基礎(chǔ)設(shè)施。由于本地數(shù)據(jù)中心內(nèi)已經(jīng)具備用于分析及機器學(xué)習(xí)負載的固定容量,因此您選擇使用云服務(wù)執(zhí)行其他計算與存儲任務(wù)。AWS Direct Connect將您的數(shù)據(jù)中心鏈接至最近的AWS區(qū)域。由于您的Active Directory服務(wù)器仍位于本地,因此您可以使用Active Directory連接器實現(xiàn)用戶身份驗證聯(lián)動。為了實現(xiàn)成本優(yōu)化與敏捷性,您還構(gòu)建起一個數(shù)據(jù)湖,通過Lake Formation將業(yè)務(wù)數(shù)據(jù)集中至Amazon Simple Storage Service(Amazon S3)當(dāng)中。

您的組織希望改善現(xiàn)有數(shù)據(jù)分析功能,并聘請了外部數(shù)據(jù)分析顧問。根據(jù)最低權(quán)限最佳實踐,您只希望與外部顧問共享相關(guān)數(shù)據(jù),且要求其中不涉及任何個人身份信息(PII),例如姓名、出生日期以及社保號碼等。

為了避免云端數(shù)據(jù)受到未授權(quán)第三方的訪問,我們需要一套安全、受控、符合審計要求且經(jīng)過加密的數(shù)據(jù)解決方案。您還要求在列層級限制訪問權(quán)限,確保外部顧問無法接觸到PII數(shù)據(jù)。

此外,您還希望限制顧問對云資源的訪問。他們應(yīng)僅能使用特定的AWS身份與訪問管理(AWS Identity and Access Management,簡稱IAM)角色訪問EMR集群。

下圖所示,為本用例中的具體架構(gòu)。

control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr1.png

外部顧問通過兼容SMAL的本地目錄服務(wù)與IAM聯(lián)動,進而實現(xiàn)對AWS資源的身份驗證與訪問。大家可以控制來自本地身份提供方(IdP)對云資源的訪問。關(guān)于更多詳細信息,請參閱基于SAML 2.0的聯(lián)動機制。

Lake Formation負責(zé)管理數(shù)據(jù)訪問活動。數(shù)據(jù)湖管理員將在Lake Formation中以列為基本層級為各主體定義數(shù)據(jù)訪問權(quán)限。這里的“主體”可以是與本地目錄服務(wù)聯(lián)動的用戶。在本用例中,主體為對應(yīng)外部顧問的特定角色,負責(zé)控制他們對EMR集群的只讀訪問權(quán)限。

由于我們在Lake Formation中為數(shù)據(jù)制定了細粒度權(quán)限,因此外部顧問將無法觸及員工的姓名、出生日期以及社保號碼。相反,他們只能訪問非PII列。這項措施被稱為假名化(pseudonymization)。在這類場景中,我們無法在沒有其他數(shù)據(jù)的前提下識別PII。假名化能夠帶來以下好處:

·保證身份驗證以及用戶/數(shù)據(jù)訪問治理的集中化實現(xiàn)。

·由于存在規(guī)范的身份驗證來源,因此管理開銷更低、安全性水平更高。

·顧問使用IAM角色后,僅能通過Lake Formation訪問數(shù)據(jù)以及與EMR集群相關(guān)聯(lián)的實例配置角色。

大家無需管理指向Amazon S3的訪問活動;所有訪問都被集中在Lake Formation當(dāng)中。如果要與更多用戶共享數(shù)據(jù)湖數(shù)據(jù),只需在Lake Formation進行定義即可。

在下一節(jié)中,我們將探討如何實現(xiàn)這套解決方案。

創(chuàng)建數(shù)據(jù)湖

在開始本輪演練之前,首先需要創(chuàng)建一個數(shù)據(jù)湖。您可以通過策略與權(quán)限控制對該數(shù)據(jù)湖的訪問活動,具體權(quán)限可以立足數(shù)據(jù)庫、表或列層級進行創(chuàng)建。

在創(chuàng)建數(shù)據(jù)庫時,我們需要完成以下步驟以啟用Lake Formation中的細粒度訪問控制權(quán)限。

·在Lake Formation控制臺中的Data catalog下,選擇Databases。

·選擇Create database。

control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr2.png

·在Name部分,輸入您的數(shù)據(jù)庫名稱。

·取消Use only IAM access control for new tables in this database勾選項。

如此一來,我們即啟用了Lake Formation權(quán)限的細粒度訪問控制。

·選擇Create database。

control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr3.png

調(diào)整權(quán)限

·在Permissions下,選擇Data permissions。

·選擇Grant。

control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr4 (1).png

·在IAM users and roles部分,選擇哪些特定的IAM用戶與角色可以訪問數(shù)據(jù)湖。

這些賬戶可以與兼容AWS的SAML 2.0 IdP配合使用,借此實現(xiàn)對來自本地Active Directory訪問的控制能力。

大家還可以直接定義Active Directory用戶與組,但僅限將Amazon EMR與Lake Formation相集成的上下文之內(nèi)。

·在Database部分,選擇您的數(shù)據(jù)庫。

·在Table部分,選擇您的表。

·在Columns部分,選擇Exclude columns。

·在Exclude columns部分,選擇要排除的列(在本用例中,排除first name、last name以及ssn列)。

·在Table permissions部分,選擇Select。

這項功能允許您通過IAM用戶或角色在列層級實現(xiàn)訪問控制。

·選擇Grant。

control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr5.png

Lake Formation與Amazon EMR相集成

從Amazon EMR 5.26版本開始,大家可以啟動EMR集群并將其與Lake Formation進行集成。Amazon EMR僅能根據(jù)Lake Formation定義的權(quán)限訪問特定列或數(shù)據(jù)。

其中一項核心要求,就是配備一個專為EMR集群定義的外部IdP(例如微軟Active Directory、Okta或者Auth0)。這樣處理的好處,在于大家可以使用現(xiàn)有企業(yè)目錄、合規(guī)性條款以及審計方案控制Lake Formation中的數(shù)據(jù)訪問活動。

集成完成之后,顧問即可通過Zeppelin或者Apache Spark使用來自Amazon EMR的數(shù)據(jù),且保證不會涉及PII內(nèi)容。

其他安全措施

與大多數(shù)AWS服務(wù)一樣,Amazon EMR與Lake Formation也可使用IAM功能。在IAM的支持下,我們可以定義IAM用戶或角色,借此授權(quán)對其他AWS服務(wù)及數(shù)據(jù)的訪問權(quán)限。

在這套安全模式之上,AWS CloudTrail能夠進一步跟蹤所有AWS API請求。您可以通過這項跟蹤功能滿足治理與合規(guī)層面的要求,保證及時了解各類AWS資源的實際使用情況。

要保護數(shù)據(jù),大家可以使用傳輸加密與靜態(tài)加密兩種方式。此外,您也可以針對EMR集群定義特定的安全配置。

要使用其他安全服務(wù),您可以選擇Amazon GuardDuty(一項威脅檢測服務(wù))以及Amazon Macie(大規(guī)模數(shù)據(jù)發(fā)現(xiàn)與保護服務(wù))。

總結(jié)

數(shù)據(jù)的使用在數(shù)據(jù)格式和規(guī)模兩個方面已經(jīng)取得了快速的發(fā)展。對不同技術(shù)(關(guān)系數(shù)據(jù)庫、NoSQL、圖數(shù)據(jù)庫、明文文件等)進行管理則會顯著增加運營開銷。隨著競爭烈度的提升,數(shù)據(jù)規(guī)模也將隨業(yè)務(wù)推進而飛速發(fā)展,帶來更大的計算與存儲資源壓力。這一切,都迫使組織需求通往更高敏捷性與速度水平的道路。

此外,大家可能需要與眾多內(nèi)部及外部客戶共享業(yè)務(wù)需求數(shù)據(jù),這不僅令數(shù)據(jù)治理難度進一步提升,同時也給權(quán)限與訪問管理帶來沉重負擔(dān)。

在本文中,我們解釋了如何控制數(shù)據(jù)湖的訪問與權(quán)限機制。指向數(shù)據(jù)的訪問活動將經(jīng)過控制、加密與審計,AWS也通過這種嚴密的方式支持組織客戶的安全發(fā)展。而這一切,都將在本地IdP加AWS/其他外部資源的混合基礎(chǔ)架構(gòu)之下成為現(xiàn)實。

您也可以啟動數(shù)據(jù)湖項目,以安全且可擴展的方式通過多種IAM角色實現(xiàn)組織數(shù)據(jù)共享。整個過程只需要幾分鐘(而非以往安全方案的幾個月),且不會對工程設(shè)施造成任何深層影響。

作為這項工作的自然延續(xù),大家還可以將經(jīng)過整理的數(shù)據(jù)引入AWS Machine Learning工具所支持的各類機器學(xué)習(xí)項目。

Original URL:https://aws.amazon.com/cn/blogs/big-data/control-data-access-and-permissions-with-aws-lake-formation-and-amazon-emr/

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于AWS,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家