被管理服務的客戶管理鍵
預覽
此功能已在公共預覽.
若要為托管服務使用客戶管理鍵,工作區必須位於Databricks平台的E2版本Beplay体育安卓版本或者使用Databricks為該特性啟用的自定義計劃。所有新的Databricks帳戶和大多數現有帳戶現在都是E2。如果您不確定您擁有的帳戶類型,請與您的Databricks代表聯係。
工作區數據平麵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有兩個由客戶管理的關鍵特性。要比較它們,請參見用於加密的客戶管理密鑰.
管理Databricks中的服務數據控製飛機靜止時加密。您可以為托管服務添加客戶管理密鑰,以幫助保護和控製對以下類型加密數據的訪問:
筆記本來源在數據庫控製飛機.
筆記本的筆記本結果以交互方式(而不是作為作業)運行,並存儲在控製平麵中。默認情況下,較大的結果也存儲在工作區根桶中。可以將Databricks配置為將所有交互式筆記本結果存儲在雲帳戶中.
秘密儲存在秘密管理器api.
磚的SQL查詢和查詢曆史.
在為工作空間添加客戶管理密鑰加密後,Databricks將使用您的密鑰來控製對密鑰的訪問,該密鑰將加密對工作空間的受管理服務數據的未來寫操作。現有數據不會重新加密。數據加密密鑰緩存在內存中,用於多次讀和寫操作,並定期從內存中取出。對該數據的新請求需要向雲服務的密鑰管理係統發出另一個請求。如果刪除或撤銷密鑰,則在緩存時間間隔結束時,對受保護數據的讀寫將失敗。
您可以稍後旋轉(更新)客戶管理的密鑰。看到為正在運行的工作區上的受管服務添加或旋轉客戶管理鍵.
您可以選擇在兩個不同的加密用例之間共享Databricks密鑰配置對象(它引用您的密鑰):此功能(托管服務)和工作空間存儲的客戶管理鍵.注意,在這兩種情況下,您都可以在期間將密鑰及其Databricks密鑰配置添加到Databricks工作空間工作區創建或者稍後再添加,但隻支持托管服務稍後旋轉(更新)密鑰.
請注意
的外部存儲的數據不加密控製飛機.另外,你可以加密根S3桶中的數據和Classic數據平麵中的集群EBS卷.
向新的工作區添加用於托管服務的客戶管理鍵
方法創建工作區時,若要為受管服務添加客戶管理密鑰,則必須添加該密鑰賬戶API.你也可以使用磚起程拓殖的提供者而且databricks_mws_customer_managed_keys.
創建一個關鍵
配置客戶管理密鑰:
為新工作區注冊一個鍵
要為新工作區注冊密鑰,請遵循中的說明使用Account API創建一個新的工作空間,特別是步驟5:配置客戶管理的密鑰(可選).
這些說明說明了如何有選擇地共享此密鑰加密工作區存儲.
為正在運行的工作區上的受管服務添加或旋轉客戶管理鍵
您可以添加一個客戶管理密鑰,或者在運行的工作區上為托管服務旋轉(更新)一個現有的客戶管理密鑰補丁
請求用新的鍵配置ID更新工作區。
如果向正在運行的工作空間中添加受管服務的客戶管理密鑰,Databricks將使用它對受管服務數據進行將來的寫操作。導出並重新導入筆記本電腦以更新其存儲。現有數據不會重新加密。
客戶管理的加密密鑰有兩種用例:
您可以選擇配置其中任何一個、一個或兩個。如果您選擇為這兩個用例實現加密,那麼您可以有選擇地為這些用例共享密鑰,甚至有選擇地共享相同的配置對象。
在添加鍵的時候,這兩個用例之間有重要的區別:
對於用於托管服務的客戶管理密鑰,您可以在工作空間創建期間配置它,將密鑰添加到正在運行的工作空間,或者稍後旋轉(更新)密鑰。
對於用於存儲的客戶管理密鑰,您可以在工作空間創建期間配置它向正在運行的工作區添加鍵,但你不能稍後旋轉(更新)密鑰。
您可以跨工作空間共享客戶管理的密鑰或其密鑰配置對象。當創建一個新的工作空間時,一個密鑰配置可以通過設置它來表示兩個加密用例use_cases
字段以包含兩個枚舉值。
要使用相同的密鑰實現一個加密用例或兩個加密用例,隻執行一次以下過程。要為具有不同密鑰的兩個加密用例添加加密,請執行該過程兩次,每個用例一次。
創建AWS KMS密鑰。遵循以下任何一節中的說明,它們僅在人類可讀的描述字段(
sid
),以識別用例。為創建密鑰管理服務或工作區存儲.要共享兩個用例的密鑰和配置,請更新sid
相應的字段。若要在Databricks注冊您的KMS密鑰,請致電創建客戶管理的密鑰配置API(
帖子/賬戶/ <帳戶id > / customer-managed-keys
).傳遞以下參數:
use_cases
—指定使用該鍵的用例的數組,指定以下一種或兩種:MANAGED_SERVICES
:管理服務加密,包括控製平麵的notebook、secret、Databricks SQL查詢數據。存儲
:該密鑰用於加密工作區存儲,其中包括工作區的DBFS根卷和集群EBS卷。
aws_key_info
:具有以下屬性的JSON對象:key_arn
: AWS KMS密鑰ARN。注意,Databricks從密鑰ARN推斷AWS區域。key_alias
: (可選AWS KMS密鑰別名。reuse_key_for_cluster_volumes
: (可選)僅在use_cases
數組中包含了存儲
,這指定是否也使用密鑰加密集群EBS卷。默認值為真正的
,這意味著Databricks也對集群卷使用該密鑰。如果你把它設為假
, Databricks不使用指定的密鑰加密EBS卷。在這種情況下,您的Databricks EBS卷使用默認的AWS SSE加密或啟用了加密默認情況下AWS帳戶級別的EBS加密, AWS使用您提供給它們的單獨密鑰強製執行帳戶級別的EBS加密。注意,如果reuse_key_for_cluster_volumes
是真正的
如果您撤銷該密鑰的權限,則不會影響正在運行的集群,但會影響新的和重新啟動的集群。
示例請求:
curl -X POST -n\“https://accounts.cloud.www.eheci.com/api/2.0/accounts/ < databricks-account-id > / customer-managed-keys '\- d”{“use_cases”:“MANAGED_SERVICES”、“存儲”," aws_key_info ": {:“key_arn攻擊:aws:公裏:<地區>:< aws-account-id >:鍵/ <鍵id >”,:“key_alias my-example-key”,“reuse_key_for_cluster_volumes”:真的}} '
示例響應:
{“use_cases”:[“MANAGED_SERVICES”,“存儲”],“customer_managed_key_id”:“< databricks-key-config-id >”,“creation_time”:1586447506984,“account_id”:“< databricks-account-id >”,“aws_key_info”:{“key_arn”:“攻擊:aws:公裏:<地區>:< aws-account-id >:鍵/ <鍵id >”,“key_alias”:“my-example-key”,“reuse_key_for_cluster_volumes”:真正的,“key_region”:地區“< >”}}
從響應JSON中複製
customer_managed_key_id
.在下一步中使用該ID設置工作區配置對象的屬性managed_services_customer_managed_key_id
,storage_customer_managed_key_id
或者兩者都有,這取決於此對象表示的加密用例。請注意
如果您計劃為兩個CMK用例添加密鑰,請注意,在您已經設置了密鑰之後,工作區存儲加密不能旋轉(更新)。不要嚐試旋轉工作空間存儲的現有鍵。
終止所有正在運行的集群、池和SQL倉庫。
使用Account API使用您的關鍵配置更新工作區。使用磚賬戶API 2.0更新您的工作空間。
重要的
在運行密鑰旋轉命令後,必須使您的舊KMS密鑰對Databricks可用24小時。
調用Account API操作更新一個工作區(
補丁/賬戶/ {account_id} /工作區/ {workspace_id}
).要為托管服務添加鍵,惟一必需的參數是
managed_services_customer_managed_key_id
.將其設置為JSON響應注冊關鍵配置.例如:
curl -X PATCH -n\“https://accounts.cloud.www.eheci.com/api/2.0/accounts/ < databricks-account-id > /工作區/ < workspace-id >”\- d”{:“managed_services_customer_managed_key_id < databricks-key-config-id >”,} '
請注意
如果您計劃為這兩個用例添加密鑰,還需要設置
storage_customer_managed_key_id
變量設置為相同值。如果您同時為托管服務和存儲用例添加鍵,請在API更新後至少等待20分鍾再繼續。在此期間,您不能啟動任何集群或使用DBFS API。如果僅為托管服務用例添加密鑰,則可以省略20分鍾的等待時間。
重新啟動在上一步中終止的所有集群、池和SQL倉庫。