安全概述
本文概述了用於部署和管理Databricks帳戶和工作空間的最重要的安全相關控件和配置。有關保護數據的信息,請參見數據治理指南。
請注意
本文的重點是最新(E2)版本Databricks平台。Beplay体育安卓版本這裏描述的某些特性在尚未遷移到E2平台的遺留部署上可能不受支持。Beplay体育安卓版本
本文使用示例公司演示了一些場景,以比較小型和大型組織處理部署的不同之處。書中提到了虛構的大公司LargeCorp還有虛構的小公司SmallCorp。把這些例子作為一般的指導,但每個公司都是不同的。如果您有任何問題,請聯係Databricks代表。
有關特定安全特性的詳細信息,請參見安全指南。您的Databricks代表還可以為您提供額外的安全性和遵從性文檔。
請注意
本文討論的一些特性並非在所有定價計劃、部署類型和地區上都可用。一些功能在公共預覽。有關可用性的問題,請聯係Databricks代表。
安全與信任中心
的數據安全與信任中心提供有關如何將安全性構建到Databricks Lakehouse平台的每一層的信息。Beplay体育安卓版本安全與信任中心提供的信息使您能夠在利用Databricks Lakehouse平台的同時滿足您的監管需求。Beplay体育安卓版本在安全與信任中心中查找以下類型的信息:
平台內置的安全和治理功能的概述和列表。Beplay体育安卓版本
關於平台在每個雲提供商上滿足的遵從性標準的信息。Beplay体育安卓版本
盡職調查包,幫助您評估Databricks如何幫助您滿足合規性和監管需求。
Databricks的隱私準則及其執行方式概述。
本文中的信息是對安全和信任中心的補充。
項目計劃
與您的Databricks代表討論您想要的功能。它們將幫助您選擇定價計劃(定價層)和部署類型(標準或自定義)。並非所有特性都適用於所有層、部署類型和區域。看到Databricks AWS定價頁麵了解功能如何與定價計劃相匹配。
本文假設您的帳戶使用的是平台的最新(E2)版本。Beplay体育安卓版本以下與安全相關的功能在某些遺留部署中可能不可用:
Customer-managed VPC:在AWS帳戶的VPC中部署Databricks工作空間。需要高級計劃。
安全的集群連接: vpc無開放端口,Databricks Runtime集群節點無公網IP地址。對於平台的E2版本,默認情況下啟用安全集群連接。Beplay体育安卓版本需要高級計劃。
用於托管服務的客戶管理密鑰:使用您管理的AWS KMS密鑰對筆記本和機密數據進行加密。此特性可在公共預覽並需要企業計劃。
本文討論的大多數其他與安全性相關的特性都可以在高級計劃中使用。但是,有些要求企業計劃:
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)允許您提供AWS雲的邏輯隔離部分,您可以在虛擬網絡中啟動AWS資源。VPC是Databricks集群的網絡位置。默認情況下,Databricks為其工作空間創建並管理一個VPC。
使用Customer-managed VPC特性,您可以提供您自己的客戶管理的VPC,為您的工作空間托管集群。您可以控製您的IP地址範圍、子網、路由表和NAT網關。
SmallCorp可能隻有一個由客戶管理的VPC用於Databricks工作空間。如果有兩個或三個工作區,根據網絡架構和區域的不同,它們可能與多個工作區共享一個VPC,也可能不共享。或者,SmallCorp可以選擇使用Databricks創建和管理的VPC,在這種情況下,Databricks自動創建VPC,但需要為SmallCorp提供的跨帳戶IAM角色分配更多權限。
如果您的組織比較大,您可能希望創建並指定一個由客戶管理的VPC供Databricks使用。您可以讓多個工作區共享一個VPC,以簡化AWS資源分配。或者,如果您的組織在不同的AWS帳戶和不同的區域中有vpc,則可以以不同的方式分配工作區和vpc。
LargeCorp這樣的大公司可能會將多個工作區分組在一個VPC中,原因之一是通過VPC集中配置類似的出口規則。例如,可能有五個部門使用相似的數據源,因此它們共享同一個VPC。然而,財務團隊中的數據分析師可能需要特殊的網絡訪問特殊的內部數據庫,這對於降低未經授權訪問的風險至關重要。通過在不同的vpc(可能在不同的AWS帳戶中)中對團隊進行分組和隔離,相應的雲NAT或防火牆設備可以在網絡級別上允許或阻止數據源。
在設計網絡體係結構並決定是否跨工作空間共享vpc時,請考慮如何鎖定從集群節點到各個數據源的出口網絡連接。
創建工作區
你可以使用賬戶控製台或者是帳戶API 2.0創建新的工作空間。或者,您可以使用自動化的模板使用Terraform或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憑據。看到設置單點登錄。
如果啟用名為“允許自動創建用戶”的SAML配置特性,則在單點登錄時將根據需要為用戶提供本地Databricks帳戶。這有時被稱為即時(JIT)配置。
Databricks支持跨域身份管理係統(SCIM)。大多數idp都內置支持用戶和組的SCIM同步,它支持Databricks帳戶的配置和取消配置。雖然可以使用用戶名管理Databricks資源(如筆記本)的訪問控製列表(acl),但組的SCIM同步使管理Databricks acl更加容易。看到訪問控製列表。SCIM可用為公共預覽。
啟用單點登錄後,默認行為為隻有admin用戶和本地密碼才能登錄web應用。使用本地存儲的密碼登錄稱為本地身份驗證。對於REST api,默認行為是所有具有本地(本地身份驗證)密碼的用戶都可以進行身份驗證。管理員可以使用管理控製台或權限API 2.0設置密碼權限當SSO啟用時,限製哪些用戶可以連接本地身份驗證(到web應用程序或REST API)。
如果你使用Unity目錄(預覽)要在帳戶級別管理所有數據,使用帳戶級別身份,而不是工作空間本地的標識。您可以手動創建帳戶級別的標識,也可以從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和日誌記錄)應用安全策略並限製對外部服務的訪問,因此超出這些控製的訪問被認為是不可信的。
例如,如果一名員工從辦公室走到咖啡店,即使客戶擁有訪問web應用程序和REST API的正確憑據,公司也可以阻止到Databricks工作空間的連接。
指定允許訪問的公網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用戶映射到相應的角色,並將這些IAM角色分配到集群。用戶在該集群上運行的命令可以使用他們的身份讀寫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桶的訪問。