Databricks 第7篇:管理Secret

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。api

  • 基於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」首字母必須是大寫的。spa

主要的配置選項:code

  • 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來進行權限驗證。blog

點擊Databricks 工做區右上角的user profile icontoken

點擊「User Settings」,進入到「User Settings」頁面,在該頁面中點擊「Generage New Token」生成新的Token。ip

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

三:配置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 

相關文章
相關標籤/搜索