安全概述
本文概述了用於部署和管理Databricks帳戶和工作空間的最重要的與安全相關的控件和配置。有關保護數據的信息,請參見數據治理指南.
請注意
本文的重點是最新的(E2)版本的數據庫平台。Beplay体育安卓版本未遷移到E2平台的遺留部署可能不支持這裏描述的一些特性。Beplay体育安卓版本
本文通過示例公司演示了一些場景,以比較小型和大型組織處理部署的不同方式。書中提到了虛構的大公司LargeCorp還有虛構的小公司SmallCorp.使用這些例子作為一般指南,但每個公司都是不同的。如果您有問題,請聯係您的Databricks代表。
有關特定安全特性的詳細信息,請參見安全和遵從性指南.您的Databricks代表還可以為您提供額外的安全和遵從性文檔。
請注意
本文討論並非所有定價計劃、部署類型和地區都具有的一些特性。一些功能公共預覽.有關可用性的問題,請與您的Databricks代表聯係。
安全與信任中心
的數據庫安全與信任中心提供了關於在Databricks湖屋平台的每一層中內置安全性的方式的信息。Beplay体育安卓版本安全與信任中心提供信息,使您能夠在利用Databricks Lakehouse平台的同時,滿足您的監管需求。Beplay体育安卓版本在安全與信任中心可以找到以下類型的信息:
平台內建的安全和治理功能的概述和列表。Beplay体育安卓版本
關於平台在每個雲供應商上滿足的遵從性標準的信息。Beplay体育安卓版本
一個盡職調查包,幫助您評估Databricks如何幫助您滿足您的遵從性和監管需求。
Databricks的隱私準則及其執行方式的概述。
本文中的信息是安全與信任中心的補充。
項目計劃
與您的Databricks代表討論您想要的功能。它們將幫助您選擇定價計劃(定價層)和部署類型(標準或自定義)。並非所有特性都可用於所有層、部署類型和區域。看到Databricks AWS定價頁麵了解功能如何與定價計劃相一致。
本文假設您的帳戶位於該平台的最新(E2)版本上。Beplay体育安卓版本以下與安全相關的功能可能在一些遺留部署中不可用:
Customer-managed VPC:在AWS帳戶中部署Databricks工作空間。需要高級計劃。
安全集群連接: vpc無開放端口,Databricks Runtime集群節點無公網IP地址。對於平台的E2版本,默認情況下啟用了安全集群連通性。Beplay体育安卓版本需要高級計劃。
被管理服務的客戶管理鍵:使用您管理的AWS KMS密鑰加密筆記本和秘密數據。該特性在公共預覽需要企業計劃。
本文中討論的大多數其他與安全相關的特性都可以從Premium計劃中獲得。但是,有些要求企業計劃:
IP訪問列表:強製工作空間用戶的網絡位置。
單點登錄(SSO)適用於所有計劃。
工作區
Databricks工作空間是訪問Databricks資產的環境。工作區組織您的對象(筆記本電腦,庫,實驗)文件夾.您的工作區提供了訪問數據以及計算資源等集群而且工作.
確定您的組織將需要多少工作空間,哪些團隊需要協作,以及您對地理區域的需求。
像我們的例子SmallCorp這樣的小型組織可能隻需要一個或少量的工作空間。這可能也適用於一個相對獨立的大公司的單個部門。工作空間管理員可以是工作空間的普通用戶。在某些情況下,一個單獨的部門(IT/OpSec)可能承擔工作空間管理員的角色,根據企業治理策略進行部署,並管理權限、用戶和組。
像我們示例LargeCorp這樣的大型組織通常需要許多工作空間。LargeCorp已經有一個集中的組(IT/OpSec)來處理所有安全和管理功能。這個中心化的小組通常設置新的工作空間,並在整個公司實施安全控製。
大公司可能會創建獨立工作區的常見原因:
團隊處理不同級別的機密信息,可能包括個人身份信息。通過分隔工作空間,團隊將不同級別的機密資產分隔開來,而不會增加諸如訪問控製列表之類的複雜性。例如,LargeCorp財務團隊可以輕鬆地將其與財務相關的筆記本與其他部門使用的工作空間分開存儲。
簡化了對Databricks使用(DBUs)和雲計算的計費,將被收取回不同的預算。
團隊或數據源的地理區域變化。出於成本、網絡延遲或法律遵從性的考慮,一個地區的團隊可能更喜歡基於另一個地區的雲資源。每個工作區都可以在不同的受支持區域中定義。
工作區數據平麵vpc可以位於AWS區域中ap-northeast-1
,ap-northeast-2
,ap-south-1
,ap-southeast-1
,ap-southeast-2
,ca-central-1
,一來就
,eu-west-2
,eu-central-1
,us-east-1
,us-east-2
,us-west-1
,us-west-2
.,不能使用VPCus-west-1
如果你想用customer-managed鍵為加密。
盡管工作空間是按團隊、項目或地理位置隔離資源訪問的常用方法,但還有其他選項。有關Databricks上數據治理的概述,請參見數據治理指南.
計劃你的vpc
AWS虛擬私有雲VPC (Virtual Private Cloud)是指在AWS雲中提供一個邏輯上隔離的區域,在該區域內,您可以在虛擬網絡中啟動AWS資源。VPC是Databricks集群的網絡位置。默認情況下,Databricks為其工作空間創建並管理一個VPC。
使用Customer-managed VPC您可以提供自己的客戶管理VPC,為您的工作空間托管集群。您可以控製您的IP地址範圍、子網、路由表和NAT網關。
SmallCorp可能隻有一個客戶管理的VPC,用於Databricks的工作空間。如果有兩個或三個工作空間,根據網絡架構和區域的不同,它們可能共享一個VPC,也可能不共享多個工作空間。另外,SmallCorp也可以選擇使用Databricks創建和管理的VPC,在這種情況下,Databricks會自動創建VPC,但需要為SmallCorp提供給Databricks使用的跨帳戶IAM角色分配更多權限。
如果您的組織比較大,您可能需要為Databricks創建並指定一個客戶管理的VPC。您可以讓多個工作空間共享一個VPC,以簡化AWS的資源分配。或者,如果您的組織在不同的AWS帳戶和不同的區域中有vpc,您可能會以不同的方式分配工作空間和vpc。
像LargeCorp這樣的大公司可能會將多個工作空間分組到一個VPC中,原因之一是通過VPC集中配置類似的出口規則。例如,可能有五個部門工作在相似的數據源上,所以他們共享同一個VPC。然而,財務團隊中的數據分析師可能需要對特殊的內部數據庫進行特殊的網絡訪問,減少未經授權訪問的風險是至關重要的。通過在不同的vpc中分組和隔離團隊(可能在不同的AWS帳戶中),可以通過適當的雲NAT或防火牆設備在網絡級別上允許或阻止數據源。
在設計網絡體係結構並決定是否跨工作空間共享vpc時,請考慮如何鎖定從集群節點到各個數據源的出口網絡連接。
創建工作區
你可以使用賬戶控製台或者是賬戶API 2.0創建新的工作空間。或者,您可以使用自動化的模板使用terrform或AWS快速入門(CloudFormation)。
創建新工作區的一般方法是:
創建一個IAM跨帳戶角色(委托憑證),讓Databricks與工作區執行相關任務。接下來,使用帳戶控製台或帳戶API創建為新角色封裝id的憑據配置。
創建一個S3桶來存儲一些工作區數據,比如庫、日誌和筆記本修訂曆史。不要將此根存儲用於生產客戶數據。接下來,使用帳戶控製台或帳戶API創建封裝S3桶名的存儲配置。
可選提供客戶管理的VPC。如果您尚未為您的工作空間創建VPC,請立即創建,但請謹慎操作讀VPC需求在繼續之前。使用帳戶控製台或帳戶API創建封裝VPC、子網和安全組id的網絡配置。
可以提供被管理服務的客戶管理鍵而且工作空間存儲的客戶管理鍵.使用Account API提供包含AWS KMS密鑰ID的密鑰配置。
使用帳戶控製台或帳戶API創建引用配置對象的新工作區。
您可以通過重複該過程為您的帳戶創建多個工作區。有些資源(但不是全部)可以跨工作區共享:
您可以跨工作空間重用憑據配置。
您可以跨工作空間重用存儲配置。
VPC可以複用,但不能複用其他工作空間中的子網。由於網絡配置封裝了VPC的子網id,因此不能在其他工作空間重用網絡配置。
您可以跨工作空間共享客戶管理的密鑰。
完整的細節:
有關帳戶控製台,請參見使用帳戶控製台創建和管理工作空間.
關於帳戶API,請參見使用Account API創建一個新的工作空間.
身份驗證和用戶帳戶配置
默認情況下,用戶使用Databricks本地身份驗證進行身份驗證,這意味著本地用戶帳戶和憑證在Databricks控製平麵內進行管理。
大多數具有安全意識的組織都使用SAML 2.0實現單點登錄(SSO)。如果您的SAML 2.0身份驗證提供程序(IdP)支持多因素身份驗證(MFA),那麼它可以與Databricks一起工作,但IdP負責實現。Databricks不能訪問用戶的SSO憑據。看到設置單點登錄.
如果您啟用名為Allow Auto User Creation的SAML配置特性,則在SSO登錄期間將根據需要為用戶提供本地Databricks帳戶。這有時稱為即時(JIT)配置。
Databricks支持跨域身份管理係統(SCIM)。大多數國內流離失所者有內置的支持用戶和組的SCIM同步,它可以提供和取消Databricks帳戶。盡管您可以使用用戶名來管理Databricks資源(如筆記本)的訪問控製列表(acl),但是組的SCIM同步使得管理Databricks acl更加容易。看到訪問控製列表.SCIM可用為公共預覽.
啟用單點登錄時,默認行為為隻有admin用戶使用本地密碼才能登錄web應用。使用本地存儲的密碼進行登錄稱為本地身份驗證.對於REST api,默認行為是所有使用本地(本地身份驗證)密碼的用戶都可以進行身份驗證。管理員可以使用管理控製台或權限API 2.0設置密碼權限在啟用SSO時,限製哪些用戶可以連接本地認證(到web應用程序或REST API)。
如果你使用統一目錄(預覽)要在帳戶級別管理所有數據,可以使用帳戶級別身份,而不是工作區本地的標識。您可以手動或通過從您的IdP同步創建帳戶級別的身份。
安全API訪問
對於REST API身份驗證,請使用內置的可撤銷Databricks個人訪問令牌。用戶在web應用程序用戶界麵中創建個人訪問令牌。
有一個令牌管理API您可以使用它來查看當前Databricks個人訪問令牌、刪除令牌並設置新令牌的最大生存期。使用相關的權限API設置令牌的權限定義了哪些用戶可以創建和使用令牌來訪問工作區REST api。
使用令牌權限強製最小特權原則以便任何個人用戶或組隻有在他們有合法的需要時才能訪問REST api。
對於在Databricks平台3.28版本(2020年9月9日-15日)發布之後創建的工作區,默認情況下隻有管Beplay体育安卓版本理員用戶有能力生成個人訪問令牌。管理員必須顯式地授予這些權限,無論是否授予整個用戶
組或用戶或組的基礎上。在3.28之前創建的工作區維護在此更改之前已經存在的權限,但具有不同的默認值。如果不確定何時創建了工作區,請檢查該工作區的令牌權限。
有關令牌的api和管理控製台工具的完整列表,請參見管理個人訪問令牌.
請注意
雖然Databricks強烈建議使用令牌,但AWS上的Databricks用戶也可以使用他們的Databricks用戶名和密碼(本地身份驗證)訪問REST api。您可以使用禁用REST api的本機身份驗證密碼訪問控製並將訪問權限分配給單個用戶或組。配置在管理控製台和權限REST API中都可用。
IP訪問列表
身份驗證驗證用戶身份,但不強製執行用戶的網絡位置。從不安全的網絡訪問雲服務會帶來安全風險,特別是當用戶可能有權訪問敏感或個人數據時。企業網絡邊界(例如,防火牆、代理、DLP和日誌記錄)應用安全策略並限製對外部服務的訪問,因此超出這些控製的訪問被認為是不受信任的。
例如,如果一個員工從辦公室走到咖啡店,公司可以阻止到Databricks工作空間的連接,即使客戶擁有訪問web應用程序和REST API的正確憑證。
指定允許訪問的公網IP地址(或CIDR範圍)。這些IP地址可以屬於出口網關,也可以屬於特定的用戶環境。您還可以指定要阻止的IP地址或子網,即使它們包含在允許列表中。例如,允許的IP地址範圍可能包括較小範圍的基礎設施IP地址,這些IP地址實際上不在實際的安全網絡邊界之外。
有關詳細信息,請參見IP訪問列表.
審計和使用日誌
Databricks強烈建議您配置審計和使用日誌記錄,以監視您的Databricks用戶執行的活動和使用情況:
可計費的使用日誌交付:使用日誌自動交付到AWS S3桶。看到交付和訪問可計費的使用日誌.
審計日誌交付:審計日誌自動交付到AWS S3桶。看到配置審計日誌記錄.
必須與Databricks代表聯係,以便為新工作空間啟用審計日誌。在啟用它們之後,嚐試檢查您的審計日誌。的可計費使用日誌默認啟用並可在賬戶控製台但是您必須配置日誌傳遞到AWS S3桶,以獲取日誌文件本身。
集群政策
使用集群政策執行特定的集群設置,例如實例類型、節點數量、附加庫和計算成本,並為不同級別的用戶顯示不同的集群創建接口。使用策略管理集群配置可以幫助實施通用治理控製並管理計算基礎設施的成本。
像SmallCorp這樣的小型組織可能對所有集群都有一個單一的集群策略。
像LargeCorp這樣的大型組織可能有更複雜的政策,例如:
處理超大數據集和複雜計算的客戶數據分析師可能被允許擁有多達100個節點的集群。
財務團隊數據分析師可能被允許使用最多10個節點的集群。
處理更小數據集和更簡單筆記本的人力資源部門可能隻允許擁有4到8個節點的自動伸縮集群。
訪問控製列表
許多Databricks對象都具有訪問控製列表(acl),您可以使用它來控製對特定用戶和組的訪問。除以下信息外,請參見數據治理指南有關管理對組織數據的訪問的詳細信息。
訪問控製允許您為工作空間中的數據和對象應用數據治理控件。管理員可以使用管理控製台或權限API.
管理員還可以通過授予的方式將一些ACL配置委托給非管理員用戶可以管理
權限(例如,具有可以管理
集群的權限可以授予其他用戶附加、重新啟動、調整大小和管理該集群的權限。)
可以為用戶和組設置如下acl。除非另有說明,用戶可以通過web應用和REST API兩種方式修改acl:
對象 |
描述 |
---|---|
強製對數據表的訪問。 |
|
管理哪些用戶可以管理、重新啟動或附加到集群。當集群配置了數據源的直通身份驗證時,對集群的訪問會影響安全性,請參見數據源憑據傳遞. |
|
管理哪些用戶可以管理或附加到池。一些api和文檔將池稱為實例池.池通過維護一組空閑的、隨時可用的雲實例來減少集群啟動和自動伸縮時間。當連接到池的集群需要實例時,它首先嚐試分配池的一個空閑實例。如果池沒有空閑實例,它將通過從實例提供程序分配一個新實例來擴展,以適應集群的請求。當一個集群釋放一個實例時,它會返回到池中,供另一個集群使用。隻有附屬於池的集群才能使用池的空閑實例。 |
|
管理哪些用戶可以查看、管理、觸發、取消或擁有作業。 |
|
管理哪些用戶可以閱讀、運行、編輯或管理筆記本。 |
|
管理哪些用戶可以閱讀、運行、編輯或管理文件夾中的所有筆記本。 |
|
管理哪些用戶可以閱讀、編輯或管理MLflow注冊的模型和實驗。 |
|
管理哪些用戶可以創建或使用令牌。另請參閱安全API訪問 |
|
在啟用SSO和使用REST api時,管理哪些用戶可以使用密碼登錄。另請參閱身份驗證和用戶帳戶配置. |
根據團隊的大小和信息的敏感性,像SmallCorp這樣的小公司或LargeCorp內部擁有自己工作空間的小團隊可能允許所有非管理用戶訪問相同的對象,比如集群、作業、筆記本和目錄。
擁有非常敏感信息的大型團隊或組織可能希望使用所有這些訪問控製來執行最小特權原則這樣任何個人用戶都可以訪問隻有他們合法需要的資源。
例如,假設LargeCorp有三個人需要訪問財務團隊的特定工作區文件夾(其中包含筆記本和實驗)。LargeCorp可以使用這些api僅向財務數據團隊組授予目錄訪問權。
數據源憑據傳遞
IAM角色憑據傳遞允許用戶使用登錄Databricks時使用的身份自動對Databricks集群中的S3桶進行身份驗證。管理員創建IAM角色,將Databricks用戶映射到相應的角色,並將這些角色分配給集群。用戶在該集群上運行的命令可以使用其身份在S3中讀寫數據。
或者,您可以通過配置AWS來保護對S3桶的訪問實例配置文件並將其分配給集群訪問權限。這種方法的缺點是隻能向一個集群分配一個實例概要文件,需要訪問集群的任何人都必須訪問該實例概要文件。另一方麵,IAM角色憑證透傳,允許具有不同數據訪問策略的多個用戶共享一個Databricks集群訪問S3中的數據,同時保證數據的安全性。另一個優勢是數據治理。IAM角色憑據直通將用戶與身份關聯起來。這反過來又通過CloudTrail支持S3對象日誌記錄。所有S3訪問都通過CloudTrail日誌中的ARN直接綁定到用戶。看到使用實例配置文件安全訪問S3桶.
大公司可能想把他們的秘密放進去AWS秘密經理,創建一個訪問秘密的IAM角色,然後將該角色添加到集群IAM角色中。
有關更多信息和最佳實踐,請參見數據治理指南.
秘密
您可能還想使用秘密管理器來設置你期望你的筆記本需要的秘密.密鑰是一個鍵值對,用於存儲外部數據源或其他計算的密鑰材料,密鑰名在對象中是惟一的秘密的範圍.
可以使用REST API或CLI創建秘密,但必須使用秘密效用(dbutils.secrets)在筆記本或工作中閱讀你的秘密。
或者,大公司可能想把他們的秘密放進去AWS秘密經理,創建一個訪問秘密的IAM角色,然後將該角色添加到集群IAM角色中。看到使用實例配置文件安全訪問S3桶.