Databricks 第7篇:管理Secret

悅光陰發表於2021-01-20

Azure中的Secret是指密碼、憑證和金鑰等,舉個例子,使用Azure Databricks Secret來儲存憑證,並在notebook和job中引用它們,而不是直接在notebook中輸入憑據。

Secret Scope是Secret的集合,每一個Secret是由name唯一確定的。每一個Databricks 的workspace最多建立100個Secret Scope。Azure 支援兩種型別的Secret Scope:Azure Key Vault-backed 和 Databricks-backed。

  • 基於Azure Key Vault的Secret Scope:要引用儲存在Azure Key Vault中的Secret,可以建立基於Azure Key Vault的Secret Scope,基於Azure Key Vault的Secret Scope對於Key Vault來說是隻讀的。 
  • 基於Databricks的Secret Scope:基於Databricks的Secret Scope儲存在由Azure Databricks擁有和管理的加密資料庫中,Secret Scope的name在工作空間中必須唯一,必須包含字母數字字元,破折號,下劃線和句點,並且不得超過128個字元。名稱被認為是不敏感的,並且工作空間中的所有使用者都可以讀取。 

本文重點介紹基於Azure Key Vault的Secret Scope。

一,建立基於Azure Key Vault的Secret Scope

使用 Azure Portal UI建立Azure Key Vault-backed 的 secret scope。首先,在建立該型別的Secret Scope之前,確保對Azure Key Vault例項具有Contributor許可權。

開啟網頁“https://<databricks-instance>#secrets/createScope”,這個URL是大小寫敏感的,注意URL中的“createScope”,其中的“Scope”首字母必須是大寫的。

主要的配置選項:

  • Scope Name:指定Secret Scope的name,該名稱是大小寫敏感的。
  • Manage Principal:用於定義該Secret Scope的Manage Principal(擁有管理許可權的安全主體),選項All Users表示所有的使用者都有MANAGE許可權,選項Creator表示只有Secret Scope的建立者擁有MANAGE許可權。MANAGE許可權擁有對Secret Scope的讀寫許可權,推薦選項是Creator,把MANAGE許可權只授權給Creator。但是,使用者的賬戶必須具有Azure Databricks Premium Plan ,才可以選擇Creator。
  • DNS Name:是Vault URI,從Key Vault的Properties皮膚中可以檢視到。
  • Resource ID:從Azure Key Valut的屬性皮膚中可以檢視到Resource ID。

二,個人訪問Token

如果要訪問Databricks REST API,可以使用Databricks personal access tokens來進行許可權驗證。

點選Databricks 工作區右上角的user profile icon

點選“User Settings”,進入到“User Settings”頁面,在該頁面中點選“Generage New Token”生成新的Token。

注意:要把Token儲存起來,再次進入該頁面,Token不再可見。

三:配置Databricks CLI

使用Databricks CLI  (command-line interface)命令來驗證Secret Scope是否建立成功。

Step1:安裝Databricks CLI

pip install databricks-cli

檢視Databricks CLI是否安裝成功,可以執行Databricks CLI -h獲得help文件:

databricks -h

Step2:配置驗證資訊

輸入Databricks Host,並輸入生成的個人訪問Token

databricks configure --token
Databricks Host (should begin with https://):
Token:<personal-access-token>

Step3:檢視Secret Scope列表

databricks secrets list-scopes

Step4:刪除Secret Scope

注意:<scope-name>是大小寫敏感的。

databricks secrets delete-scope --scope <scope-name>

 

 

參考穩定:

Authentication using Azure Databricks personal access tokens

Secret management

Databricks CLI 

相關文章